C2A_Core
|
モード遷移の制御 [詳解]
#include "mode_manager.h"
#include <string.h>
#include "../TimeManager/time_manager.h"
#include "../TaskManager/task_dispatcher.h"
#include "../EventManager/event_logger.h"
#include "../../TlmCmd/block_command_executor.h"
#include "../../TlmCmd/common_cmd_packet_util.h"
#include <src_user/TlmCmd/command_definitions.h>
#include "../../TlmCmd/packet_handler.h"
#include "../../Applications/timeline_command_dispatcher_id_define.h"
#include "../../Library/endian.h"
関数 | |
static MM_ACK | MM_start_transition_ (MD_MODEID id) |
Cmd_MM_START_TRANSITIONの実体 [詳解] | |
static MM_ACK | MM_finish_transition_ (void) |
Cmd_MM_FINISH_TRANSITIONの実体 [詳解] | |
static void | MM_deploy_block_cmd_ (bct_id_t index) |
(モード遷移に対応する)ブロックコマンドのタイムラインへの展開を行う [詳解] | |
static void | MM_clear_transition_table_ (void) |
モード遷移テーブルをすべて未定義に初期化する [詳解] | |
void | MM_initialize (void) |
モード遷移を管理する ModeManager 構造体 (mode_manager_) の初期化 [詳解] | |
CCP_CmdRet | Cmd_MM_SET_MODE_LIST (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_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の実体 [詳解] | |
CCP_CmdRet | Cmd_MM_START_TRANSITION (const CommonCmdPacket *packet) |
モード遷移を開始するコマンド [詳解] | |
CCP_CmdRet | Cmd_MM_FINISH_TRANSITION (const CommonCmdPacket *packet) |
モード遷移終了を示すコマンド モード遷移のブロックコマンドの最後に入れて使う 入っていない場合、タスクリストが遷移先のモードに置き換わらないので注意 [詳解] | |
CCP_CmdRet | Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM (const CommonCmdPacket *packet) |
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 を取得する [詳解] | |
変数 | |
static ModeManager | mode_manager_ |
const ModeManager *const | mode_manager = &mode_manager_ |
モード遷移の制御
mode_manager.c に定義があります。
CCP_CmdRet Cmd_MM_FINISH_TRANSITION | ( | const CommonCmdPacket * | packet | ) |
モード遷移終了を示すコマンド モード遷移のブロックコマンドの最後に入れて使う 入っていない場合、タスクリストが遷移先のモードに置き換わらないので注意
mode_manager.c の 251 行目に定義があります。
CCP_CmdRet Cmd_MM_SET_MODE_LIST | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_MM_SET_TRANSITION_TABLE | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_MM_START_TRANSITION | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM | ( | const CommonCmdPacket * | packet | ) |
|
static |
|
static |
(モード遷移に対応する)ブロックコマンドのタイムラインへの展開を行う
[in] | index | 展開する BC ID |
mode_manager.c の 294 行目に定義があります。
|
static |
mode に対応した TL の BCT ID を取得する
[in] | mode | 対応するモード |
mode_manager.c の 330 行目に定義があります。
void MM_initialize | ( | void | ) |
モード遷移を管理する ModeManager 構造体 (mode_manager_) の初期化
void |
mode_manager.c の 50 行目に定義があります。
Cmd_MM_SET_MODE_LISTの実体
[in] | mode | 対応 Mode ID |
[in] | bc_index | Mode に対応する BC ID |
mode_manager.c の 109 行目に定義があります。
Cmd_MM_SET_TRANSITION_TABLEの実体
[in] | from | 遷移元 |
[in] | to | 遷移先 |
[in] | bc_index | 遷移に対応する BC ID |
mode_manager.c の 162 行目に定義があります。
Cmd_MM_START_TRANSITIONの実体
[in] | id | 移行先の Mode ID |
mode_manager.c の 208 行目に定義があります。
uint16_t MM_update_transition_table_for_tlm | ( | void | ) |
TLM 用情報の生成
void |
mode_manager.c の 307 行目に定義があります。
const ModeManager* const mode_manager = &mode_manager_ |
mode_manager.c の 48 行目に定義があります。
|
static |
mode_manager.c の 47 行目に定義があります。