DHB update #237

Closed
muellerr wants to merge 0 commits from KSat:mueller/DHB-update into master
Owner

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_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:

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);
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); ```
muellerr added the
API Change
Documentation
feature
labels 2020-10-12 18:32:22 +02:00
muellerr added a new dependency 2020-10-12 18:32:29 +02:00
Owner

Implements #129

Implements #129
Author
Owner

UPDATE: retarget into development

UPDATE: retarget into development
muellerr removed a dependency 2020-12-01 14:13:50 +01:00
muellerr closed this pull request 2020-12-01 14:13:54 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.