mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/CAN-Demo.git
synced 2025-09-29 00:37:33 +00:00
Working receive and handling of control signals
This commit is contained in:
@@ -29,14 +29,10 @@
|
||||
#define STA_RTOS_SYSTEM_EVENTS_ENABLE
|
||||
// #define STA_RTOS_SYSTEM_WATCHDOG_ENABLE
|
||||
// #define STA_RTOS_WATCHDOG_ENABLE
|
||||
// #define STA_CAN_BUS_ENABLE
|
||||
|
||||
|
||||
// Settings for TACOS
|
||||
#define STA_TACOS_MANAGER_PRIORITY osPriorityNormal
|
||||
#define STA_TACOS_STATEMACHINE_PRIORITY osPriorityNormal
|
||||
|
||||
// Statemachine settings. Here, we only have a single state which is also the initial state.
|
||||
// Uses the default configuration for TACOS.
|
||||
#include<sta/tacos/configs/default.hpp>
|
||||
#define STA_TACOS_NUM_STATES 3
|
||||
#define STA_TACOS_INITIAL_STATE 0
|
||||
|
||||
#endif /* INC_STA_CONFIG_HPP_ */
|
||||
|
@@ -46,18 +46,55 @@ namespace demo
|
||||
|
||||
STA_DEBUG_PRINTLN("WAITING");
|
||||
HAL_CAN_GetRxMessage(&hcan1, CAN_RX_FIFO0, &rxHeader, canRX);
|
||||
STA_DEBUG_PRINTLN("RECEIVED");
|
||||
|
||||
uint8_t type_id, sensor_ID, value, include;
|
||||
|
||||
unpackValues(canRX[0], &type_id, &sensor_ID, &value, &include);
|
||||
|
||||
if (type_id == 0 && sensor_ID == 1){
|
||||
if (value == 0){
|
||||
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_8, GPIO_PIN_RESET);
|
||||
}else{
|
||||
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_8, GPIO_PIN_SET);
|
||||
if (type_id == 0){
|
||||
if (sensor_ID == 1){
|
||||
|
||||
STA_DEBUG_PRINTLN("Relay 1 triggered");
|
||||
if(value == 1){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2, GPIO_PIN_SET);
|
||||
} else if(value == 0){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2, GPIO_PIN_RESET);
|
||||
}
|
||||
|
||||
}else if (sensor_ID == 2){
|
||||
|
||||
STA_DEBUG_PRINTLN("Relay 2 triggered");
|
||||
if(value == 1){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1, GPIO_PIN_SET);
|
||||
} else if(value == 0){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1, GPIO_PIN_RESET);
|
||||
}
|
||||
}else if (sensor_ID == 3){
|
||||
|
||||
STA_DEBUG_PRINTLN("Relay 3 triggered");
|
||||
if(value == 1){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0, GPIO_PIN_SET);
|
||||
} else if(value == 0){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0, GPIO_PIN_RESET);
|
||||
}
|
||||
}else if (sensor_ID == 4){
|
||||
|
||||
STA_DEBUG_PRINTLN("Relay 4 triggered");
|
||||
if(value == 1){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3, GPIO_PIN_SET);
|
||||
} else if(value == 0){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3, GPIO_PIN_RESET);
|
||||
}
|
||||
}else if (sensor_ID == 5){
|
||||
|
||||
STA_DEBUG_PRINTLN("Relay 5 triggered");
|
||||
if(value == 1){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6, GPIO_PIN_SET);
|
||||
} else if(value == 0){
|
||||
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6, GPIO_PIN_RESET);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
HAL_Delay(1000);
|
||||
|
Reference in New Issue
Block a user