Common functions and data structures used in every node in the CAN library.
More...
#include <stdint.h>
#include "common/freertos/freertos.h"
#include "common/phal/can.h"
Go to the source code of this file.
|
| #define | DEFINE_CAN_TASKS() |
| |
| #define | START_CAN_TASKS() |
| |
|
#define | CAN_TX_QUEUE_LENGTH (32) |
| |
|
#define | CAN_RX_QUEUE_LENGTH (32) |
| |
|
#define | NVIC_RX_IRQ_PRIO (6) |
| |
|
#define | NVIC_TX_IRQ_PRIO (7) |
| |
|
| enum | CAN_peripheral_t : uint8_t { CAN_PERIPHERAL1 = 0
, CAN_PERIPHERAL2 = 1
, CAN_NUM_PERIPHERALS = 2
, CAN_PERIPHERAL_INVALID = 0xFF
} |
| |
|
|
void | CAN_enqueue_tx (CanMsgTypeDef_t *msg) |
| |
|
void | CAN_tx_update (void) |
| |
|
void | CAN_rx_update (void) |
| |
|
bool | CAN_init (void) |
| |
|
void | CAN_enable_IRQs (void) |
| |
|
void | CAN_rx_init (void) |
| |
|
void | CAN_tx_init (void) |
| |
|
|
volatile can_stats_t | can_stats |
| |
|
volatile uint32_t | last_can_rx_time_ms |
| |
|
QueueHandle_t | can_rx_queue |
| |
|
QueueHandle_t | can_tx_queues [CAN_NUM_PERIPHERALS] |
| |
Common functions and data structures used in every node in the CAN library.
- Author
- Irving Wang (irvin.nosp@m.gw@p.nosp@m.urdue.nosp@m..edu)
◆ DEFINE_CAN_TASKS
| #define DEFINE_CAN_TASKS |
( |
| ) |
|
Value: DEFINE_TASK(CAN_rx_update, 0, osPriorityHigh, STACK_2048); \
DEFINE_TASK(CAN_tx_update, 0, osPriorityHigh, STACK_1024);
#define DEFINE_TASK(NAME, PERIOD_MS, PRIORITY, STACK_SIZE)
Scaffolds the static memory for a FreeRTOS task.
Definition freertos.h:62
◆ START_CAN_TASKS
| #define START_CAN_TASKS |
( |
| ) |
|
Value:
START_TASK(CAN_tx_update); \
CAN_enable_IRQs();
#define START_TASK(NAME)
Initializes and starts the defined task.
Definition freertos.h:87