diff --git a/inc/ServicePool.hpp b/inc/ServicePool.hpp index 753dca4d6f0fc4c33864425731d287db74d36ffb..7666d416803a0d701dc07f5aff2eac42e8540fd3 100644 --- a/inc/ServicePool.hpp +++ b/inc/ServicePool.hpp @@ -26,6 +26,7 @@ class ServicePool { * the number of the service, while the least significant 8 bits are the number of the Message. The value is the * counter of each MessageType. */ + etl::map<uint16_t, uint16_t, ECSSTotalMessageTypes> messageTypeCounter; /** diff --git a/inc/Services/EventReportService.hpp b/inc/Services/EventReportService.hpp index 0776159d77b73aca4526f401f431868b6f4ef57f..dc24b92c15fe50ae6688cba87dc88259bc022e1e 100644 --- a/inc/Services/EventReportService.hpp +++ b/inc/Services/EventReportService.hpp @@ -30,7 +30,7 @@ public: HighSeverityAnomalyReport = 4, EnableReportGenerationOfEvents = 5, DisableReportGenerationOfEvents = 6, - ReportListOfDisabledEvent = 7, + ReportListOfDisabledEvents = 7, DisabledListEventReport = 8, }; diff --git a/src/MessageParser.cpp b/src/MessageParser.cpp index b7e810895fb7a27bf1f00c6ffaf938bb7119ce0e..f0938627aaab14baa05046c01d23ef7ad551b54f 100644 --- a/src/MessageParser.cpp +++ b/src/MessageParser.cpp @@ -8,50 +8,50 @@ void MessageParser::execute(Message& message) { switch (message.serviceType) { #ifdef SERVICE_PARAMETERSTATISTICS - case 4: + case ParameterStatisticsService::ServiceType: Services.parameterStatistics.execute(message); break; #endif #ifdef SERVICE_EVENTREPORT - case 5: - Services.eventReport.execute(message); // ST[05] + case EventReportService::ServiceType: + Services.eventReport.execute(message); break; #endif #ifdef SERVICE_MEMORY - case 6: - Services.memoryManagement.execute(message); // ST[06] + case MemoryManagementService::ServiceType: + Services.memoryManagement.execute(message); break; #endif #ifdef SERVICE_FUNCTION - case 8: - Services.functionManagement.execute(message); // ST[08] + case FunctionManagementService::ServiceType: + Services.functionManagement.execute(message); break; #endif #ifdef SERVICE_TIMESCHEDULING - case 11: - Services.timeBasedScheduling.execute(message); // ST[11] + case TimeBasedSchedulingService::ServiceType: + Services.timeBasedScheduling.execute(message); break; #endif #ifdef SERVICE_TEST - case 17: - Services.testService.execute(message); // ST[17] + case TestService::ServiceType: + Services.testService.execute(message); break; #endif #ifdef SERVICE_EVENTACTION - case 19: - Services.eventAction.execute(message); // ST[19] + case EventActionService::ServiceType: + Services.eventAction.execute(message); break; #endif #ifdef SERVICE_PARAMETER - case 20: - Services.parameterManagement.execute(message); // ST[20] + case ParameterService::ServiceType: + Services.parameterManagement.execute(message); break; #endif diff --git a/src/Platform/x86/main.cpp b/src/Platform/x86/main.cpp index a9060ed119a802eaf0d1c580d4d34a39245f6c9e..52cdd073d92de1bae7b19804365e74fcf6ffec73 100644 --- a/src/Platform/x86/main.cpp +++ b/src/Platform/x86/main.cpp @@ -195,7 +195,7 @@ int main() { eventMessage2.appendUint16(1); eventMessage2.appendEnum16(eventIDs2[0]); - Message eventMessage3(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvent, + Message eventMessage3(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvents, Message::TC, 1); eventReportService.disableReportGeneration(eventMessage); eventReportService.listOfDisabledEventsReport(); diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp index 97546642db51f5b127aa9e1faccb1ded3d1bcad2..0963cf942b8a2dbd57a0a60fd972be37c78793a1 100644 --- a/src/Services/EventActionService.cpp +++ b/src/Services/EventActionService.cpp @@ -22,6 +22,7 @@ void EventActionService::addEventActionDefinitions(Message& message) { } } } + if ((message.dataSize - 6) > ECSSTCRequestStringSize) { canBeAdded = false; ErrorHandler::reportInternalError(ErrorHandler::MessageTooLarge); @@ -196,29 +197,29 @@ void EventActionService::executeAction(uint16_t eventID) { void EventActionService::execute(Message& message) { switch (message.messageType) { - case 1: - addEventActionDefinitions(message); // TC[19,1] + case AddEventAction: + addEventActionDefinitions(message); break; - case 2: - deleteEventActionDefinitions(message); // TC[19,2] + case DeleteEventAction: + deleteEventActionDefinitions(message); break; - case 3: - deleteAllEventActionDefinitions(message); // TC[19,3] + case DeleteAllEventAction: + deleteAllEventActionDefinitions(message); break; - case 4: - enableEventActionDefinitions(message); // TC[19,4] + case EnableEventAction: + enableEventActionDefinitions(message); break; - case 5: - disableEventActionDefinitions(message); // TC[19,5] + case DisableEventAction: + disableEventActionDefinitions(message); break; - case 6: - requestEventActionDefinitionStatus(message); // TC[19,6] + case ReportStatusOfEachEventAction: + requestEventActionDefinitionStatus(message); break; - case 8: - enableEventActionFunction(message); // TC[19,8] + case EnableEventActionFunction : + enableEventActionFunction(message); break; - case 9: - disableEventActionFunction(message); // TC[19,9] + case DisableEventActionFunction: + disableEventActionFunction(message); break; default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); diff --git a/src/Services/EventReportService.cpp b/src/Services/EventReportService.cpp index a52572832ae064a32cb92d361b2c7e26d57daa65..53dc18fb4d314d9a728d3f675a39cedd0253d7e0 100644 --- a/src/Services/EventReportService.cpp +++ b/src/Services/EventReportService.cpp @@ -115,7 +115,7 @@ void EventReportService::disableReportGeneration(Message message) { void EventReportService::requestListOfDisabledEvents(Message message) { // TC[5,7] - message.assertTC(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvent); + message.assertTC(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvents); listOfDisabledEventsReport(); } @@ -137,11 +137,14 @@ void EventReportService::listOfDisabledEventsReport() { void EventReportService::execute(Message& message) { switch (message.messageType) { - case 5: enableReportGeneration(message); // TC[5,5] + case EnableReportGenerationOfEvents: + enableReportGeneration(message); break; - case 6: disableReportGeneration(message); // TC[5,6] + case DisableReportGenerationOfEvents: + disableReportGeneration(message); break; - case 7: requestListOfDisabledEvents(message); // TC[5,7] + case ReportListOfDisabledEvents: + requestListOfDisabledEvents(message); break; default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); diff --git a/src/Services/FunctionManagementService.cpp b/src/Services/FunctionManagementService.cpp index c01260a922e22ef3e1422ae676762299790ee7a2..15361ff688031e211c11b637af0b229804760345 100644 --- a/src/Services/FunctionManagementService.cpp +++ b/src/Services/FunctionManagementService.cpp @@ -54,7 +54,7 @@ void FunctionManagementService::include(String<ECSSFunctionNameLength> funcName, void FunctionManagementService::execute(Message& message) { switch (message.messageType) { - case 1: + case PerformFunction: call(message); // TC[8,1] break; default: diff --git a/src/Services/MemoryManagementService.cpp b/src/Services/MemoryManagementService.cpp index 870b84cd864e15f3ed917be997f335c02d339c1a..db821cbfb7a531045774856682d0ef72576179d6 100644 --- a/src/Services/MemoryManagementService.cpp +++ b/src/Services/MemoryManagementService.cpp @@ -225,14 +225,14 @@ inline bool MemoryManagementService::dataValidator(const uint8_t* data, uint16_t void MemoryManagementService::execute(Message& message) { switch (message.messageType) { - case 2: - rawDataMemorySubservice.loadRawData(message); // TC[6,2] + case LoadRawMemoryDataAreas: + rawDataMemorySubservice.loadRawData(message); break; - case 5: - rawDataMemorySubservice.dumpRawData(message); // TC[6,5] + case DumpRawMemoryData: + rawDataMemorySubservice.dumpRawData(message); break; - case 9: - rawDataMemorySubservice.checkRawData(message); // TC[6,9] + case CheckRawMemoryData: + rawDataMemorySubservice.checkRawData(message); break; default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); diff --git a/src/Services/ParameterService.cpp b/src/Services/ParameterService.cpp index ee308a693d85d5ad269386385ee06560278603cc..de4786275099ed5c73436a354f0e244849d7f94e 100644 --- a/src/Services/ParameterService.cpp +++ b/src/Services/ParameterService.cpp @@ -64,11 +64,11 @@ void ParameterService::setParameters(Message& newParamValues) { void ParameterService::execute(Message& message) { switch (message.messageType) { - case 1: - reportParameters(message); // TC[20,1] + case ReportParameterValues: + reportParameters(message); break; - case 3: - setParameters(message); // TC[20,3] + case SetParameterValues: + setParameters(message); break; default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); diff --git a/src/Services/ParameterStatisticsService.cpp b/src/Services/ParameterStatisticsService.cpp index 0cb1c86fea0dfc584e01b10993d97ec06feedb5d..1567f917692e37f8610fefb20ba9440323a13c15 100644 --- a/src/Services/ParameterStatisticsService.cpp +++ b/src/Services/ParameterStatisticsService.cpp @@ -178,25 +178,25 @@ void ParameterStatisticsService::statisticsDefinitionsReport() { void ParameterStatisticsService::execute(Message& message) { switch (message.messageType) { - case 1: + case ReportParameterStatistics: reportParameterStatistics(message); break; - case 3: + case ResetParameterStatistics: resetParameterStatistics(message); break; - case 4: + case EnablePeriodicParameterReporting: enablePeriodicStatisticsReporting(message); break; - case 5: + case DisablePeriodicParameterReporting: disablePeriodicStatisticsReporting(message); break; - case 6: + case AddOrUpdateParameterStatisticsDefinitions: addOrUpdateStatisticsDefinitions(message); break; - case 7: + case DeleteParameterStatisticsDefinitions: deleteStatisticsDefinitions(message); break; - case 8: + case ReportParameterStatisticsDefinitions: reportStatisticsDefinitions(message); break; default: diff --git a/src/Services/TestService.cpp b/src/Services/TestService.cpp index f7f3966ee5f38c5c3206355e86f7ea1de4929125..93c1ebeed096ba0197428622e4417985925a0a66 100644 --- a/src/Services/TestService.cpp +++ b/src/Services/TestService.cpp @@ -23,10 +23,10 @@ void TestService::onBoardConnection(Message& request) { void TestService::execute(Message& message) { switch (message.messageType) { - case 1: + case AreYouAliveTest: areYouAlive(message); break; - case 3: + case OnBoardConnectionTest: onBoardConnection(message); break; default: diff --git a/src/Services/TimeBasedSchedulingService.cpp b/src/Services/TimeBasedSchedulingService.cpp index 61f51e029f97033116643b551350209ab65439e3..b88f46a48db0c5d1aa5ba79cc15d95bd54005451 100644 --- a/src/Services/TimeBasedSchedulingService.cpp +++ b/src/Services/TimeBasedSchedulingService.cpp @@ -262,35 +262,35 @@ void TimeBasedSchedulingService::summaryReportActivitiesByID(Message& request) { void TimeBasedSchedulingService::execute(Message& message) { switch (message.messageType) { - case 1: - enableScheduleExecution(message); // TC[11,1] + case EnableTimeBasedScheduleExecutionFunction: + enableScheduleExecution(message); break; - case 2: - disableScheduleExecution(message); // TC[11,2] + case DisableTimeBasedScheduleExecutionFunction: + disableScheduleExecution(message); break; - case 3: - resetSchedule(message); // TC[11,3] + case ResetTimeBasedSchedule: + resetSchedule(message); break; - case 4: - insertActivities(message); // TC[11,4] + case InsertActivities: + insertActivities(message); break; - case 5: - deleteActivitiesByID(message); // TC[11,5] + case DeleteActivitiesById: + deleteActivitiesByID(message); break; - case 7: - timeShiftActivitiesByID(message); // TC[11,7] + case TimeShiftActivitiesById: + timeShiftActivitiesByID(message); break; - case 9: - detailReportActivitiesByID(message); // TC[11,9] + case DetailReportActivitiesById: + detailReportActivitiesByID(message); break; - case 12: - summaryReportActivitiesByID(message); // TC[11,12] + case ActivitiesSummaryReportById: + summaryReportActivitiesByID(message); break; - case 15: - timeShiftAllActivities(message); // TC[11,15] + case TimeShiftALlScheduledActivities: + timeShiftAllActivities(message); break; - case 16: - detailReportAllActivities(message); // TC[11,16] + case DetailReportAllScheduledActivities: + detailReportAllActivities(message); break; default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); diff --git a/test/Services/EventReportService.cpp b/test/Services/EventReportService.cpp index 6d1e1ebef7c7c5e73df9f1b1f0b5f9710a0c7fe1..25a6b54f8a28f689ffb40198fb7ae9c86e1fed58 100644 --- a/test/Services/EventReportService.cpp +++ b/test/Services/EventReportService.cpp @@ -108,7 +108,8 @@ TEST_CASE("Disable Report Generation TC[5,6]", "[service][st05]") { } TEST_CASE("Request list of disabled events TC[5,7]", "[service][st05]") { - Message message(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvent, Message::TC, 1); + Message message(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvents, + Message::TC, 1); MessageParser::execute(message); REQUIRE(ServiceTests::hasOneMessage());