8.x: timer.c/timer.h different prototype for void *pvTimerGetTimerID( const TimerHandle_t xTimer )
Hi out there,
just moving from 8.2.0 to 8.2.1.
Again (as it was in 8.2.0 already) my IAR complains about different definitions (the missing “const“) of:
(timers.c) void vTimerSetTimerID( const TimerHandle_t xTimer, void *pvNewID )
and
*(timers.h) void *pvTimerGetTimerID( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
So: is this intentionally and I do not get it? or is this a glitch?
Its easy to “repair” by adding the “const” into the timer.h but anyway I want to ask… 🙂
Happy tasking, Stephan
8.x: timer.c/timer.h different prototype for void *pvTimerGetTimerID( const TimerHandle_t xTimer )
Thanks for pointing this out.
The vTimerSetTimerID() function is new. Intended to allow ‘timer local storage’ so that a value can be passed between subsequent calls to the timer’s callback function. It isn’t actually documented yet.
I think the ‘set’ function should not have a const. It compiles with the const because the const is effectively cast away – but that is not good practice. So that has been removed.
The ‘get’ function should have a const in both places.
These changes have been made in the head revision – but not yet checked in.
Regards.
8.x: timer.c/timer.h different prototype for void *pvTimerGetTimerID( const TimerHandle_t xTimer )
thanks a lot and have a nice day!