Some form improvements and an important change for DeviceHandlerBase: New PERFORM_OPERATION step as an explicit step, which is not related to the communication functionalities,
with the exception of ActionMessages setting the next sent packet for SEND_DATA.
This is an API change, however the adaptions are small (depending on size of polling sequence table).
If this is integrated into the FSFW, all users of the device handlers
have to correct their polling sequence tables to include the step PERFORM_OPERATION .
Example:
Before:
ReturnValue_tpst::pollingSequenceInitDefault(FixedTimeslotTaskIF*thisSequence){/* Length of a communication cycle */uint32_tlength=thisSequence->getPeriodMs();thisSequence->addSlot(objects::DUMMY_HANDLER,length*0,DeviceHandlerIF::SEND_WRITE);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.25,DeviceHandlerIF::GET_WRITE);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.5,DeviceHandlerIF::SEND_READ);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.75,DeviceHandlerIF::GET_READ);
After:
ReturnValue_tpst::pollingSequenceInitDefault(FixedTimeslotTaskIF*thisSequence){/* Length of a communication cycle */uint32_tlength=thisSequence->getPeriodMs();thisSequence->addSlot(objects::DUMMY_HANDLER,length*0,DeviceHandlerIF::PERFORM_OPERATION);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.4,DeviceHandlerIF::SEND_WRITE);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.55,DeviceHandlerIF::GET_WRITE);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.7,DeviceHandlerIF::SEND_READ);thisSequence->addSlot(objects::DUMMY_HANDLER,length*0.85,DeviceHandlerIF::GET_READ);
Some form improvements and an important change for `DeviceHandlerBase`: New `PERFORM_OPERATION` step as an explicit step, which is not related to the communication functionalities,
with the exception of ActionMessages setting the next sent packet for SEND_DATA.
This is an API change, however the adaptions are small (depending on size of polling sequence table).
If this is integrated into the FSFW, all users of the device handlers
have to correct their polling sequence tables to include the step `PERFORM_OPERATION` .
Example:
Before:
```cpp
ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
{
/* Length of a communication cycle */
uint32_t length = thisSequence->getPeriodMs();
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.25, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.5, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.75, DeviceHandlerIF::GET_READ);
```
After:
```cpp
ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
{
/* Length of a communication cycle */
uint32_t length = thisSequence->getPeriodMs();
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.4, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.55, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.7, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::DUMMY_HANDLER,
length * 0.85, DeviceHandlerIF::GET_READ);
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Some form improvements and an important change for
DeviceHandlerBase: NewPERFORM_OPERATIONstep as an explicit step, which is not related to the communication functionalities,with the exception of ActionMessages setting the next sent packet for SEND_DATA.
This is an API change, however the adaptions are small (depending on size of polling sequence table).
If this is integrated into the FSFW, all users of the device handlers
have to correct their polling sequence tables to include the step
PERFORM_OPERATION.Example:
Before:
After:
This implements #129