refactor: Working on SPIT yet again

This commit is contained in:
2025-11-14 21:30:22 +01:00
parent c01439dc05
commit 66140ea823
20 changed files with 2444 additions and 117 deletions
+6 -6
View File
@@ -258,7 +258,7 @@ void SClient::resetMessageNumberReceived() {
void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
answerWatchdog();
if (!p_SPITMessage || !p_SPITMessage->getHeader() || p_SPITMessage->getOPPart()) {
if (!p_SPITMessage || !p_SPITMessage->getHeader() || !p_SPITMessage->getOPPart()) {
ESP_LOGD(TAG, "Client::parseMessage incomplete message");
return;
}
@@ -370,7 +370,7 @@ void SClient::parseMessage(unique_ptr<Message> message) {
break;
//----- SPIT Types ------
case Message::ReportType::OPFLAG:
parseReportSPITType(message->getAs<Message::ReportType>());
parseReportType(message->getAs<Message::ReportType>());
break;
case Message::RemoveType::OPFLAG:
parseRemoveSPITType(message->getAs<Message::RemoveType>());
@@ -785,7 +785,7 @@ void SClient::parseEndProjectTransfer(Message::EndProjectTransfer &message) {
}
//----- SPIT Types ------
void SClient::parseReportSPITType(Message::ReportType &message) {
void SClient::parseReportType(Message::ReportType &message) {
ESP_LOGD(TAG, "parse ReportType ID %s Name %s",message.getID().c_str(), message.getName().c_str());
SType *ptrSPITType;
bool boolNew = false;
@@ -931,11 +931,11 @@ int SClient::removeSPITType(string p_SPITTypeID) {
return -1;
}
SType *SClient::createSPITTypeFixed(string iD, string p_GroupName, string p_Name, uint64_t p_DefaultDelay, uint64_t p_DefaultDuration) {
return createSPITType(iD, p_GroupName, p_Name, p_DefaultDelay, p_DefaultDuration, true, true);
SType *SClient::createTypeFixed(string iD, string p_GroupName, string p_Name, uint64_t p_DefaultDelay, uint64_t p_DefaultDuration) {
return createType(iD, p_GroupName, p_Name, p_DefaultDelay, p_DefaultDuration, true, true);
}
SType *SClient::createSPITType(string p_ID, string p_GroupName, string p_Name, uint64_t p_DefaultDelay, uint64_t p_DefaultDuration, bool p_FIxed, bool p_ProjectIndepended) {
SType *SClient::createType(string p_ID, string p_GroupName, string p_Name, uint64_t p_DefaultDelay, uint64_t p_DefaultDuration, bool p_FIxed, bool p_ProjectIndepended) {
bool boolNew;
SType *ptrSPITType = mSpitTypes.getEntry(p_ID);
if (ptrSPITType == nullptr) {
+6 -6
View File
@@ -700,7 +700,7 @@ bool Message::ReportType::parse(const std::vector<char> &message) {
mParseOffset = Header::BYTESLENGTH;
mBytesCount = getInt(message, mParseOffset).value();
mConfirmed = getBoolean(message, mParseOffset).value();
mSPITTypeID = getString(message, mParseOffset, 41).value();
mTypeID = getString(message, mParseOffset, 41).value();
mFixed = getBoolean(message, mParseOffset).value();
mServerRemote = getBoolean(message, mParseOffset).value();
mServerProjectIndepended = getBoolean(message, mParseOffset).value();
@@ -731,7 +731,7 @@ bool Message::ReportType::fillBytes(std::vector<char> &message) {
mParseOffset = mHeader->BYTESLENGTH;
mParseOffset += setInt(mBytesCount, message, mParseOffset);
mParseOffset += setBoolean(mConfirmed, message, mParseOffset);
mParseOffset += setString(mSPITTypeID, message, mParseOffset, 41);
mParseOffset += setString(mTypeID, message, mParseOffset, 41);
mParseOffset += setBoolean(mFixed, message, mParseOffset);
mParseOffset += setBoolean(mServerRemote, message, mParseOffset);
mParseOffset += setBoolean(mServerProjectIndepended, message, mParseOffset);
@@ -762,7 +762,7 @@ bool Message::RemoveType::parse(const std::vector<char> &message) {
try {
mParseOffset = Header::BYTESLENGTH;
mBytesCount = getInt(message, mParseOffset).value();
mSPITTypeID = getString(message, mParseOffset, 41).value();
mTypeID = getString(message, mParseOffset, 41).value();
} catch (...) {
ESP_LOGE(TAG, "failed to parse RemoveType message");
return false;
@@ -785,7 +785,7 @@ bool Message::RemoveType::fillBytes(std::vector<char> &message) {
try {
mParseOffset = Header::BYTESLENGTH;
mParseOffset += setInt(mBytesCount, message, mParseOffset);
mParseOffset += setString(mSPITTypeID, message, mParseOffset, 41);
mParseOffset += setString(mTypeID, message, mParseOffset, 41);
} catch (...) {
ESP_LOGE(TAG, "failed to create RemoveType message");
return false;
@@ -815,7 +815,7 @@ bool Message::ReportObject::parse(const std::vector<char> &message) {
mFixed = getBoolean(message, mParseOffset).value();
mServerRemote = getBoolean(message, mParseOffset).value();
mSPITObjectName = getString(message, mParseOffset, 64).value();
mSPITTypeID = getString(message, mParseOffset, 41).value();
mTypeID = getString(message, mParseOffset, 41).value();
mServerParams = getString(message, mParseOffset, 64).value();
mFrameStart = getLong(message, mParseOffset).value();
mFrameLength = getLong(message, mParseOffset).value();
@@ -865,7 +865,7 @@ bool Message::ReportObject::fillBytes(std::vector<char> &message) {
mParseOffset += setBoolean(mFixed, message, mParseOffset);
mParseOffset += setBoolean(mServerRemote, message, mParseOffset);
mParseOffset += setString(mSPITObjectName, message, mParseOffset, 64);
mParseOffset += setString(mSPITTypeID, message, mParseOffset, 41);
mParseOffset += setString(mTypeID, message, mParseOffset, 41);
mParseOffset += setString(mServerParams, message, mParseOffset, 64);
mParseOffset += setLong(mFrameStart, message, mParseOffset);
mParseOffset += setLong(mFrameLength, message, mParseOffset);
File diff suppressed because it is too large Load Diff