diff --git a/.vscode/settings.json b/.vscode/settings.json index befe29ab75f0f5a01539623896c81d91a2676341..d64d9495c135a6f23bd27faa31950c80082b3441 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -132,10 +132,11 @@ "Setpoint", "stateinitializer", "telecommands", + "TMTC", "UBXGPS", "usart", "VREF", "Xbee" ], "C_Cpp.errorSquiggles": "Enabled" -} \ No newline at end of file +} diff --git a/src/boards/Main/CanHandler/CanHandler.cpp b/src/boards/Main/CanHandler/CanHandler.cpp index 46efa01b66847abf384611db1d498c6cfc927d9f..4fae63374a2b80b4ec2cf5fa7915c2df15db6fad 100644 --- a/src/boards/Main/CanHandler/CanHandler.cpp +++ b/src/boards/Main/CanHandler/CanHandler.cpp @@ -78,6 +78,24 @@ void CanHandler::sendCamOffEvent() static_cast<uint8_t>(EventId::CAM_OFF)); } +void CanHandler::sendLiftoffEvent() +{ + protocol->enqueueEvent(static_cast<uint8_t>(Priority::CRITICAL), + static_cast<uint8_t>(PrimaryType::EVENTS), + static_cast<uint8_t>(Board::MAIN), + static_cast<uint8_t>(Board::BROADCAST), + static_cast<uint8_t>(EventId::LIFTOFF)); +} + +void CanHandler::sendApogeeEvent() +{ + protocol->enqueueEvent(static_cast<uint8_t>(Priority::CRITICAL), + static_cast<uint8_t>(PrimaryType::EVENTS), + static_cast<uint8_t>(Board::MAIN), + static_cast<uint8_t>(Board::BROADCAST), + static_cast<uint8_t>(EventId::APOGEE)); +} + CanHandler::CanHandler() { CanbusDriver::AutoBitTiming bitTiming; diff --git a/src/boards/Main/CanHandler/CanHandler.h b/src/boards/Main/CanHandler/CanHandler.h index 13c4892b5830314b99b8f95730e37c318e402b65..9cddaf6d8455a30590de7562b8f1d408ee3d8520 100644 --- a/src/boards/Main/CanHandler/CanHandler.h +++ b/src/boards/Main/CanHandler/CanHandler.h @@ -39,16 +39,14 @@ public: bool isStarted(); // Boardcore::Canbus::CanRXStatus getCanStatus(); - // void logStatus(); void sendArmEvent(); - void sendDisarmEvent(); - void sendCamOnEvent(); - void sendCamOffEvent(); + void sendLiftoffEvent(); + void sendApogeeEvent(); private: CanHandler(); diff --git a/src/boards/Main/Configs/CanHandlerConfig.h b/src/boards/Main/Configs/CanHandlerConfig.h index eabb101659dd85b076d61b0a201001ee85cc2563..520136a11eb63a60d916f985b66d3a150d244060 100644 --- a/src/boards/Main/Configs/CanHandlerConfig.h +++ b/src/boards/Main/Configs/CanHandlerConfig.h @@ -34,6 +34,7 @@ namespace Main namespace CanHandlerConfig { + static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{ {Common::CanConfig::EventId::ARM, Common::TMTC_ARM}, {Common::CanConfig::EventId::DISARM, Common::TMTC_DISARM}, @@ -47,8 +48,10 @@ static const std::map<Common::Events, std::function<void(CanHandler *)>> {Common::TMTC_DISARM, &CanHandler::sendDisarmEvent}, {Common::TMTC_START_RECORDING, &CanHandler::sendCamOnEvent}, {Common::TMTC_STOP_RECORDING, &CanHandler::sendCamOffEvent}, + {Common::FLIGHT_LIFTOFF, &CanHandler::sendLiftoffEvent}, + {Common::FLIGHT_APOGEE_DETECTED, &CanHandler::sendApogeeEvent}, }; } // namespace CanHandlerConfig -} // namespace Main \ No newline at end of file +} // namespace Main diff --git a/src/boards/Payload/Configs/CanHandlerConfig.h b/src/boards/Payload/Configs/CanHandlerConfig.h index 37b09d2d8be35b7c3bfb3ef97074b0cc90908a62..00105bffa984f01457b2545fc29da3c15729b090 100644 --- a/src/boards/Payload/Configs/CanHandlerConfig.h +++ b/src/boards/Payload/Configs/CanHandlerConfig.h @@ -34,12 +34,14 @@ namespace Payload namespace CanHandlerConfig { + static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{ {Common::CanConfig::EventId::ARM, Common::TMTC_ARM}, {Common::CanConfig::EventId::DISARM, Common::TMTC_DISARM}, - {Common::CanConfig::EventId::LIFTOFF, Common::TMTC_FORCE_LAUNCH}, {Common::CanConfig::EventId::CAM_ON, Common::TMTC_START_RECORDING}, {Common::CanConfig::EventId::CAM_OFF, Common::TMTC_STOP_RECORDING}, + {Common::CanConfig::EventId::LIFTOFF, Common::TMTC_FORCE_LAUNCH}, + {Common::CanConfig::EventId::APOGEE, Common::TMTC_FORCE_APOGEE}, }; static const std::map<Common::Events, std::function<void(CanHandler *)>> @@ -52,4 +54,4 @@ static const std::map<Common::Events, std::function<void(CanHandler *)>> } // namespace CanHandlerConfig -} // namespace Payload \ No newline at end of file +} // namespace Payload