This commit is contained in:
2025-11-15 13:50:28 +01:00
parent 7edc57784c
commit 6fa1d9639a
2 changed files with 136 additions and 136 deletions
+8 -8
View File
@@ -284,14 +284,14 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
return; return;
} }
int intActualMessageNumber = (int)(p_SPITMessage->getHeader()->getMessageNumber() & 0xFF); int msgNum = (int)(p_SPITMessage->getHeader()->getMessageNumber() & 0xFF);
if (intActualMessageNumber == 0) { if (msgNum == 0) {
parseMessage(std::move(p_SPITMessage)); parseMessage(std::move(p_SPITMessage));
return; return;
} }
if (mMessageNumberReceived < 0) { if (mMessageNumberReceived < 0) {
mMessageNumberReceived = intActualMessageNumber; mMessageNumberReceived = msgNum;
parseMessage(std::move(p_SPITMessage)); parseMessage(std::move(p_SPITMessage));
return; return;
} }
@@ -300,8 +300,8 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
if (intNextMessageNumber > 255 || intNextMessageNumber < 1) if (intNextMessageNumber > 255 || intNextMessageNumber < 1)
intNextMessageNumber = 1; intNextMessageNumber = 1;
if (intActualMessageNumber == intNextMessageNumber) { if (msgNum == intNextMessageNumber) {
mMessageNumberReceived = intActualMessageNumber; mMessageNumberReceived = msgNum;
parseMessage(std::move(p_SPITMessage)); parseMessage(std::move(p_SPITMessage));
// check overtaking messages // check overtaking messages
@@ -313,10 +313,10 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
intNextMessageNumber = 1; intNextMessageNumber = 1;
auto &ptrOvertakingSPIT_Message = *it; auto &ptrOvertakingSPIT_Message = *it;
intActualMessageNumber = (int)(ptrOvertakingSPIT_Message->getHeader()->getMessageNumber() & 0xFF); msgNum = (int)(ptrOvertakingSPIT_Message->getHeader()->getMessageNumber() & 0xFF);
if (intActualMessageNumber == intNextMessageNumber) { if (msgNum == intNextMessageNumber) {
mMessageNumberReceived = intActualMessageNumber; mMessageNumberReceived = msgNum;
parseMessage(move(ptrOvertakingSPIT_Message)); parseMessage(move(ptrOvertakingSPIT_Message));
mOvertakingMessages.erase(it); mOvertakingMessages.erase(it);
+121 -121
View File
@@ -195,23 +195,23 @@ SProcessor::~SProcessor() {
// // // } //Excample // // // } //Excample
// // } // // }
// std::vector<char> SProcessor::createMessage(Message::OPPart &opPart) { std::vector<char> SProcessor::createMessage(Message::OPPart &opPart) {
// if (mMessageNumberSend == 255) if (mMessageNumberSend == 255)
// mMessageNumberSend = 1; mMessageNumberSend = 1;
// else else
// mMessageNumberSend++; mMessageNumberSend++;
// opPart.setMessageNumber(mMessageNumberSend); opPart.setMessageNumber(mMessageNumberSend);
// opPart.setServerInfoInHeader(mGuid, mServerID); opPart.setServerInfoInHeader(mGuid, mServerID);
// int opFlag = opPart.getHeader()->getType(); int opFlag = opPart.getHeader()->getType();
// try { try {
// return Message::createMessage(opPart); return Message::createMessage(opPart);
// } catch (...) { } catch (...) {
// ESP_LOGD(TAG, "Exception client OPFlag: %d", opFlag); ESP_LOGD(TAG, "Exception client OPFlag: %d", opFlag);
// } }
// return {}; return {};
// } }
// // todo Delete SProcessor::mInternCallbacks.sendMessage(Message::OPPart &opPart // todo Delete SProcessor::mInternCallbacks.sendMessage(Message::OPPart &opPart
// // void SProcessor::receiveSPITMessage(SClient &rM) { // // void SProcessor::receiveSPITMessage(SClient &rM) {
// // char buffer[MAXSPITMESSAGEBYTECOUNT + 1]; // // char buffer[MAXSPITMESSAGEBYTECOUNT + 1];
@@ -235,61 +235,61 @@ SProcessor::~SProcessor() {
// mOvertakingMessages.clear(); // mOvertakingMessages.clear();
// } // }
// void SProcessor::checkParseMessageData(vector<char> data) { void SProcessor::checkParseMessageData(vector<char> data) {
// auto message = make_unique<Message>(data); auto message = make_unique<Message>(data);
// answerWatchdog(); // answerWatchdog();
// if (!message->getHeader() || !message->getOPPart()) { if (!message->getHeader() || !message->getOPPart()) {
// ESP_LOGD(TAG, "Client::parseMessage incomplete message"); ESP_LOGD(TAG, "Client::parseMessage incomplete message");
// return; return;
// } }
// int msgNum = (int)(message->getHeader()->getMessageNumber() & 0xFF); int msgNum = (int)(message->getHeader()->getMessageNumber() & 0xFF);
// if (msgNum == 0) { if (msgNum == 0) {
// parseMessage(*message); parseMessage(*message);
// return; return;
// } }
// if (mMessageNumberReceived < 0) { if (mMessageNumberReceived < 0) {
// mMessageNumberReceived = msgNum; mMessageNumberReceived = msgNum;
// parseMessage(*message); parseMessage(*message);
// return; return;
// } }
// int msgNumNext = mMessageNumberReceived + 1; int msgNumNext = mMessageNumberReceived + 1;
// if (msgNumNext > 255 || msgNumNext < 1) if (msgNumNext > 255 || msgNumNext < 1)
// msgNumNext = 1; msgNumNext = 1;
// if (msgNum == msgNumNext) { if (msgNum == msgNumNext) {
// mMessageNumberReceived = msgNum; mMessageNumberReceived = msgNum;
// parseMessage(*message); parseMessage(*message);
// // check overtaking messages // check overtaking messages
// auto it = mOvertakingMessages.begin(); auto it = mOvertakingMessages.begin();
// while (mOvertakingMessages.size() > 0) { while (mOvertakingMessages.size() > 0) {
// msgNumNext = mMessageNumberReceived + 1; msgNumNext = mMessageNumberReceived + 1;
// if (msgNumNext > 255 || msgNumNext < 1) if (msgNumNext > 255 || msgNumNext < 1)
// msgNumNext = 1; msgNumNext = 1;
// auto &overtakingMessage = *it; auto &overtakingMessage = *it;
// msgNum = (int)(overtakingMessage->getHeader()->getMessageNumber() & 0xFF); msgNum = (int)(overtakingMessage->getHeader()->getMessageNumber() & 0xFF);
// if (msgNum == msgNumNext) { if (msgNum == msgNumNext) {
// mMessageNumberReceived = msgNum; mMessageNumberReceived = msgNum;
// parseMessage(*overtakingMessage); parseMessage(*overtakingMessage);
// mOvertakingMessages.erase(it); mOvertakingMessages.erase(it);
// it = mOvertakingMessages.begin(); it = mOvertakingMessages.begin();
// } else { } else {
// break; break;
// } }
// } }
// } else { } else {
// // p_SPITMessage has overtaken another message // p_SPITMessage has overtaken another message
// addOvertakingMessage(move(message)); // addOvertakingMessage(move(message));
// } }
// } }
// void SProcessor::addOvertakingMessage(unique_ptr<Message> message) { // void SProcessor::addOvertakingMessage(unique_ptr<Message> message) {
// if (!message) { // if (!message) {
@@ -311,74 +311,74 @@ SProcessor::~SProcessor() {
// mOvertakingMessages.push_back(move(message)); // mOvertakingMessages.push_back(move(message));
// } // }
// void SProcessor::parseMessage(Message& message) { void SProcessor::parseMessage(Message& message) {
// answerWatchdog(); // answerWatchdog();
// if (!message.getHeader() || !message.getOPPart()) { if (!message.getHeader() || !message.getOPPart()) {
// ESP_LOGD(TAG, "Client::parseMessage incomplete message"); ESP_LOGD(TAG, "Client::parseMessage incomplete message");
// return; return;
// } }
// switch (message.getType()) { switch (message.getType()) {
// //----- Connection ----- //----- Connection -----
// case Message::ConnectAnswer::OPFLAG: case Message::ConnectAnswer::OPFLAG:
// parseConnectAnswer(message.getAs<Message::ConnectAnswer>()); // parseConnectAnswer(message.getAs<Message::ConnectAnswer>());
// break; break;
// case Message::Disconnect::OPFLAG: case Message::Disconnect::OPFLAG:
// parseDisconnect(message.getAs<Message::Disconnect>()); // parseDisconnect(message.getAs<Message::Disconnect>());
// break; break;
// case Message::ReportProject::OPFLAG: case Message::ReportProject::OPFLAG:
// parseReportProject(message.getAs<Message::ReportProject>()); parseReportProject(message.getAs<Message::ReportProject>());
// break; break;
// case Message::Watchdog::OPFLAG: case Message::Watchdog::OPFLAG:
// parseWatchdog(message.getAs<Message::Watchdog>()); // parseWatchdog(message.getAs<Message::Watchdog>());
// break; break;
// case Message::WatchdogAnswer::OPFLAG: case Message::WatchdogAnswer::OPFLAG:
// parseWatchdogAnswer(message.getAs<Message::WatchdogAnswer>()); // parseWatchdogAnswer(message.getAs<Message::WatchdogAnswer>());
// break; break;
// //----- SPIT Project ----- //----- SPIT Project -----
// case Message::StartProjectTransfer::OPFLAG: case Message::StartProjectTransfer::OPFLAG:
// parseStartProjectTransfer(message.getAs<Message::StartProjectTransfer>()); parseStartProjectTransfer(message.getAs<Message::StartProjectTransfer>());
// break; break;
// case Message::CloseProject::OPFLAG: case Message::CloseProject::OPFLAG:
// parseCloseProject(message.getAs<Message::CloseProject>()); parseCloseProject(message.getAs<Message::CloseProject>());
// break; break;
// case Message::RequestProjectTransfer::OPFLAG: case Message::RequestProjectTransfer::OPFLAG:
// parseRequestProjectTransfer(message.getAs<Message::RequestProjectTransfer>()); parseRequestProjectTransfer(message.getAs<Message::RequestProjectTransfer>());
// break; break;
// case Message::EndProjectTransfer::OPFLAG: case Message::EndProjectTransfer::OPFLAG:
// parseEndProjectTransfer(message.getAs<Message::EndProjectTransfer>()); parseEndProjectTransfer(message.getAs<Message::EndProjectTransfer>());
// break; break;
// //----- SPIT Types ------ //----- SPIT Types ------
// case Message::ReportType::OPFLAG: case Message::ReportType::OPFLAG:
// parseReportType(message.getAs<Message::ReportType>()); parseReportType(message.getAs<Message::ReportType>());
// break; break;
// case Message::RemoveType::OPFLAG: case Message::RemoveType::OPFLAG:
// parseRemoveSPITType(message.getAs<Message::RemoveType>()); parseRemoveType(message.getAs<Message::RemoveType>());
// //----- SPIT Objects ------ //----- SPIT Objects ------
// break; break;
// case Message::ReportObject::OPFLAG: case Message::ReportObject::OPFLAG:
// parseReportObject(message.getAs<Message::ReportObject>()); parseReportObject(message.getAs<Message::ReportObject>());
// break; break;
// case Message::RemoveObject::OPFLAG: case Message::RemoveObject::OPFLAG:
// parseRemoveSPITObject(message.getAs<Message::RemoveObject>()); parseRemoveObject(message.getAs<Message::RemoveObject>());
// break; break;
// //----- Play SPIT Objects ------ //----- Play SPIT Objects ------
// case Message::PlayStart::OPFLAG: case Message::PlayStart::OPFLAG:
// parsePlaySPITStart(message.getAs<Message::PlayStart>()); parsePlayStart(message.getAs<Message::PlayStart>());
// break; break;
// case Message::PlayObject::OPFLAG: case Message::PlayObject::OPFLAG:
// parsePlaySPITObject(message.getAs<Message::PlayObject>()); parsePlayObject(message.getAs<Message::PlayObject>());
// break; break;
// case Message::PlayEnd::OPFLAG: case Message::PlayEnd::OPFLAG:
// parsePlaySPITEnd(message.getAs<Message::PlayEnd>()); parsePlayEnd(message.getAs<Message::PlayEnd>());
// break; break;
// case Message::ReportPlayStatus::OPFLAG: case Message::ReportPlayStatus::OPFLAG:
// parseReportPlayStatus(message.getAs<Message::ReportPlayStatus>()); parseReportPlayStatus(message.getAs<Message::ReportPlayStatus>());
// break; break;
// default: default:
// ESP_LOGD(TAG, "Client::parseMessage: Unknown Message"); ESP_LOGD(TAG, "Client::parseMessage: Unknown Message");
// } }
// } }
// //----- Connection ------ // //----- Connection ------
// /** // /**