aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32/f1/can.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stm32/f1/can.c')
-rw-r--r--lib/stm32/f1/can.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/stm32/f1/can.c b/lib/stm32/f1/can.c
index 9bd23cb..2131fd1 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;
+ }
+}