percent progress event

And some changes to allow restarting from the middle
This commit is contained in:
2022-08-20 20:26:25 +02:00
parent f2190f8aa1
commit c094b45fb4
3 changed files with 38 additions and 28 deletions

View File

@ -89,6 +89,10 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
static const Event SUPV_REPLY_SIZE_MISSMATCH = MAKE_EVENT(20, severity::LOW);
static const Event SUPV_REPLY_CRC_MISSMATCH = MAKE_EVENT(21, severity::LOW);
//! [EXPORT] : [COMMENT] Will be triggered every 5 percent of the update progress.
//! P1: Bytes written, P2: Sequence Count
static constexpr Event SUPV_UPDATE_PROGRESS = MAKE_EVENT(22, severity::INFO);
PlocSupvHelper(object_id_t objectId);
virtual ~PlocSupvHelper();
@ -107,7 +111,8 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
*
* @return RETURN_OK if successful, otherwise error return value
*/
ReturnValue_t startUpdate(std::string file, uint8_t memoryId, uint32_t startAddress);
ReturnValue_t startUpdate(std::string file, uint8_t memoryId, uint32_t startAddress,
size_t startBytesWritten = 0, uint16_t initSeqCount = 1);
/**
* @brief This initiate the continuation of a failed update.
@ -157,6 +162,7 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
size_t bytesWritten;
uint32_t packetNum;
uint16_t sequenceCount;
uint8_t progressPercent;
};
struct Update update;
@ -200,6 +206,7 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
ReturnValue_t performUpdate();
ReturnValue_t continueUpdate();
ReturnValue_t updateOperation();
ReturnValue_t writeUpdatePackets();
ReturnValue_t performEventBufferRequest();
ReturnValue_t handlePacketTransmission(ploc::SpTcBase& packet,