5 #ifndef MODE_MANAGER_H_
6 #define MODE_MANAGER_H_
8 #include "../TimeManager/obc_time.h"
10 #include "../../TlmCmd/common_cmd_packet.h"
11 #include "../../TlmCmd/block_command_table.h"
13 #define MM_NOT_DEFINED (BCT_MAX_BLOCKS)
@ MM_STATUS_FINISHED
モード遷移終了
@ MM_STATUS_IN_PROGRESS
モード遷移実行中
CCP_CmdRet Cmd_MM_SET_MODE_LIST(const CommonCmdPacket *packet)
モード遷移後にタスクリストとして実行するブロックコマンドを設定するコマンド
CCP_CmdRet Cmd_MM_FINISH_TRANSITION(const CommonCmdPacket *packet)
モード遷移終了を示すコマンド モード遷移のブロックコマンドの最後に入れて使う 入っていない場合、タスクリストが遷移先のモードに置き換わらないので注意
CCP_CmdRet Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM(const CommonCmdPacket *packet)
MM_ACK MM_set_mode_list(MD_MODEID mode, bct_id_t bc_index)
Cmd_MM_SET_MODE_LISTの実体
CCP_CmdRet Cmd_MM_START_TRANSITION(const CommonCmdPacket *packet)
モード遷移を開始するコマンド
const ModeManager *const mode_manager
MM_ACK
ModeManager 関連関数の返り値
@ MM_TL_LOAD_FAILED
Task List へのモード BC 登録失敗
@ MM_BAD_BC_INDEX
モード用の BC の ID 異常
@ MM_INACTIVE_BLOCK
モード用 BC が 無効
@ MM_NOT_IN_PROGRESS
モード遷移中ではない
@ MM_ILLEGAL_MOVE
モード遷移用の BC が存在しない
void MM_initialize(void)
モード遷移を管理する ModeManager 構造体 (mode_manager_) の初期化
CCP_CmdRet Cmd_MM_SET_TRANSITION_TABLE(const CommonCmdPacket *packet)
モード遷移時に実行するブロックコマンドを設定するコマンド
MM_ACK MM_set_transition_table(MD_MODEID from, MD_MODEID to, bct_id_t bc_index)
Cmd_MM_SET_TRANSITION_TABLEの実体
uint16_t MM_update_transition_table_for_tlm(void)
TLM 用情報の生成
bct_id_t MM_get_tasklist_id_of_mode(MD_MODEID mode)
mode に対応した TL の BCT ID を取得する
ModeMangaer のパラメーターオーバーライト
bct_id_t bc_index
モード遷移に該当する bc id
MD_MODEID current_id
現在のモードID
MD_MODEID previous_id
ひとつ前のモードID