aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2018-03-18 08:04:23 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2018-03-18 08:04:23 +0000
commita18251e55dfe905bc0d41844e9f0b011a6d59faa (patch)
treec6b582f877ff7cc2d4a5529f1fbeb43eaddc8d15
parent8a2f2148361d318ff2991012b8ad9930d6cabf58 (diff)
downloadChibiOS-a18251e55dfe905bc0d41844e9f0b011a6d59faa.tar.gz
ChibiOS-a18251e55dfe905bc0d41844e9f0b011a6d59faa.tar.bz2
ChibiOS-a18251e55dfe905bc0d41844e9f0b011a6d59faa.zip
Fixed problems introduced in the CAN driver.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11810 110e8d01-0319-4d1e-a829-52ad28d1bb01
-rw-r--r--os/hal/include/hal_can.h2
-rw-r--r--os/hal/ports/STM32/LLD/CANv1/hal_can_lld.h6
-rw-r--r--os/hal/src/hal_can.c10
3 files changed, 9 insertions, 9 deletions
diff --git a/os/hal/include/hal_can.h b/os/hal/include/hal_can.h
index 61bd8b1be..6b41d8065 100644
--- a/os/hal/include/hal_can.h
+++ b/os/hal/include/hal_can.h
@@ -143,7 +143,7 @@ typedef enum {
* @name Low level driver helper macros
* @{
*/
-#if CAN_ENFORCE_USE_CALLBACKS == FALSE
+#if (CAN_ENFORCE_USE_CALLBACKS == FALSE) || defined(__DOXYGEN__)
/**
* @brief TX mailbox empty event.
*/
diff --git a/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.h b/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.h
index 89050569d..4c95dfda0 100644
--- a/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.h
+++ b/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.h
@@ -198,7 +198,7 @@ typedef struct CANDriver CANDriver;
*/
typedef uint32_t canmbx_t;
-#if defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
+#if (CAN_ENFORCE_USE_CALLBACKS == TRUE) || defined(__DOXYGEN__)
/**
* @brief Type of a CAN notification callback.
*
@@ -342,7 +342,7 @@ struct CANDriver {
* @brief Receive threads queue.
*/
threads_queue_t rxqueue;
-#if !defined(CAN_ENFORCE_USE_CALLBACKS)
+#if (CAN_ENFORCE_USE_CALLBACKS == FALSE) || defined(__DOXYGEN__)
/**
* @brief One or more frames become available.
* @note After broadcasting this event it will not be broadcasted again
@@ -382,7 +382,7 @@ struct CANDriver {
*/
event_source_t wakeup_event;
#endif /* CAN_USE_SLEEP_MODE */
-#else /* defined(CAN_ENFORCE_USE_CALLBACKS) */
+#else /* CAN_ENFORCE_USE_CALLBACKS == TRUE */
/**
* @brief One or more frames become available.
* @note After calling this function it will not be called again
diff --git a/os/hal/src/hal_can.c b/os/hal/src/hal_can.c
index 257ad4e81..031e5dee2 100644
--- a/os/hal/src/hal_can.c
+++ b/os/hal/src/hal_can.c
@@ -71,7 +71,7 @@ void canObjectInit(CANDriver *canp) {
canp->config = NULL;
osalThreadQueueObjectInit(&canp->txqueue);
osalThreadQueueObjectInit(&canp->rxqueue);
-#if !defined(CAN_ENFORCE_USE_CALLBACKS)
+#if CAN_ENFORCE_USE_CALLBACKS == FALSE
osalEventObjectInit(&canp->rxfull_event);
osalEventObjectInit(&canp->txempty_event);
osalEventObjectInit(&canp->error_event);
@@ -79,14 +79,14 @@ void canObjectInit(CANDriver *canp) {
osalEventObjectInit(&canp->sleep_event);
osalEventObjectInit(&canp->wakeup_event);
#endif
-#else /* defined(CAN_ENFORCE_USE_CALLBACKS) */
+#else /* CAN_ENFORCE_USE_CALLBACKS == TRUE */
canp->rxfull_cb = NULL;
canp->txempty_cb = NULL;
canp->error_cb = NULL;
#if CAN_USE_SLEEP_MODE == TRUE
canp->wakeup_cb = NULL;
#endif
-#endif /* defined(CAN_ENFORCE_USE_CALLBACKS) */
+#endif /* CAN_ENFORCE_USE_CALLBACKS == TRUE */
}
/**
@@ -336,7 +336,7 @@ void canSleep(CANDriver *canp) {
if (canp->state == CAN_READY) {
can_lld_sleep(canp);
canp->state = CAN_SLEEP;
-#if !defined(CAN_ENFORCE_USE_CALLBACKS)
+#if CAN_ENFORCE_USE_CALLBACKS == FALSE
osalEventBroadcastFlagsI(&canp->sleep_event, (eventflags_t)0);
osalOsRescheduleS();
#endif
@@ -361,7 +361,7 @@ void canWakeup(CANDriver *canp) {
if (canp->state == CAN_SLEEP) {
can_lld_wakeup(canp);
canp->state = CAN_READY;
-#if !defined(CAN_ENFORCE_USE_CALLBACKS)
+#if CAN_ENFORCE_USE_CALLBACKS == FALSE
osalEventBroadcastFlagsI(&canp->wakeup_event, (eventflags_t)0);
osalOsRescheduleS();
#endif