Merge pull request 'Implement CAN bus reading with CMSIS-RTOS-V2' (#14) from j1939 into main #14
@@ -3,6 +3,17 @@
|
||||
|
||||
#include "main.h"
|
||||
|
||||
/* Decladerations for thread handles and attributes */
|
||||
extern osThreadId_t vCAN1_rx;
|
||||
extern osThreadId_t vCAN2_rx;
|
||||
extern osThreadId_t vLED_CAN1_Heartbeat;
|
||||
extern osThreadId_t vLED_CAN2_Heartbeat;
|
||||
|
||||
extern const osThreadAttr_t vCAN1_rx_attributes;
|
||||
extern const osThreadAttr_t vCAN2_rx_attributes;
|
||||
extern const osThreadAttr_t vLED_CAN1_Heartbeat_attributes;
|
||||
extern const osThreadAttr_t vLED_CAN2_Heartbeat_attributes;
|
||||
|
||||
/**
|
||||
* @brief Initializes the CAN logger modules, OS threads, queues, and hardware.
|
||||
* @param hcan1 Pointer to the CAN1 handle
|
||||
|
||||
+27
-10
@@ -5,27 +5,44 @@
|
||||
extern CAN_HandleTypeDef hcan1;
|
||||
extern CAN_HandleTypeDef hcan2;
|
||||
|
||||
/* Definitions for canBus1Listen */
|
||||
osThreadId_t canBus1ListenHandle;
|
||||
const osThreadAttr_t canBus1Listen_attributes = {
|
||||
.name = "canBus1Listen",
|
||||
/* FreeRTOS task definitions */
|
||||
|
||||
/* Definitions for CAN1rx incoming */
|
||||
osThreadId_t vCAN1_rx;
|
||||
const osThreadAttr_t vCAN1_rx_attributes = {
|
||||
.name = "vCAN1_rx",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityRealtime1,
|
||||
};
|
||||
/* Definitions for canBus2Listen */
|
||||
osThreadId_t canBus2ListenHandle;
|
||||
const osThreadAttr_t canBus2Listen_attributes = {
|
||||
.name = "canBus2Listen",
|
||||
|
||||
/* Definitions for CAN2rx incoming*/
|
||||
osThreadId_t vCAN2_rx;
|
||||
const osThreadAttr_t vCAN2_rx_attributes = {
|
||||
.name = "vCAN2_rx",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityRealtime,
|
||||
};
|
||||
|
||||
/* Definitions for CAN1 LED heartbeat */
|
||||
osThreadId_t vLED_CAN1_Heartbeat;
|
||||
const osThreadAttr_t vLED_CAN1_Heartbeat_attributes = {
|
||||
.name = "vLED_CAN1_HeartbeatTask",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityLow1,
|
||||
};
|
||||
|
||||
/* Definitions for CAN2 LED heartbeat */
|
||||
osThreadId_t vLED_CAN2_Heartbeat;
|
||||
const osThreadAttr_t vLED_CAN2_Heartbeat_attributes = {
|
||||
.name = "vLED_CAN2_HeartbeatTask",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityLow,
|
||||
};
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void CAN_Logger_Init(CAN_HandleTypeDef *hcan1, CAN_HandleTypeDef *hcan2){}
|
||||
static void CAN_Listen(void *argument){}
|
||||
|
||||
|
||||
|
||||
/* BEGIN vCAN_log */
|
||||
/**
|
||||
* @brief Log incoming CAN bus traffic.
|
||||
|
||||
+3
-34
@@ -49,40 +49,6 @@ SD_HandleTypeDef hsd;
|
||||
DMA_HandleTypeDef hdma_sdio_rx;
|
||||
DMA_HandleTypeDef hdma_sdio_tx;
|
||||
|
||||
/* FreeRTOS task definitions */
|
||||
|
||||
/* Definitions for CAN1rx incoming */
|
||||
osThreadId_t vCAN1_rx;
|
||||
const osThreadAttr_t vCAN1_rx_attributes = {
|
||||
.name = "vCAN1_rx",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityRealtime1,
|
||||
};
|
||||
|
||||
/* Definitions for CAN2rx incoming*/
|
||||
osThreadId_t vCAN2_rx;
|
||||
const osThreadAttr_t vCAN2_rx_attributes = {
|
||||
.name = "vCAN2_rx",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityRealtime,
|
||||
};
|
||||
|
||||
/* Definitions for CAN1 LED heartbeat */
|
||||
osThreadId_t vLED_CAN1_Heartbeat;
|
||||
const osThreadAttr_t vLED_CAN1_Heartbeat_attributes = {
|
||||
.name = "vLED_CAN1_HeartbeatTask",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityLow1,
|
||||
};
|
||||
|
||||
/* Definitions for CAN2 LED heartbeat */
|
||||
osThreadId_t vLED_CAN2_Heartbeat;
|
||||
const osThreadAttr_t vLED_CAN2_Heartbeat_attributes = {
|
||||
.name = "vLED_CAN2_HeartbeatTask",
|
||||
.stack_size = 128 * 4,
|
||||
.priority = (osPriority_t) osPriorityLow,
|
||||
};
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
|
||||
/* USER CODE END PV */
|
||||
@@ -97,6 +63,9 @@ static void MX_SDIO_SD_Init(void);
|
||||
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
void vCAN_log(void *argument);
|
||||
void vLED_HeartbeatOnCanRx(void *argument);
|
||||
|
||||
/* USER CODE END PFP */
|
||||
|
||||
/* Private user code ---------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user