mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/CAN-Demo.git
synced 2025-06-10 02:55:59 +00:00
Working CAN communication with forwarding to tasks
This commit is contained in:
parent
7732fa2823
commit
fd7c123a5e
44
.mxproject
44
.mxproject
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
635E684B79701B039C64EA45C3F84D30=44DBEC1DE4EBA9B0485911FBE58BFC80
|
||||
66BE74F758C12D739921AEA421D593D3=3
|
||||
8DF89ED150041C4CBC7CB9A9CAA90856=7B5B92F1162457C6ECACD202698061B0
|
||||
DC22A860405A8BF2F2C095E5B6529F12=3C8525AE6BF206AA629BF4979058680C
|
||||
DC22A860405A8BF2F2C095E5B6529F12=7B5B92F1162457C6ECACD202698061B0
|
||||
eclipse.preferences.version=1
|
||||
|
@ -32,7 +32,7 @@ namespace sta
|
||||
// ###### Register different threads for different states here. ######
|
||||
|
||||
// The dummy task runs for state 0.
|
||||
Manager::instance()->registerThread(std::make_shared<demo::CanTask>("CAN test", 0x22), {ALL_STATES});
|
||||
Manager::instance()->registerThread(std::make_shared<demo::CanTask>("CAN test", 0x123), {ALL_STATES});
|
||||
|
||||
STA_DEBUG_PRINTF("The answer to everything is %d", 42);
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace demo
|
||||
|
||||
void CanTask::func()
|
||||
{
|
||||
STA_DEBUG_PRINTLN("Can Task awaiting message");
|
||||
//STA_DEBUG_PRINTLN("Can Task awaiting message");
|
||||
if (CAN_queue_.available() > 0)
|
||||
{
|
||||
// Receiving message
|
||||
@ -35,9 +35,16 @@ namespace demo
|
||||
CAN_queue_.get(&msg);
|
||||
STA_DEBUG_PRINTLN("Can Task received message");
|
||||
|
||||
// Sending it back
|
||||
// Sending it back with one changed bit
|
||||
msg.payload[1] = 3;
|
||||
msg.header.sid = getCanID();
|
||||
msg.header.eid = 0;
|
||||
msg.header.format = 0;
|
||||
|
||||
sta::tacos::queueCanBusMsg(msg, 0);
|
||||
STA_DEBUG_PRINTLN("Can Task sent message");
|
||||
|
||||
HAL_Delay(500);
|
||||
}
|
||||
}
|
||||
} // namespace demo
|
||||
|
@ -40,7 +40,7 @@
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
|
||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkenable_rtos" value="false"/>
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{"fVersion":1,"fItems":[{"fDisplayName":"Reset","fIsSuppressible":false,"fResetAttribute":"Software system reset","fResetStrategies":[{"fDisplayName":"Software system reset","fLaunchAttribute":"system_reset","fGdbCommands":["monitor reset\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Hardware reset","fLaunchAttribute":"hardware_reset","fGdbCommands":["monitor reset hardware\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Core reset","fLaunchAttribute":"core_reset","fGdbCommands":["monitor reset core\n"],"fCmdOptions":["-g"]},{"fDisplayName":"None","fLaunchAttribute":"no_reset","fGdbCommands":[],"fCmdOptions":["-g"]}],"fGdbCommandGroup":{"name":"Additional commands","commands":[]},"fStartApplication":true}]}"/>
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{"fVersion":1,"fItems":[{"fDisplayName":"Reset","fIsSuppressible":false,"fResetAttribute":"Software system reset","fResetStrategies":[{"fDisplayName":"Software system reset","fLaunchAttribute":"system_reset","fGdbCommands":["monitor reset\r\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Hardware reset","fLaunchAttribute":"hardware_reset","fGdbCommands":["monitor reset hardware\r\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Core reset","fLaunchAttribute":"core_reset","fGdbCommands":["monitor reset core\r\n"],"fCmdOptions":["-g"]},{"fDisplayName":"None","fLaunchAttribute":"no_reset","fGdbCommands":[],"fCmdOptions":["-g"]}],"fGdbCommandGroup":{"name":"Additional commands","commands":[]},"fStartApplication":true}]}"/>
|
||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.enableRtosProxy" value="false"/>
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyCustomProperties" value=""/>
|
||||
<stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriver" value="threadx"/>
|
||||
|
@ -11,11 +11,13 @@ CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Presca
|
||||
CAN1.NART=ENABLE
|
||||
CAN1.Prescaler=8
|
||||
CAN1.SJW=CAN_SJW_1TQ
|
||||
FREERTOS.IPParameters=Tasks01,configRECORD_STACK_HIGH_ADDRESS,configTIMER_TASK_PRIORITY,configUSE_NEWLIB_REENTRANT,configTOTAL_HEAP_SIZE
|
||||
FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.IPParameters=Tasks01,configRECORD_STACK_HIGH_ADDRESS,configTIMER_TASK_PRIORITY,configUSE_NEWLIB_REENTRANT,configTOTAL_HEAP_SIZE,configMINIMAL_STACK_SIZE,configCHECK_FOR_STACK_OVERFLOW
|
||||
FREERTOS.Tasks01=defaultTask,24,512,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.configCHECK_FOR_STACK_OVERFLOW=2
|
||||
FREERTOS.configMINIMAL_STACK_SIZE=512
|
||||
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
|
||||
FREERTOS.configTIMER_TASK_PRIORITY=55
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=20360
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=30360
|
||||
FREERTOS.configUSE_NEWLIB_REENTRANT=1
|
||||
File.Version=6
|
||||
GPIO.groupedBy=Group By Peripherals
|
||||
|
@ -67,13 +67,14 @@
|
||||
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
||||
#define configTICK_RATE_HZ ((TickType_t)1000)
|
||||
#define configMAX_PRIORITIES ( 56 )
|
||||
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)20360)
|
||||
#define configMINIMAL_STACK_SIZE ((uint16_t)512)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)30360)
|
||||
#define configMAX_TASK_NAME_LEN ( 16 )
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 8
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
|
||||
@ -92,7 +93,7 @@
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY ( 55 )
|
||||
#define configTIMER_QUEUE_LENGTH 10
|
||||
#define configTIMER_TASK_STACK_DEPTH 256
|
||||
#define configTIMER_TASK_STACK_DEPTH 1024
|
||||
|
||||
/* The following flag must be enabled only when using newlib */
|
||||
#define configUSE_NEWLIB_REENTRANT 1
|
||||
|
@ -51,7 +51,7 @@ typedef StaticSemaphore_t osStaticMutexDef_t;
|
||||
osThreadId_t defaultTaskHandle;
|
||||
const osThreadAttr_t defaultTask_attributes = {
|
||||
.name = "defaultTask",
|
||||
.stack_size = 128 * 4,
|
||||
.stack_size = 512 * 4,
|
||||
.priority = (osPriority_t) osPriorityNormal,
|
||||
};
|
||||
|
||||
@ -64,6 +64,18 @@ void StartDefaultTask(void *argument);
|
||||
|
||||
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
||||
|
||||
/* Hook prototypes */
|
||||
void vApplicationStackOverflowHook(xTaskHandle xTask, signed char *pcTaskName);
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
void vApplicationStackOverflowHook(xTaskHandle xTask, signed char *pcTaskName)
|
||||
{
|
||||
/* Run time stack overflow checking is performed if
|
||||
configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook function is
|
||||
called if a stack overflow is detected. */
|
||||
}
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/**
|
||||
* @brief FreeRTOS initialization
|
||||
* @param None
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7147d6de8308110eace178b11ab88548ca29177a
|
||||
Subproject commit 39024e4a8c53ed19f9313a1d52adff763d06ba75
|
@ -1 +1 @@
|
||||
Subproject commit 1925a1668e847e048423499f523f3293ea9d923a
|
||||
Subproject commit a6704f4c45a82cf607907854a0005d6450cb0f06
|
Loading…
x
Reference in New Issue
Block a user