FixedTimeslotTask FreeRTOS improvements #117

Merged
gaisser merged 10 commits from KSat/fsfw:mueller_FixedTimeslotTaskImprovements into master 2020-07-14 11:45:41 +02:00
Owner

Added deadline missed check and updated doc.

Related to #118

Added deadline missed check and updated doc. Related to #118
muellerr added the
feature
label 2020-06-19 14:51:56 +02:00
gaisser reviewed 2020-06-22 20:03:49 +02:00
@ -85,1 +88,3 @@
std::list<FixedSequenceSlot*>::iterator it = pst.current;
// A local iterator for the Polling Sequence Table is created to find the
// start time for the first entry.
SlotListIter slotListIter = pst.current;
Owner

I can't find the Definition of SlotListIter at the moment. Is this a new typedef in this class or devicehandler/FixedSlotSequence.cpp?

I can't find the Definition of SlotListIter at the moment. Is this a new typedef in this class or devicehandler/FixedSlotSequence.cpp?
Author
Owner

Oh, that is kind of annoying.. That is a new typedef in FixedSlotSequence.cpp/h which uses a multiset..
I pushed a new version which uses the list, but maybe it would be a better idea to merge the DHB changes and the FixedSlotSequence changes first..

Oh, that is kind of annoying.. That is a new typedef in FixedSlotSequence.cpp/h which uses a multiset.. I pushed a new version which uses the list, but maybe it would be a better idea to merge the DHB changes and the FixedSlotSequence changes first..
gaisser reviewed 2020-06-22 20:08:01 +02:00
@ -19,3 +15,1 @@
* @param (*setDeadlineMissedFunc)() The function pointer to the deadline missed function that shall be assigned.
*
* @param getPst The object id of the completely initialized polling sequence.
* Keep in Mind that you need to call before this vTaskStartScheduler()!
Owner

Keep in Mind that you need to call before this vTaskStartScheduler() before this!

Keep in Mind that you need to call ~~before this~~ vTaskStartScheduler() before this!
gaisser reviewed 2020-06-22 20:36:11 +02:00
@ -116,0 +121,4 @@
this->deadlineMissedFunc();
}
// Continue immediately, no need to wait.
break;
Owner

This does break the for loop. Are you sure that this is what you want?

This does break the for loop. Are you sure that this is what you want?
Author
Owner

Youre right, continue is needed I think. This still needs to be tested anyway by setting an intentional delay in DHB.

Youre right, continue is needed I think. This still needs to be tested anyway by setting an intentional delay in DHB.
gaisser self-assigned this 2020-06-22 20:37:40 +02:00
muellerr changed title from FixedTimeslotTask FreeRTOS improvements to WIP:FixedTimeslotTask FreeRTOS improvements 2020-06-22 20:43:03 +02:00
muellerr changed title from WIP:FixedTimeslotTask FreeRTOS improvements to WIP: FixedTimeslotTask FreeRTOS improvements 2020-06-22 20:49:21 +02:00
Author
Owner

It propably would be a good idea to merge this after the DHB changes and FixedSequenceSlot.cpp/.h .

It propably would be a good idea to merge this after the DHB changes and FixedSequenceSlot.cpp/.h .
Owner

Ok I think, that this is not overflow safe. Compare that with the implementation in vTaskDelay of FreeRtos.

(xTaskGetTickCount() - xLastWakeTime >= pdMS_TO_TICKS(this->pst.getIntervalToPreviousSlotMs())
Ok I think, that this is not overflow safe. Compare that with the implementation in vTaskDelay of FreeRtos. ``` c++ (xTaskGetTickCount() - xLastWakeTime >= pdMS_TO_TICKS(this->pst.getIntervalToPreviousSlotMs()) ```
Author
Owner

Hmm, how to best do this then? the check has to be performed twice? The FreeRTOs function can't return whether it has delayed or not..

Hmm, how to best do this then? the check has to be performed twice? The FreeRTOs function can't return whether it has delayed or not..
muellerr changed title from WIP: FixedTimeslotTask FreeRTOS improvements to FixedTimeslotTask FreeRTOS improvements 2020-07-06 12:37:46 +02:00
Author
Owner

Deadline check has been implemented and pull request was adapted to the new underlying data structure multiset.

Deadline check has been implemented and pull request was adapted to the new underlying data structure multiset.
gaisser closed this pull request 2020-07-14 11:45:41 +02:00
gaisser deleted branch mueller_FixedTimeslotTaskImprovements 2020-07-14 11:45:46 +02:00
Sign in to join this conversation.
No description provided.