From dd5e797d6187a48ed944a5f34630f200e9fc8649 Mon Sep 17 00:00:00 2001 From: Jeff Ciesielski Date: Mon, 22 Oct 2012 13:26:58 -0700 Subject: [PATCH] stm32/f1/can: Add function to detect if can system has an available mailbox --- lib/stm32/f1/can.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/stm32/f1/can.c b/lib/stm32/f1/can.c index 9bd23cb3..2131fd1e 100644 --- a/lib/stm32/f1/can.c +++ b/lib/stm32/f1/can.c @@ -313,3 +313,16 @@ void can_receive(u32 canport, u8 fifo, bool release, u32 *id, bool *ext, if (release) can_fifo_release(CAN1, 0); } + +bool can_available_mailbox(u32 canport) +{ + if ((CAN_TSR(canport) & CAN_TSR_TME0) == CAN_TSR_TME0) { + return true; + } else if ((CAN_TSR(canport) & CAN_TSR_TME1) == CAN_TSR_TME1) { + return true; + } else if ((CAN_TSR(canport) & CAN_TSR_TME2) == CAN_TSR_TME2) { + return true; + } else { + return false; + } +}