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
66BE74F758C12D739921AEA421D593D3=4
8DF89ED150041C4CBC7CB9A9CAA90856=D6E44E0C9E8538D2672E3627575EB9A7
DC22A860405A8BF2F2C095E5B6529F12=B7A8998BB86F8064A3F4829332693759
DC22A860405A8BF2F2C095E5B6529F12=D6E44E0C9E8538D2672E3627575EB9A7
eclipse.preferences.version=1

View File

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

View File

@ -3,11 +3,12 @@ CAD.formats=
CAD.pinconfig=
CAD.provider=
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.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configCHECK_FOR_STACK_OVERFLOW=1
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
FREERTOS.configTIMER_TASK_PRIORITY=48
FREERTOS.configUSE_NEWLIB_REENTRANT=1
File.Version=6
KeepUserPlacement=false

View File

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