8 #include "../System/TimeManager/time_manager.h"
9 #include "../System/EventManager/event_logger.h"
38 static uint8_t init_counter = 0;
40 cdis.
idx = init_counter;
98 if (cdis->
pl == NULL)
return;
141 note = ((0X000000ff & cdis->
idx) << 24)
166 if (cdis->
pl == NULL)
return;
void CDIS_clear_command_list(CommandDispatcher *cdis)
CDIS に登録されているコマンドキューからコマンドを削除
CDIS_EL_LOCAL_ID
CDIS 内部の event の local ID
@ CDIS_EL_LOCAL_ID_NULL_PARAM
NULL 引数
@ CDIS_EL_LOCAL_ID_UNKNOWN
@ CDIS_EL_LOCAL_ID_INVALID_PL
不正な PL
CommandDispatcher CDIS_init(PacketList *pl)
CDIS の初期化と取得
void CDIS_dispatch_command(CommandDispatcher *cdis)
CDIS に登録されているコマンドキューからコマンドを実行
static void CDIS_clear_exec_info_(CDIS_ExecInfo *exec_info)
CDIS_ExecInfo の初期化
void CDIS_clear_error_status(CommandDispatcher *cdis)
CDIS に登録されているコマンドキューのコマンド実行エラー情報を削除
CMD_CODE CCP_get_id(const CommonCmdPacket *packet)
CMD ID を取得
CCP_CmdRet CCP_make_cmd_ret_without_err_code(CCP_EXEC_STS exec_sts)
コマンド返り値である CCP_CmdRet を作成(エラーコード不使用版)
EL_ACK EL_record_event(EL_GROUP group, uint32_t local, EL_ERROR_LEVEL err_level, uint32_t note)
イベント (EL_Event) を記録
@ EL_CORE_GROUP_CDIS_INTERNAL_ERR
@ EL_CORE_GROUP_CDIS_EXEC_ERR_STS
@ EL_CORE_GROUP_CDIS_EXEC_ERR_CODE
EL_GROUP
event_logger の Event Group の user 定義部分
void OBCT_clear(ObcTime *time)
ObcTime をクリアし全てゼロにする
CCP_CmdRet PH_dispatch_command(const CommonCmdPacket *packet)
CCP をコマンドとして解釈して実行,ないしは別機器へ配送する
C2A 全体を流れる Common Packet の配送を制御する
void PL_clear_list(PacketList *pl)
PacketList をクリア
PL_PACKET_TYPE PL_get_packet_type(const PacketList *pl)
PacketList で使用される packet の型情報 PL_PACKET_TYPE を返す
const PL_Node * PL_get_head(const PacketList *pl)
PacketList の active な先頭 Node を取得
PL_ACK PL_drop_executed(PacketList *pl)
先頭 Node を落とす
int PL_is_empty(const PacketList *pl)
PacketList が空かどうか
@ PL_PACKET_TYPE_CCP
CommonCmdPacket
uint32_t err_code
各 Cmd ユニークなエラーコード.各 App で定義する enum などを入れることを想定.
CCP_EXEC_STS exec_sts
CCP_EXEC_STS.Cmd の統一的なエラーコード
CommandDispatcher の Info 構造体
uint8_t idx
CDIS のインデックス. EL で用いる
int stop_on_error
異常時実行中断フラグ
CDIS_ExecInfo prev_err
最後にエラーが出たコマンド実行情報
uint32_t error_counter
エラーカウンタ
CDIS_ExecInfo prev
前回のコマンド実行情報
void * packet
片方向リストに格納される packet. どのような型でも良いように, void.(基本的には CTCP, CTP, CCP を想定)
ObcTime TMGR_get_master_clock(void)
現在の master_clock_ を取得する