diff --git a/bsp_hosted/fsfwconfig/events/translateEvents.cpp b/bsp_hosted/fsfwconfig/events/translateEvents.cpp index dcc75002..65b11c49 100644 --- a/bsp_hosted/fsfwconfig/events/translateEvents.cpp +++ b/bsp_hosted/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 301 translations. * @details - * Generated on: 2023-07-21 10:26:17 + * Generated on: 2023-07-21 11:04:23 */ #include "translateEvents.h" diff --git a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp index 04faa920..ff7f24d8 100644 --- a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp +++ b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 171 translations. - * Generated on: 2023-07-21 10:25:32 + * Generated on: 2023-07-21 11:04:23 */ #include "translateObjects.h" diff --git a/bsp_q7s/core/CoreController.cpp b/bsp_q7s/core/CoreController.cpp index 66399763..6d8f60c5 100644 --- a/bsp_q7s/core/CoreController.cpp +++ b/bsp_q7s/core/CoreController.cpp @@ -183,7 +183,7 @@ ReturnValue_t CoreController::initialize() { announceVersionInfo(); SdCardManager::SdStatePair sdStates; sdcMan->getSdCardsStatus(sdStates); - triggerEvent(core::ACTIVE_SD_INFO, sdStates.first, sdStates.second); + announceSdInfo(sdStates); sdStateMachine(); result = scratch::writeNumber(scratch::ALLOC_FAILURE_COUNT, 0); if (result != returnvalue::OK) { @@ -801,6 +801,7 @@ ReturnValue_t CoreController::sdStateMachine() { } sif::info << "SD card update into " << modeStr << " mode finished. Active SD: " << sdInfo.activeChar << std::endl; + announceSdInfo(sdInfo.currentState); if (not sdInfo.initFinished) { updateInternalSdInfo(); sdInfo.initFinished = true; @@ -2571,6 +2572,17 @@ ReturnValue_t CoreController::performGracefulShutdown(xsc::Chip tgtChip, xsc::Co return returnvalue::OK; } +void CoreController::announceSdInfo(SdCardManager::SdStatePair sdStates) { + auto activeSdCard = sdcMan->getActiveSdCard(); + uint32_t p1 = sd::SdCard::NONE; + if (activeSdCard.has_value()) { + p1 = static_cast(activeSdCard.value()); + } + uint32_t p2 = + (static_cast(sdStates.first) << 16) | static_cast(sdStates.second); + triggerEvent(core::ACTIVE_SD_INFO, p1, p2); +} + bool CoreController::isNumber(const std::string &s) { return !s.empty() && std::find_if(s.begin(), s.end(), [](unsigned char c) { return !std::isdigit(c); }) == s.end(); diff --git a/bsp_q7s/core/CoreController.h b/bsp_q7s/core/CoreController.h index b6bc9bfb..b6382d36 100644 --- a/bsp_q7s/core/CoreController.h +++ b/bsp_q7s/core/CoreController.h @@ -388,6 +388,7 @@ class CoreController : public ExtendedControllerBase, public ReceivesParameterMe void announceBootCounts(); void announceVersionInfo(); void announceCurrentImageInfo(); + void announceSdInfo(SdCardManager::SdStatePair sdStates); void readHkData(); void dirListingDumpHandler(); bool isNumber(const std::string& s); diff --git a/generators/bsp_hosted_events.csv b/generators/bsp_hosted_events.csv index 33223d92..61e3a82a 100644 --- a/generators/bsp_hosted_events.csv +++ b/generators/bsp_hosted_events.csv @@ -273,7 +273,7 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path 14011;0x36bb;I2C_REBOOT;HIGH;I2C is unavailable. Recovery did not work, performing full reboot.;mission/sysDefs.h 14012;0x36bc;PDEC_REBOOT;HIGH;PDEC recovery through reset was not possible, performing full reboot.;mission/sysDefs.h 14013;0x36bd;FIRMWARE_INFO;INFO;Version information of the firmware (not OBSW). P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;mission/sysDefs.h -14014;0x36be;ACTIVE_SD_INFO;INFO;Active SD card info. 0: OFF, 1: ON, 2: MOUNTED. P1: SD Card 0, P2: SD Card 2.;mission/sysDefs.h +14014;0x36be;ACTIVE_SD_INFO;INFO;Active SD card info. 0: OFF, 1: ON, 2: MOUNTED. P1: SD Card 0, P2: SD Card 1.;mission/sysDefs.h 14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/tcsDefs.h 14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/tcsDefs.h 14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h diff --git a/generators/bsp_q7s_events.csv b/generators/bsp_q7s_events.csv index 33223d92..61e3a82a 100644 --- a/generators/bsp_q7s_events.csv +++ b/generators/bsp_q7s_events.csv @@ -273,7 +273,7 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path 14011;0x36bb;I2C_REBOOT;HIGH;I2C is unavailable. Recovery did not work, performing full reboot.;mission/sysDefs.h 14012;0x36bc;PDEC_REBOOT;HIGH;PDEC recovery through reset was not possible, performing full reboot.;mission/sysDefs.h 14013;0x36bd;FIRMWARE_INFO;INFO;Version information of the firmware (not OBSW). P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;mission/sysDefs.h -14014;0x36be;ACTIVE_SD_INFO;INFO;Active SD card info. 0: OFF, 1: ON, 2: MOUNTED. P1: SD Card 0, P2: SD Card 2.;mission/sysDefs.h +14014;0x36be;ACTIVE_SD_INFO;INFO;Active SD card info. 0: OFF, 1: ON, 2: MOUNTED. P1: SD Card 0, P2: SD Card 1.;mission/sysDefs.h 14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/tcsDefs.h 14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/tcsDefs.h 14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h diff --git a/generators/events/translateEvents.cpp b/generators/events/translateEvents.cpp index dcc75002..65b11c49 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 301 translations. * @details - * Generated on: 2023-07-21 10:26:17 + * Generated on: 2023-07-21 11:04:23 */ #include "translateEvents.h" diff --git a/generators/objects/translateObjects.cpp b/generators/objects/translateObjects.cpp index b8e2743f..8bd6ae3d 100644 --- a/generators/objects/translateObjects.cpp +++ b/generators/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 175 translations. - * Generated on: 2023-07-21 10:25:32 + * Generated on: 2023-07-21 11:04:23 */ #include "translateObjects.h" diff --git a/linux/fsfwconfig/events/translateEvents.cpp b/linux/fsfwconfig/events/translateEvents.cpp index dcc75002..65b11c49 100644 --- a/linux/fsfwconfig/events/translateEvents.cpp +++ b/linux/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 301 translations. * @details - * Generated on: 2023-07-21 10:26:17 + * Generated on: 2023-07-21 11:04:23 */ #include "translateEvents.h" diff --git a/linux/fsfwconfig/objects/translateObjects.cpp b/linux/fsfwconfig/objects/translateObjects.cpp index b8e2743f..8bd6ae3d 100644 --- a/linux/fsfwconfig/objects/translateObjects.cpp +++ b/linux/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 175 translations. - * Generated on: 2023-07-21 10:25:32 + * Generated on: 2023-07-21 11:04:23 */ #include "translateObjects.h" diff --git a/mission/sysDefs.h b/mission/sysDefs.h index efa6e9ec..4a53a76d 100644 --- a/mission/sysDefs.h +++ b/mission/sysDefs.h @@ -125,8 +125,9 @@ static constexpr Event PDEC_REBOOT = event::makeEvent(SUBSYSTEM_ID, 12, severity //! P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash //! P2: First four letters of Git SHA is the last byte of P1 is set. static constexpr Event FIRMWARE_INFO = event::makeEvent(SUBSYSTEM_ID, 13, severity::INFO); -//! [EXPORT] : [COMMENT] Active SD card info. 0: OFF, 1: ON, 2: MOUNTED. -//! P1: SD Card 0, P2: SD Card 2. +//! [EXPORT] : [COMMENT] Active SD card info. SD States: 0: OFF, 1: ON, 2: MOUNTED. +//! P1: Active SD Card Index, 0 if none is active +//! P2: First two bytes: SD state of SD card 0, last two bytes SD state of SD card 1 static constexpr Event ACTIVE_SD_INFO = event::makeEvent(SUBSYSTEM_ID, 14, severity::INFO); class ListDirectoryCmdBase { diff --git a/tmtc b/tmtc index 40c08608..fd6b76bf 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 40c086086b6ad0a3707420a12d6185e8dcf2abf2 +Subproject commit fd6b76bfdde8351bcf848e5a13700fee14ae1254