Working fork to test F0 application

Dependents:   ppCANOpen_Example

Fork of CANnucleo by Zoltan Hudak

Revision:
14:0344705e6fb8
Parent:
11:439f3a34c42e
diff -r a3e2be3d49a2 -r 0344705e6fb8 CAN.cpp
--- a/CAN.cpp	Wed Dec 23 10:37:01 2015 +0000
+++ b/CAN.cpp	Sun Dec 27 09:02:47 2015 +0000
@@ -177,6 +177,10 @@
  *
  * To compare only the bits representing STID we set the filter mask adequately:
  * Filter mask = 11111111 11100000 00000000 00000100 = 0xFFE00004
+ *               |||||||| |||                    |
+ *               -------- ---                    |
+ *                   |     |                     |
+ *            STID[10:3]  STID[2:0]             IDE   
  *
  * Keep in mind that filter #0 was already set up in the constructor to receive all CAN messages by default.
  * So we have to reconfigure it. If we were set up filter #1 here then filter #0 would receive all the messages
@@ -185,7 +189,7 @@
  * To set up filter #0 we call:
  *     can.filter(0x0207 << 21, 0xFFE00004, CANAny, 0);
  *
- *             Only these bits of filter id are compared with the corresponding
+ *             Only these bits (set to 1) of filter id are compared with the corresponding
  *             bits of received message (the others are disregarded)
  *                                |
  *                 ---------------------------------
@@ -205,7 +209,7 @@
  *                             ||||| |||||||| ||||| ||
  *                             -----------------------
  *                                         |
- *                          These bits are disregarded (masked).
+ *                          These bits (set to 0 in filter mask) are disregarded (masked).
  *                          They can have arbitrary values.
  *
  * NOTE: For the meaning of individual bits see the mapping of 32-bits explained above.
@@ -229,20 +233,12 @@
  * @retval
  */
 void CAN::attach(void (*fptr) (void), IrqType type) {
-#if defined(TARGET_NUCLEO_F103RB)
-    HAL_NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
-#elif defined(TARGET_NUCLEO_F303RE)
-    HAL_NVIC_DisableIRQ(CAN_RX1_IRQn);
-#endif
+    HAL_NVIC_DisableIRQ(CAN_IRQ);
     if(fptr) {
         can_irq_set(fptr);
     }
     can_irq_init(&_can, &CAN::_irq_handler, (uint32_t) this);
-#if defined(TARGET_NUCLEO_F103RB)
-     HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);
-#elif defined(TARGET_NUCLEO_F303RE)
-    HAL_NVIC_EnableIRQ(CAN_RX1_IRQn);
-#endif
+    HAL_NVIC_EnableIRQ(CAN_IRQ);
 }
 
 /**