C2A_Core
mode_manager.h ファイル

モード遷移の制御の定義 [詳解]

mode_manager.h の依存先関係図:
被依存関係図:

[ソースコード]

データ構造

struct  MM_TransitionEdge
 MM TLM 用の構造体 [詳解]
 
struct  ModeManager
 ModeManager 本体 [詳解]
 

マクロ定義

#define MM_NOT_DEFINED   (BCT_MAX_BLOCKS)
 

列挙型

enum  MM_ACK {
  MM_SUCCESS , MM_BAD_ID , MM_BAD_BC_INDEX , MM_INACTIVE_BLOCK ,
  MM_OVERWRITE , MM_ILLEGAL_MOVE , MM_NOT_IN_PROGRESS , MM_TL_LOAD_FAILED
}
 ModeManager 関連関数の返り値 [詳解]
 
enum  MM_STATUS { MM_STATUS_FINISHED , MM_STATUS_IN_PROGRESS }
 モード遷移状態 [詳解]
 

関数

void MM_initialize (void)
 モード遷移を管理する ModeManager 構造体 (mode_manager_) の初期化 [詳解]
 
uint16_t MM_update_transition_table_for_tlm (void)
 TLM 用情報の生成 [詳解]
 
MM_ACK MM_set_mode_list (MD_MODEID mode, bct_id_t bc_index)
 Cmd_MM_SET_MODE_LISTの実体 [詳解]
 
MM_ACK MM_set_transition_table (MD_MODEID from, MD_MODEID to, bct_id_t bc_index)
 Cmd_MM_SET_TRANSITION_TABLEの実体 [詳解]
 
bct_id_t MM_get_tasklist_id_of_mode (MD_MODEID mode)
 mode に対応した TL の BCT ID を取得する [詳解]
 
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_FINISH_TRANSITION (const CommonCmdPacket *packet)
 モード遷移終了を示すコマンド モード遷移のブロックコマンドの最後に入れて使う 入っていない場合、タスクリストが遷移先のモードに置き換わらないので注意 [詳解]
 
CCP_CmdRet Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM (const CommonCmdPacket *packet)
 

変数

const ModeManager *const mode_manager
 

詳解

モード遷移の制御の定義

mode_manager.h に定義があります。

マクロ定義詳解

◆ MM_NOT_DEFINED

#define MM_NOT_DEFINED   (BCT_MAX_BLOCKS)

mode_manager.h13 行目に定義があります。

列挙型詳解

◆ MM_ACK

enum MM_ACK

ModeManager 関連関数の返り値

覚え書き
uint8_t を想定
列挙値
MM_SUCCESS 

成功

MM_BAD_ID 

モード番号異常

MM_BAD_BC_INDEX 

モード用の BC の ID 異常

MM_INACTIVE_BLOCK 

モード用 BC が 無効

MM_OVERWRITE 

別のモード遷移実行中

MM_ILLEGAL_MOVE 

モード遷移用の BC が存在しない

MM_NOT_IN_PROGRESS 

モード遷移中ではない

MM_TL_LOAD_FAILED 

Task List へのモード BC 登録失敗

mode_manager.h22 行目に定義があります。

◆ MM_STATUS

enum MM_STATUS

モード遷移状態

覚え書き
uint8_t を想定
列挙値
MM_STATUS_FINISHED 

モード遷移終了

MM_STATUS_IN_PROGRESS 

モード遷移実行中

mode_manager.h39 行目に定義があります。

関数詳解

◆ Cmd_MM_FINISH_TRANSITION()

CCP_CmdRet Cmd_MM_FINISH_TRANSITION ( const CommonCmdPacket packet)

モード遷移終了を示すコマンド モード遷移のブロックコマンドの最後に入れて使う 入っていない場合、タスクリストが遷移先のモードに置き換わらないので注意

mode_manager.c251 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ Cmd_MM_SET_MODE_LIST()

CCP_CmdRet Cmd_MM_SET_MODE_LIST ( const CommonCmdPacket packet)

モード遷移後にタスクリストとして実行するブロックコマンドを設定するコマンド

mode_manager.c85 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ Cmd_MM_SET_TRANSITION_TABLE()

CCP_CmdRet Cmd_MM_SET_TRANSITION_TABLE ( const CommonCmdPacket packet)

モード遷移時に実行するブロックコマンドを設定するコマンド

mode_manager.c137 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ Cmd_MM_START_TRANSITION()

CCP_CmdRet Cmd_MM_START_TRANSITION ( const CommonCmdPacket packet)

モード遷移を開始するコマンド

mode_manager.c192 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM()

CCP_CmdRet Cmd_MM_UPDATE_TRANSITION_TABLE_FOR_TLM ( const CommonCmdPacket packet)

mode_manager.c299 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ MM_get_tasklist_id_of_mode()

bct_id_t MM_get_tasklist_id_of_mode ( MD_MODEID  mode)

mode に対応した TL の BCT ID を取得する

覚え書き
引数アサーションは行わない.不正な mode の場合は 0 を返す.
引数
[in]mode対応するモード
戻り値
モード対応する BC ID

mode_manager.c330 行目に定義があります。

被呼び出し関係図:

◆ MM_initialize()

void MM_initialize ( void  )

モード遷移を管理する ModeManager 構造体 (mode_manager_) の初期化

引数
void
戻り値
void

mode_manager.c50 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ MM_set_mode_list()

MM_ACK MM_set_mode_list ( MD_MODEID  mode,
bct_id_t  bc_index 
)

Cmd_MM_SET_MODE_LISTの実体

引数
[in]mode対応 Mode ID
[in]bc_indexMode に対応する BC ID
戻り値
MM_ACK

mode_manager.c109 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ MM_set_transition_table()

MM_ACK MM_set_transition_table ( MD_MODEID  from,
MD_MODEID  to,
bct_id_t  bc_index 
)

Cmd_MM_SET_TRANSITION_TABLEの実体

引数
[in]from遷移元
[in]to遷移先
[in]bc_index遷移に対応する BC ID
戻り値
MM_ACK

mode_manager.c162 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ MM_update_transition_table_for_tlm()

uint16_t MM_update_transition_table_for_tlm ( void  )

TLM 用情報の生成

引数
void
戻り値
uint8_t: 遷移 Edge 本数
覚え書き
テレメの上部で呼び出されるようにするとテレメ生成時に勝手に情報が更新されて便利 (tlm update cmd を打つ必要が無い)

mode_manager.c307 行目に定義があります。

被呼び出し関係図:

変数詳解

◆ mode_manager

const ModeManager* const mode_manager
extern

mode_manager.c48 行目に定義があります。