fsfw/src/fsfw/modes/ModeMessage.cpp

43 lines
1.4 KiB
C++
Raw Normal View History

2021-07-13 20:22:54 +02:00
#include "fsfw/modes/ModeMessage.h"
2022-02-02 10:29:30 +01:00
Mode_t ModeMessage::getMode(const CommandMessage* message) { return message->getParameter(); }
Submode_t ModeMessage::getSubmode(const CommandMessage* message) {
2022-02-02 10:29:30 +01:00
return message->getParameter2();
}
2022-02-02 10:29:30 +01:00
void ModeMessage::setModeMessage(CommandMessage* message, Command_t command, Mode_t mode,
Submode_t submode) {
message->setCommand(command);
message->setParameter(mode);
message->setParameter2(submode);
}
ReturnValue_t ModeMessage::getCantReachModeReason(const CommandMessage* message) {
2022-02-02 10:29:30 +01:00
return message->getParameter();
}
2022-02-02 10:29:30 +01:00
void ModeMessage::clear(CommandMessage* message) { message->setCommand(CommandMessage::CMD_NONE); }
2022-02-02 10:29:30 +01:00
void ModeMessage::setCantReachMode(CommandMessage* message, ReturnValue_t reason) {
message->setCommand(REPLY_CANT_REACH_MODE);
message->setParameter(reason);
message->setParameter2(0);
}
2023-02-08 01:20:28 +01:00
void ModeMessage::setModeAnnounceMessage(CommandMessage& message, bool recursive) {
Command_t cmd;
if (recursive) {
cmd = CMD_MODE_ANNOUNCE_RECURSIVELY;
} else {
cmd = CMD_MODE_ANNOUNCE;
}
message.setCommand(cmd);
}
void ModeMessage::setCmdModeMessage(CommandMessage& message, Mode_t mode, Submode_t submode) {
setModeMessage(&message, CMD_MODE_COMMAND, mode, submode);
}
void ModeMessage::setModeReadMessage(CommandMessage& message) { message.setCommand(CMD_MODE_READ); }