Changed timer thread priority and fixed lockout and failsafe timers

This commit is contained in:
dario 2023-09-27 09:53:06 +02:00
parent 817db58a0e
commit 73bf55a0b4
4 changed files with 13 additions and 15 deletions

View File

@ -1,5 +1,5 @@
635E684B79701B039C64EA45C3F84D30=C96BA6CC9F20E1205A6EBDFF40205165 635E684B79701B039C64EA45C3F84D30=C96BA6CC9F20E1205A6EBDFF40205165
66BE74F758C12D739921AEA421D593D3=4 66BE74F758C12D739921AEA421D593D3=4
8DF89ED150041C4CBC7CB9A9CAA90856=D6E44E0C9E8538D2672E3627575EB9A7 8DF89ED150041C4CBC7CB9A9CAA90856=D6E44E0C9E8538D2672E3627575EB9A7
DC22A860405A8BF2F2C095E5B6529F12=B7A8998BB86F8064A3F4829332693759 DC22A860405A8BF2F2C095E5B6529F12=D6E44E0C9E8538D2672E3627575EB9A7
eclipse.preferences.version=1 eclipse.preferences.version=1

View File

@ -92,7 +92,7 @@
/* Software timer definitions. */ /* Software timer definitions. */
#define configUSE_TIMERS 1 #define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY ( 2 ) #define configTIMER_TASK_PRIORITY ( 48 )
#define configTIMER_QUEUE_LENGTH 10 #define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_STACK_DEPTH 256 #define configTIMER_TASK_STACK_DEPTH 256

View File

@ -3,11 +3,12 @@ CAD.formats=
CAD.pinconfig= CAD.pinconfig=
CAD.provider= CAD.provider=
FREERTOS.FootprintOK=true FREERTOS.FootprintOK=true
FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configRECORD_STACK_HIGH_ADDRESS,configCHECK_FOR_STACK_OVERFLOW,Mutexes01,FootprintOK FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configRECORD_STACK_HIGH_ADDRESS,configCHECK_FOR_STACK_OVERFLOW,Mutexes01,FootprintOK,configTIMER_TASK_PRIORITY
FREERTOS.Mutexes01=uartMutex,Static,uartMutex_cb FREERTOS.Mutexes01=uartMutex,Static,uartMutex_cb
FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configCHECK_FOR_STACK_OVERFLOW=1 FREERTOS.configCHECK_FOR_STACK_OVERFLOW=1
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1 FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
FREERTOS.configTIMER_TASK_PRIORITY=48
FREERTOS.configUSE_NEWLIB_REENTRANT=1 FREERTOS.configUSE_NEWLIB_REENTRANT=1
File.Version=6 File.Version=6
KeepUserPlacement=false KeepUserPlacement=false

View File

@ -15,7 +15,9 @@ namespace sta
namespace tacos namespace tacos
{ {
Statemachine::Statemachine() Statemachine::Statemachine()
: currentState_{STA_TACOS_INITIAL_STATE}, lockoutTimer_{[](void *){}, NULL}, failsafeTimer_{[](void *){}, NULL} : currentState_{STA_TACOS_INITIAL_STATE},
lockoutTimer_{[](void *){}, nullptr},
failsafeTimer_{[](void *){}, nullptr}
{ {
STA_ASSERT(STA_TACOS_INITIAL_STATE < STA_TACOS_NUM_STATES); STA_ASSERT(STA_TACOS_INITIAL_STATE < STA_TACOS_NUM_STATES);
} }
@ -24,23 +26,18 @@ namespace sta
{ {
STA_DEBUG_PRINTLN("INITIALIZING STATEMACHINE"); STA_DEBUG_PRINTLN("INITIALIZING STATEMACHINE");
/* lockoutTimer_.setCallback([](void *) { STA_DEBUG_PRINTLN("[LOCKOUT TIMEOUT]"); }, nullptr);
lockoutTimer_.setCallback([](void *) { STA_DEBUG_PRINTLN("Lockout timer triggered!"); }, NULL); lockoutTimer_.start(5000);
lockoutTimer_.start(1000);
failsafeTimer_.setCallback([](void *) { STA_DEBUG_PRINTLN("Failsafe timer triggered!"); }, NULL); failsafeTimer_.setCallback([](void *) { STA_DEBUG_PRINTLN("[FAILSAFE TIMEOUT]"); }, nullptr);
failsafeTimer_.start(2000); failsafeTimer_.start(10000);
*/
} }
void Statemachine::func() void Statemachine::func()
{ {
// STA_DEBUG_PRINTLN("LOOPY LOOP IN STATEMACHINE"); STA_DEBUG_PRINTLN("LOOPY LOOP IN STATEMACHINE.");
STA_DEBUG_PRINT("Failsafe timer is running: "); osDelay(3000);
STA_DEBUG_PRINTLN(failsafeTimer_.isRunning());
osDelay(1000);
} }
uint16_t Statemachine::getCurrentState() const uint16_t Statemachine::getCurrentState() const