From fbd2a5a10871db04951dac1d643e6e5195692355 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Tue, 11 Apr 2023 13:16:23 +0900 Subject: [PATCH 01/19] impl foward tlm --- TlmCmd/telemetry_generator.c | 116 ++++++++++++++++++++++++++++++++++- TlmCmd/telemetry_generator.h | 26 +++++++- 2 files changed, 140 insertions(+), 2 deletions(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 51f37ba70..a25d8a5aa 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -27,6 +27,22 @@ static CCP_CmdRet TG_generate_tlm_(TLM_CODE tlm_id, uint8_t dest_info, uint8_t num_dumps); +/** + * @brief 2nd OBC のテレメを転送 + * @note 自身の OBC のテレメは転送できない + * @param[in] apid: 転送する 2nd OBC tlm の APID + * @param[in] tlm_id: Tlm ID + * @param[in] dest_flags: Dest Flags + * @param[in] dest_info: Dest Info + * @param[in] dump_num: テレメ送出回数 + * @return CCP_CmdRet + */ +static CCP_CmdRet TG_foward_tlm_(APID apid, + TLM_CODE tlm_id, + ctp_dest_flags_t dest_flags, + uint8_t dest_info, + uint8_t dump_num) + /** * @brief 次のパケットで用いる Sequence Count を取得 * @param void @@ -155,6 +171,49 @@ CCP_CmdRet Cmd_TG_GENERATE_ST_TLM(const CommonCmdPacket* packet) } +CCP_CmdRet Cmd_TG_FOWARD_TLM(const CommonCmdPacket* packet) +{ + APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); + TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); + ctp_dest_flags_t dest_flags = (ctp_dest_flags_t)CCP_get_param_from_packet(packet, 2, uint8_t); + uint8_t dest_info = CCP_get_param_from_packet(packet, 3, uint8_t); + uint8_t dump_num = CCP_get_param_from_packet(packet, 4, uint8_t); + + return TG_foward_tlm_(apid, tlm_id, dest_flags, dest_info, dump_num); +} + + +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) +{ + APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); + TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); + uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); + + return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_HK, 0, dump_num); +} + + +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) +{ + APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); + TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); + uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); + + return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_MS, 0, dump_num); +} + + +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet) +{ + APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); + TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); + uint8_t dr_partition = CCP_get_param_from_packet(packet, 2, uint8_t); + uint8_t dump_num = CCP_get_param_from_packet(packet, 3, uint8_t); + + return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_ST, dr_partition, dump_num); +} + + static CCP_CmdRet TG_generate_tlm_(TLM_CODE tlm_id, ctp_dest_flags_t dest_flags, uint8_t dest_info, @@ -212,7 +271,62 @@ static CCP_CmdRet TG_generate_tlm_(TLM_CODE tlm_id, } -static uint16_t TG_get_next_seq_count_(void) +static CCP_CmdRet TG_foward_tlm_(APID apid, + TLM_CODE tlm_id, + ctp_dest_flags_t dest_flags, + uint8_t dest_info, + uint8_t dump_num) +{ + TF_TLM_FUNC_ACK ack; + uint16_t packet_len; + + if (dump_num >= 8) + { + // FIXME: TG_generate_tlm_ とともに要検討 + return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 0); + } + + // ack = TF_generate_contents(tlm_id, + // TG_ctp_.packet, + // &packet_len, + // TSP_MAX_LEN); + + // // 範囲外のTLM IDを除外 + // if (ack == TF_TLM_FUNC_ACK_NOT_DEFINED) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 1); + // if (ack != TF_TLM_FUNC_ACK_SUCCESS) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_CONTEXT, (uint32_t)ack); + + // 2nd OBC なので, Header は可能な限り維持 + // Primary Header → 維持 + (void)ack; + (void)apid; + (void)tlm_id; + (void)packet_len; + + // Secondary Header + if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffff) + { + CTP_set_global_time(&TG_ctp_); + } + if (TSP_get_on_board_subnet_time(&TG_ctp_) == 0xffffffff) + { + TSP_set_on_board_subnet_time(&TG_ctp_, (uint32_t)(TMGR_get_master_total_cycle())); // FIXME: 暫定 + } + + TSP_set_dest_flags(&TG_ctp_, dest_flags); + TSP_set_dest_info(&TG_ctp_, dest_info); + + // 生成したパケットを指定された回数配送処理へ渡す + while (dump_num != 0) + { + PH_analyze_tlm_packet(&TG_ctp_); + --dump_num; + } + + return CCP_make_cmd_ret_without_err_code(CCP_EXEC_SUCCESS); +} + + +static uint8_t TG_get_next_seq_count_(void) { // インクリメントした値を返すため初期値は 0xffff とする static uint16_t adu_counter_ = 0xffff; diff --git a/TlmCmd/telemetry_generator.h b/TlmCmd/telemetry_generator.h index 19c6c8dbf..c01bbeed5 100644 --- a/TlmCmd/telemetry_generator.h +++ b/TlmCmd/telemetry_generator.h @@ -25,9 +25,33 @@ CCP_CmdRet Cmd_TG_GENERATE_MS_TLM(const CommonCmdPacket* packet); /** * @brief ST テレメを生成 - * @note Cmd_TG_GENERATE_TLM の Destination Flags が Stored Telemetry のエイリアス + * @note Cmd_TG_GENERATE_TLM の Destination Flags が Stored Telemetry のエイリアス * @note Data Recorder のどのパーティションに配送されるかも引数で受ける */ CCP_CmdRet Cmd_TG_GENERATE_ST_TLM(const CommonCmdPacket* packet); +/** + * @brief 2nd OBC のテレメを転送 + */ +CCP_CmdRet Cmd_TG_FOWARD_TLM(const CommonCmdPacket* packet); + +/** + * @brief HK テレメとして 2nd OBC のテレメを転送 + * @note Cmd_TG_FOWARD_TLM の Destination Flags が Housekeeping Telemetry のエイリアス + */ +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet); + +/** + * @brief MS テレメとして 2nd OBC のテレメを転送 + * @note Cmd_TG_FOWARD_TLM の Destination Flags が Mission Telemetry のエイリアス + */ +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet); + +/** + * @brief ST テレメとして 2nd OBC のテレメを転送 + * @note Cmd_TG_FOWARD_TLM の Destination Flags が Stored Telemetry のエイリアス + * @note Data Recorder のどのパーティションに配送されるかも引数で受ける + */ +CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet); + #endif From f956900dd9ab32dbeb7b2a7393aa1cc3a0bdf645 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Tue, 11 Apr 2023 14:32:13 +0900 Subject: [PATCH 02/19] add foward cmd to cmd db --- .../CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv | 158 +++++++------- .../Drivers/Aocs/aobc_command_definitions.h | 154 +++++++------- .../CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv | 200 +++++++++--------- .../src/src_user/TlmCmd/command_definitions.c | 20 ++ .../src/src_user/TlmCmd/command_definitions.h | 196 ++++++++--------- 5 files changed, 378 insertions(+), 350 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv index ae52bd532..6b2bc3bec 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv @@ -35,89 +35,93 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_HK_TLM,OBC,0x001C,1,uint8_t,tlm id,,,,,,,,,,,,,HK テレメを生成 (事実上,現在使われていない), ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, +,TG_FOWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, +,TG_FOWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FOWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FOWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, -,BCT_CLEAR_BLOCK,OBC,0x001F,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, -,BCT_SET_BLOCK_POSITION,OBC,0x0020,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, -,BCT_COPY_BCT,OBC,0x0021,2,uint16_t,dst_bc_index,uint16_t,src_bc_index,,,,,,,,,,,BCT の内容を別の場所にコピー, -,BCT_OVERWRITE_CMD,OBC,0x0022,5,uint16_t,CMD_CODE,uint32_t,TI,uint16_t,pos.block,uint8_t,pos.cmd,raw,cmd_param (big endian),,,danger,,BCTの内容を上書き, -,BCT_FILL_NOP,OBC,0x0023,1,uint8_t,,,,,,,,,,,,,,テレメ運用時の10個BCをNOP埋めする.(NOP個数), +,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, +,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, +,BCT_COPY_BCT,OBC,0x0025,2,uint16_t,dst_bc_index,uint16_t,src_bc_index,,,,,,,,,,,BCT の内容を別の場所にコピー, +,BCT_OVERWRITE_CMD,OBC,0x0026,5,uint16_t,CMD_CODE,uint32_t,TI,uint16_t,pos.block,uint8_t,pos.cmd,raw,cmd_param (big endian),,,danger,,BCTの内容を上書き, +,BCT_FILL_NOP,OBC,0x0027,1,uint8_t,,,,,,,,,,,,,,テレメ運用時の10個BCをNOP埋めする.(NOP個数), **,BCEコマンド,,,,,,,,,,,,,,,,,,, -,BCE_ACTIVATE_BLOCK,OBC,0x0024,0,,,,,,,,,,,,,,,BLC有効化コマンド, -,BCE_ACTIVATE_BLOCK_BY_ID,OBC,0x0025,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)有効化, -,BCE_INACTIVATE_BLOCK_BY_ID,OBC,0x0026,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)無効化, -,BCE_ROTATE_BLOCK,OBC,0x0027,1,uint16_t,bc_index,,,,,,,,,,,,,BLC回転コマンド, -,BCE_COMBINE_BLOCK,OBC,0x0028,1,uint16_t,bc_index,,,,,,,,,,,,,BLC融合コマンド, -,BCE_TIMELIMIT_COMBINE_BLOCK,OBC,0x0029,2,uint16_t,bc_index,uint8_t,limit_step,,,,,,,,,,,時間制限付きBLC融合コマンド, -,BCE_RESET_ROTATOR_INFO,OBC,0x002A,0,,,,,,,,,,,,,danger,,カウンタ類リセット, -,BCE_RESET_COMBINER_INFO,OBC,0x002B,0,,,,,,,,,,,,,danger,,カウンタ類リセット, -,BCE_SET_ROTATE_INTERVAL,OBC,0x002C,2,uint16_t,,uint16_t,,,,,,,,,,,,BC回転時の回転間隔周期を設定する, +,BCE_ACTIVATE_BLOCK,OBC,0x0028,0,,,,,,,,,,,,,,,BLC有効化コマンド, +,BCE_ACTIVATE_BLOCK_BY_ID,OBC,0x0029,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)有効化, +,BCE_INACTIVATE_BLOCK_BY_ID,OBC,0x002A,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)無効化, +,BCE_ROTATE_BLOCK,OBC,0x002B,1,uint16_t,bc_index,,,,,,,,,,,,,BLC回転コマンド, +,BCE_COMBINE_BLOCK,OBC,0x002C,1,uint16_t,bc_index,,,,,,,,,,,,,BLC融合コマンド, +,BCE_TIMELIMIT_COMBINE_BLOCK,OBC,0x002D,2,uint16_t,bc_index,uint8_t,limit_step,,,,,,,,,,,時間制限付きBLC融合コマンド, +,BCE_RESET_ROTATOR_INFO,OBC,0x002E,0,,,,,,,,,,,,,danger,,カウンタ類リセット, +,BCE_RESET_COMBINER_INFO,OBC,0x002F,0,,,,,,,,,,,,,danger,,カウンタ類リセット, +,BCE_SET_ROTATE_INTERVAL,OBC,0x0030,2,uint16_t,,uint16_t,,,,,,,,,,,,BC回転時の回転間隔周期を設定する, **,GSCDコマンド,,,,,,,,,,,,,,,,,,, -,GSCD_CLEAR_ERR_LOG,OBC,0x002D,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, +,GSCD_CLEAR_ERR_LOG,OBC,0x0031,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, **,RTCDコマンド,,,,,,,,,,,,,,,,,,, -,RTCD_CLEAR_ALL_REALTIME,OBC,0x002E,0,,,,,,,,,,,,,danger,,全RTC登録解除, -,RTCD_CLEAR_ERR_LOG,OBC,0x002F,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, +,RTCD_CLEAR_ALL_REALTIME,OBC,0x0032,0,,,,,,,,,,,,,danger,,全RTC登録解除, +,RTCD_CLEAR_ERR_LOG,OBC,0x0033,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, **,EventLogger,,,,,,,,,,,,,,,,,,, -,EL_INIT,OBC,0x0030,0,,,,,,,,,,,,,,,EL初期化, -,EL_CLEAR_LOG_ALL,OBC,0x0031,0,,,,,,,,,,,,,,,全ログ削除, -,EL_CLEAR_LOG_BY_ERR_LEVEL,OBC,0x0032,1,uint8_t,err_level,,,,,,,,,,,,,エラーレベル指定ログ削除, -,EL_CLEAR_STATISTICS,OBC,0x0033,0,,,,,,,,,,,,,,,統計情報削除, -,EL_CLEAR_TLOG,OBC,0x0034,1,uint8_t,err_level,,,,,,,,,,,,,TLog削除, -,EL_CLEAR_CLOG,OBC,0x0035,1,uint8_t,err_level,,,,,,,,,,,,,CLog削除, -,EL_RECORD_EVENT,OBC,0x0036,4,uint32_t,group,uint32_t,local,uint8_t,err_level,uint32_t,note,,,,,,,イベント記録, -,EL_TLOG_SET_PAGE_FOR_TLM,OBC,0x0037,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,TLogのダウンリンクテレメ設定, -,EL_CLOG_SET_PAGE_FOR_TLM,OBC,0x0038,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,CLogのダウンリンクテレメ設定, -,EL_INIT_LOGGING_SETTINGS,OBC,0x0039,0,,,,,,,,,,,,,,,ログ設定を初期化, -,EL_ENABLE_LOGGING,OBC,0x003A,1,uint32_t,group,,,,,,,,,,,,,ロギングを有効化, -,EL_DISABLE_LOGGING,OBC,0x003B,1,uint32_t,group,,,,,,,,,,,,,ロギングを無効化, -,EL_ENABLE_LOGGING_ALL,OBC,0x003C,0,,,,,,,,,,,,,,,すべてのロギングを有効化, -,EL_DISABLE_LOGGING_ALL,OBC,0x003D,0,,,,,,,,,,,,,,,すべてのロギングを無効化, -,EL_ENABLE_TLOG_OVERWRITE,OBC,0x003E,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを有効化, -,EL_DISABLE_TLOG_OVERWRITE,OBC,0x003F,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを無効化, -,EL_ENABLE_TLOG_OVERWRITE_ALL,OBC,0x0040,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを有効化, -,EL_DISABLE_TLOG_OVERWRITE_ALL,OBC,0x0041,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを無効化, +,EL_INIT,OBC,0x0034,0,,,,,,,,,,,,,,,EL初期化, +,EL_CLEAR_LOG_ALL,OBC,0x0035,0,,,,,,,,,,,,,,,全ログ削除, +,EL_CLEAR_LOG_BY_ERR_LEVEL,OBC,0x0036,1,uint8_t,err_level,,,,,,,,,,,,,エラーレベル指定ログ削除, +,EL_CLEAR_STATISTICS,OBC,0x0037,0,,,,,,,,,,,,,,,統計情報削除, +,EL_CLEAR_TLOG,OBC,0x0038,1,uint8_t,err_level,,,,,,,,,,,,,TLog削除, +,EL_CLEAR_CLOG,OBC,0x0039,1,uint8_t,err_level,,,,,,,,,,,,,CLog削除, +,EL_RECORD_EVENT,OBC,0x003A,4,uint32_t,group,uint32_t,local,uint8_t,err_level,uint32_t,note,,,,,,,イベント記録, +,EL_TLOG_SET_PAGE_FOR_TLM,OBC,0x003B,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,TLogのダウンリンクテレメ設定, +,EL_CLOG_SET_PAGE_FOR_TLM,OBC,0x003C,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,CLogのダウンリンクテレメ設定, +,EL_INIT_LOGGING_SETTINGS,OBC,0x003D,0,,,,,,,,,,,,,,,ログ設定を初期化, +,EL_ENABLE_LOGGING,OBC,0x003E,1,uint32_t,group,,,,,,,,,,,,,ロギングを有効化, +,EL_DISABLE_LOGGING,OBC,0x003F,1,uint32_t,group,,,,,,,,,,,,,ロギングを無効化, +,EL_ENABLE_LOGGING_ALL,OBC,0x0040,0,,,,,,,,,,,,,,,すべてのロギングを有効化, +,EL_DISABLE_LOGGING_ALL,OBC,0x0041,0,,,,,,,,,,,,,,,すべてのロギングを無効化, +,EL_ENABLE_TLOG_OVERWRITE,OBC,0x0042,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを有効化, +,EL_DISABLE_TLOG_OVERWRITE,OBC,0x0043,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを無効化, +,EL_ENABLE_TLOG_OVERWRITE_ALL,OBC,0x0044,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを有効化, +,EL_DISABLE_TLOG_OVERWRITE_ALL,OBC,0x0045,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを無効化, **,EventHandler,,,,,,,,,,,,,,,,,,, -,EH_INIT,OBC,0x0042,0,,,,,,,,,,,,,,,EHの初期化, -,EH_CLEAR_ALL_RULE,OBC,0x0043,0,,,,,,,,,,,,,,,EHのすべてのルールをクリア, -,EH_LOAD_DEFAULT_RULE,OBC,0x0044,0,,,,,,,,,,,,,,,EHのデフォルトルールを読み込み, -,EH_SET_REGISTER_RULE_EVENT_PARAM,OBC,0x0045,6,uint16_t,rule id,uint32_t,event group,uint32_t,event local,uint8_t,event err level,uint8_t,should_match_err_level,uint16_t,deploy bc index,,,登録するEHルールのイベントパラメータを設定, -,EH_SET_REGISTER_RULE_CONDITION_PARAM,OBC,0x0046,4,uint8_t,condition type,uint16_t,count_threshold,uint32_t,time_threshold [ms],uint8_t,is_active,,,,,,,登録するEHルールの対応条件パラメタを設定, -,EH_REGISTER_RULE,OBC,0x0047,0,,,,,,,,,,,,,,,設定したパラメタでEHルールを登録, -,EH_DELETE_RULE,OBC,0x0048,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを削除, -,EH_INIT_RULE,OBC,0x0049,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化), -,EH_INIT_RULE_FOR_MULTI_LEVEL,OBC,0x004A,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化)(多段EH対応用), -,EH_ACTIVATE_RULE,OBC,0x004B,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化, -,EH_INACTIVATE_RULE,OBC,0x004C,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化, -,EH_ACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x004D,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化(多段EH対応用), -,EH_INACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x004E,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化(多段EH対応用), -,EH_SET_RULE_COUNTER,OBC,0x004F,2,uint16_t,rule id,uint16_t,counter,,,,,,,,,,,EH_Rule の counter をセット, -,EH_CLEAR_RULE_COUNTER,OBC,0x0050,1,uint16_t,rule id,,,,,,,,,,,,,EH_Rule の counter を0 クリア, -,EH_CLEAR_RULE_COUNTER_BY_EVENT,OBC,0x0051,3,uint32_t,group,uint32_t,local,uint8_t,err_level,,,,,,,,,EH_Rule の counter を EL_Event 指定で 0 クリア, -,EH_CLEAR_LOG,OBC,0x0052,0,,,,,,,,,,,,,,,EHの対応ログをクリア, -,EH_SET_MAX_RESPONSE_NUM,OBC,0x0053,1,uint8_t,max_response_num,,,,,,,,,,,,,一度のEH実行で対応するイベントの最大数を設定, -,EH_SET_MAX_CHECK_EVENT_NUM,OBC,0x0054,1,uint16_t,max_check_event_num,,,,,,,,,,,,,一度のEH実行でチェックするイベントの最大数を設定, -,EH_SET_MAX_MULTI_LEVEL_NUM,OBC,0x0055,1,uint8_t,max_multi_level_num,,,,,,,,,,,,,設定可能な最大段数を設定, -,EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM,OBC,0x0056,1,uint8_t,page_no,,,,,,,,,,,,,EHルールテーブルのテレメページの設定, -,EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM,OBC,0x0057,1,uint8_t,page_no,,,,,,,,,,,,,EHルールのソート済みテーブルのテレメページの設定, -,EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM,OBC,0x0058,1,uint8_t,page_no,,,,,,,,,,,,,EHログテーブルのテレメページの設定, -,EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM,OBC,0x0059,1,uint16_t,rule id,,,,,,,,,,,,,EHテレメに表示するルールのID設定, -,EH_MATCH_EVENT_COUNTER_TO_EL,OBC,0x005A,0,,,,,,,,,,,,,,,イベント発生を検知するためのEHカウンタをELカウンタに強制定期に合わせる, -,EH_INIT_RULE_BY_EVENT_GROUP,OBC,0x005B,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x005C,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_ACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x005D,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x005E,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x005F,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0060,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INIT,OBC,0x0046,0,,,,,,,,,,,,,,,EHの初期化, +,EH_CLEAR_ALL_RULE,OBC,0x0047,0,,,,,,,,,,,,,,,EHのすべてのルールをクリア, +,EH_LOAD_DEFAULT_RULE,OBC,0x0048,0,,,,,,,,,,,,,,,EHのデフォルトルールを読み込み, +,EH_SET_REGISTER_RULE_EVENT_PARAM,OBC,0x0049,6,uint16_t,rule id,uint32_t,event group,uint32_t,event local,uint8_t,event err level,uint8_t,should_match_err_level,uint16_t,deploy bc index,,,登録するEHルールのイベントパラメータを設定, +,EH_SET_REGISTER_RULE_CONDITION_PARAM,OBC,0x004A,4,uint8_t,condition type,uint16_t,count_threshold,uint32_t,time_threshold [ms],uint8_t,is_active,,,,,,,登録するEHルールの対応条件パラメタを設定, +,EH_REGISTER_RULE,OBC,0x004B,0,,,,,,,,,,,,,,,設定したパラメタでEHルールを登録, +,EH_DELETE_RULE,OBC,0x004C,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを削除, +,EH_INIT_RULE,OBC,0x004D,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化), +,EH_INIT_RULE_FOR_MULTI_LEVEL,OBC,0x004E,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化)(多段EH対応用), +,EH_ACTIVATE_RULE,OBC,0x004F,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化, +,EH_INACTIVATE_RULE,OBC,0x0050,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化, +,EH_ACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0051,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化(多段EH対応用), +,EH_INACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0052,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化(多段EH対応用), +,EH_SET_RULE_COUNTER,OBC,0x0053,2,uint16_t,rule id,uint16_t,counter,,,,,,,,,,,EH_Rule の counter をセット, +,EH_CLEAR_RULE_COUNTER,OBC,0x0054,1,uint16_t,rule id,,,,,,,,,,,,,EH_Rule の counter を0 クリア, +,EH_CLEAR_RULE_COUNTER_BY_EVENT,OBC,0x0055,3,uint32_t,group,uint32_t,local,uint8_t,err_level,,,,,,,,,EH_Rule の counter を EL_Event 指定で 0 クリア, +,EH_CLEAR_LOG,OBC,0x0056,0,,,,,,,,,,,,,,,EHの対応ログをクリア, +,EH_SET_MAX_RESPONSE_NUM,OBC,0x0057,1,uint8_t,max_response_num,,,,,,,,,,,,,一度のEH実行で対応するイベントの最大数を設定, +,EH_SET_MAX_CHECK_EVENT_NUM,OBC,0x0058,1,uint16_t,max_check_event_num,,,,,,,,,,,,,一度のEH実行でチェックするイベントの最大数を設定, +,EH_SET_MAX_MULTI_LEVEL_NUM,OBC,0x0059,1,uint8_t,max_multi_level_num,,,,,,,,,,,,,設定可能な最大段数を設定, +,EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM,OBC,0x005A,1,uint8_t,page_no,,,,,,,,,,,,,EHルールテーブルのテレメページの設定, +,EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM,OBC,0x005B,1,uint8_t,page_no,,,,,,,,,,,,,EHルールのソート済みテーブルのテレメページの設定, +,EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM,OBC,0x005C,1,uint8_t,page_no,,,,,,,,,,,,,EHログテーブルのテレメページの設定, +,EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM,OBC,0x005D,1,uint16_t,rule id,,,,,,,,,,,,,EHテレメに表示するルールのID設定, +,EH_MATCH_EVENT_COUNTER_TO_EL,OBC,0x005E,0,,,,,,,,,,,,,,,イベント発生を検知するためのEHカウンタをELカウンタに強制定期に合わせる, +,EH_INIT_RULE_BY_EVENT_GROUP,OBC,0x005F,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0060,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_ACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0061,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0062,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0063,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0064,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, **,EventUtility,,,,,,,,,,,,,,,,,,, -,EVENT_UTIL_ENABLE_EH_EXEC,OBC,0x0061,0,,,,,,,,,,,,,,,EHの実行を有効に, -,EVENT_UTIL_DISABLE_EH_EXEC,OBC,0x0062,0,,,,,,,,,,,,,,,EHの実行を無効に, -,EVENT_UTIL_EXEC_EH,OBC,0x0063,0,,,,,,,,,,,,,,,EHを単発で実行, +,EVENT_UTIL_ENABLE_EH_EXEC,OBC,0x0065,0,,,,,,,,,,,,,,,EHの実行を有効に, +,EVENT_UTIL_DISABLE_EH_EXEC,OBC,0x0066,0,,,,,,,,,,,,,,,EHの実行を無効に, +,EVENT_UTIL_EXEC_EH,OBC,0x0067,0,,,,,,,,,,,,,,,EHを単発で実行, **,Telemetry Frame@@ Command Analyze,,,,,,,,,,,,,,,,,,, -,TF_INIT,OBC,0x0064,0,,,,,,,,,,,,,,,TFの初期化, -,CA_INIT,OBC,0x0065,0,,,,,,,,,,,,,,,CAの初期化, -,TF_REGISTER_TLM,OBC,0x0066,2,uint8_t,index,uint32_t,tlm_func,,,,,,,,,,,テレメトリ登録コマンド, -,CA_REGISTER_CMD,OBC,0x0067,3,uint16_t,index,uint32_t,cmd_func,raw,param_info,,,,,,,,,コマンド登録コマンド, -,TF_SET_PAGE_FOR_TLM,OBC,0x0068,1,uint8_t,page_no,,,,,,,,,,,,,テレメトリ定義テーブルページ番号設定, -,CA_SET_PAGE_FOR_TLM,OBC,0x0069,1,uint8_t,page_no,,,,,,,,,,,,,コマンド定義テーブルページ番号設定, +,TF_INIT,OBC,0x0068,0,,,,,,,,,,,,,,,TFの初期化, +,CA_INIT,OBC,0x0069,0,,,,,,,,,,,,,,,CAの初期化, +,TF_REGISTER_TLM,OBC,0x006A,2,uint8_t,index,uint32_t,tlm_func,,,,,,,,,,,テレメトリ登録コマンド, +,CA_REGISTER_CMD,OBC,0x006B,3,uint16_t,index,uint32_t,cmd_func,raw,param_info,,,,,,,,,コマンド登録コマンド, +,TF_SET_PAGE_FOR_TLM,OBC,0x006C,1,uint8_t,page_no,,,,,,,,,,,,,テレメトリ定義テーブルページ番号設定, +,CA_SET_PAGE_FOR_TLM,OBC,0x006D,1,uint8_t,page_no,,,,,,,,,,,,,コマンド定義テーブルページ番号設定, **,,,,,,,,,,,,,,,,,,,, * CDH,GS用,,,,,,,,,,,,,,,,,,, **,WDT用コマンド,,,,,,,,,,,,,,,,,,, @@ -994,7 +998,3 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, diff --git a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h index 2b8e9b362..0d834ff3e 100644 --- a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h +++ b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h @@ -39,81 +39,85 @@ typedef enum AOBC_Cmd_CODE_TG_GENERATE_HK_TLM = 0x001C, AOBC_Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, AOBC_Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, - AOBC_Cmd_CODE_BCT_CLEAR_BLOCK = 0x001F, - AOBC_Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0020, - AOBC_Cmd_CODE_BCT_COPY_BCT = 0x0021, - AOBC_Cmd_CODE_BCT_OVERWRITE_CMD = 0x0022, - AOBC_Cmd_CODE_BCT_FILL_NOP = 0x0023, - AOBC_Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0024, - AOBC_Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0025, - AOBC_Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x0026, - AOBC_Cmd_CODE_BCE_ROTATE_BLOCK = 0x0027, - AOBC_Cmd_CODE_BCE_COMBINE_BLOCK = 0x0028, - AOBC_Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x0029, - AOBC_Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002A, - AOBC_Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002B, - AOBC_Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x002C, - AOBC_Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x002D, - AOBC_Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x002E, - AOBC_Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x002F, - AOBC_Cmd_CODE_EL_INIT = 0x0030, - AOBC_Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0031, - AOBC_Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x0032, - AOBC_Cmd_CODE_EL_CLEAR_STATISTICS = 0x0033, - AOBC_Cmd_CODE_EL_CLEAR_TLOG = 0x0034, - AOBC_Cmd_CODE_EL_CLEAR_CLOG = 0x0035, - AOBC_Cmd_CODE_EL_RECORD_EVENT = 0x0036, - AOBC_Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x0037, - AOBC_Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x0038, - AOBC_Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x0039, - AOBC_Cmd_CODE_EL_ENABLE_LOGGING = 0x003A, - AOBC_Cmd_CODE_EL_DISABLE_LOGGING = 0x003B, - AOBC_Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x003C, - AOBC_Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x003D, - AOBC_Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x003E, - AOBC_Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x003F, - AOBC_Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0040, - AOBC_Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0041, - AOBC_Cmd_CODE_EH_INIT = 0x0042, - AOBC_Cmd_CODE_EH_CLEAR_ALL_RULE = 0x0043, - AOBC_Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x0044, - AOBC_Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x0045, - AOBC_Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x0046, - AOBC_Cmd_CODE_EH_REGISTER_RULE = 0x0047, - AOBC_Cmd_CODE_EH_DELETE_RULE = 0x0048, - AOBC_Cmd_CODE_EH_INIT_RULE = 0x0049, - AOBC_Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x004A, - AOBC_Cmd_CODE_EH_ACTIVATE_RULE = 0x004B, - AOBC_Cmd_CODE_EH_INACTIVATE_RULE = 0x004C, - AOBC_Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x004D, - AOBC_Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x004E, - AOBC_Cmd_CODE_EH_SET_RULE_COUNTER = 0x004F, - AOBC_Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0050, - AOBC_Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0051, - AOBC_Cmd_CODE_EH_CLEAR_LOG = 0x0052, - AOBC_Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x0053, - AOBC_Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x0054, - AOBC_Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x0055, - AOBC_Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x0056, - AOBC_Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x0057, - AOBC_Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x0058, - AOBC_Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x0059, - AOBC_Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x005A, - AOBC_Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x005B, - AOBC_Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x005C, - AOBC_Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x005D, - AOBC_Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x005E, - AOBC_Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x005F, - AOBC_Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0060, - AOBC_Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0061, - AOBC_Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x0062, - AOBC_Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x0063, - AOBC_Cmd_CODE_TF_INIT = 0x0064, - AOBC_Cmd_CODE_CA_INIT = 0x0065, - AOBC_Cmd_CODE_TF_REGISTER_TLM = 0x0066, - AOBC_Cmd_CODE_CA_REGISTER_CMD = 0x0067, - AOBC_Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x0068, - AOBC_Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x0069, + AOBC_Cmd_CODE_TG_FOWARD_TLM = 0x001F, + AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM = 0x0020, + AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM = 0x0021, + AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM = 0x0022, + AOBC_Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, + AOBC_Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, + AOBC_Cmd_CODE_BCT_COPY_BCT = 0x0025, + AOBC_Cmd_CODE_BCT_OVERWRITE_CMD = 0x0026, + AOBC_Cmd_CODE_BCT_FILL_NOP = 0x0027, + AOBC_Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0028, + AOBC_Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0029, + AOBC_Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x002A, + AOBC_Cmd_CODE_BCE_ROTATE_BLOCK = 0x002B, + AOBC_Cmd_CODE_BCE_COMBINE_BLOCK = 0x002C, + AOBC_Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x002D, + AOBC_Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002E, + AOBC_Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002F, + AOBC_Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x0030, + AOBC_Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x0031, + AOBC_Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x0032, + AOBC_Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x0033, + AOBC_Cmd_CODE_EL_INIT = 0x0034, + AOBC_Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0035, + AOBC_Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x0036, + AOBC_Cmd_CODE_EL_CLEAR_STATISTICS = 0x0037, + AOBC_Cmd_CODE_EL_CLEAR_TLOG = 0x0038, + AOBC_Cmd_CODE_EL_CLEAR_CLOG = 0x0039, + AOBC_Cmd_CODE_EL_RECORD_EVENT = 0x003A, + AOBC_Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x003B, + AOBC_Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x003C, + AOBC_Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x003D, + AOBC_Cmd_CODE_EL_ENABLE_LOGGING = 0x003E, + AOBC_Cmd_CODE_EL_DISABLE_LOGGING = 0x003F, + AOBC_Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x0040, + AOBC_Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x0041, + AOBC_Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x0042, + AOBC_Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x0043, + AOBC_Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0044, + AOBC_Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0045, + AOBC_Cmd_CODE_EH_INIT = 0x0046, + AOBC_Cmd_CODE_EH_CLEAR_ALL_RULE = 0x0047, + AOBC_Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x0048, + AOBC_Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x0049, + AOBC_Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x004A, + AOBC_Cmd_CODE_EH_REGISTER_RULE = 0x004B, + AOBC_Cmd_CODE_EH_DELETE_RULE = 0x004C, + AOBC_Cmd_CODE_EH_INIT_RULE = 0x004D, + AOBC_Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x004E, + AOBC_Cmd_CODE_EH_ACTIVATE_RULE = 0x004F, + AOBC_Cmd_CODE_EH_INACTIVATE_RULE = 0x0050, + AOBC_Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0051, + AOBC_Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0052, + AOBC_Cmd_CODE_EH_SET_RULE_COUNTER = 0x0053, + AOBC_Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0054, + AOBC_Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0055, + AOBC_Cmd_CODE_EH_CLEAR_LOG = 0x0056, + AOBC_Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x0057, + AOBC_Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x0058, + AOBC_Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x0059, + AOBC_Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x005A, + AOBC_Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x005B, + AOBC_Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x005C, + AOBC_Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x005D, + AOBC_Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x005E, + AOBC_Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x005F, + AOBC_Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0060, + AOBC_Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x0061, + AOBC_Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x0062, + AOBC_Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0063, + AOBC_Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0064, + AOBC_Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0065, + AOBC_Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x0066, + AOBC_Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x0067, + AOBC_Cmd_CODE_TF_INIT = 0x0068, + AOBC_Cmd_CODE_CA_INIT = 0x0069, + AOBC_Cmd_CODE_TF_REGISTER_TLM = 0x006A, + AOBC_Cmd_CODE_CA_REGISTER_CMD = 0x006B, + AOBC_Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x006C, + AOBC_Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x006D, AOBC_Cmd_CODE_WDT_INIT = 0x0100, AOBC_Cmd_CODE_WDT_ENABLE = 0x0101, AOBC_Cmd_CODE_WDT_DISABLE = 0x0102, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv index a737789d2..984d17b41 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv @@ -35,117 +35,121 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_HK_TLM,OBC,0x001C,1,uint8_t,tlm id,,,,,,,,,,,,,HK テレメを生成 (事実上,現在使われていない), ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, +,TG_FOWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, +,TG_FOWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FOWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FOWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, -,BCT_CLEAR_BLOCK,OBC,0x001F,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, -,BCT_SET_BLOCK_POSITION,OBC,0x0020,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, -,BCT_COPY_BCT,OBC,0x0021,2,uint16_t,dst_bc_index,uint16_t,src_bc_index,,,,,,,,,,,BCT の内容を別の場所にコピー, -,BCT_OVERWRITE_CMD,OBC,0x0022,5,uint16_t,CMD_CODE,uint32_t,TI,uint16_t,pos.block,uint8_t,pos.cmd,raw,cmd_param (big endian),,,danger,,BCTの内容を上書き, -,BCT_FILL_NOP,OBC,0x0023,1,uint8_t,,,,,,,,,,,,,,テレメ運用時の10個BCをNOP埋めする.(NOP個数), +,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, +,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, +,BCT_COPY_BCT,OBC,0x0025,2,uint16_t,dst_bc_index,uint16_t,src_bc_index,,,,,,,,,,,BCT の内容を別の場所にコピー, +,BCT_OVERWRITE_CMD,OBC,0x0026,5,uint16_t,CMD_CODE,uint32_t,TI,uint16_t,pos.block,uint8_t,pos.cmd,raw,cmd_param (big endian),,,danger,,BCTの内容を上書き, +,BCT_FILL_NOP,OBC,0x0027,1,uint8_t,,,,,,,,,,,,,,テレメ運用時の10個BCをNOP埋めする.(NOP個数), **,BCEコマンド,,,,,,,,,,,,,,,,,,, -,BCE_ACTIVATE_BLOCK,OBC,0x0024,0,,,,,,,,,,,,,,,BLC有効化コマンド, -,BCE_ACTIVATE_BLOCK_BY_ID,OBC,0x0025,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)有効化, -,BCE_INACTIVATE_BLOCK_BY_ID,OBC,0x0026,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)無効化, -,BCE_ROTATE_BLOCK,OBC,0x0027,1,uint16_t,bc_index,,,,,,,,,,,,,BLC回転コマンド, -,BCE_COMBINE_BLOCK,OBC,0x0028,1,uint16_t,bc_index,,,,,,,,,,,,,BLC融合コマンド, -,BCE_TIMELIMIT_COMBINE_BLOCK,OBC,0x0029,2,uint16_t,bc_index,uint8_t,limit_step,,,,,,,,,,,時間制限付きBLC融合コマンド, -,BCE_RESET_ROTATOR_INFO,OBC,0x002A,0,,,,,,,,,,,,,danger,,カウンタ類リセット, -,BCE_RESET_COMBINER_INFO,OBC,0x002B,0,,,,,,,,,,,,,danger,,カウンタ類リセット, -,BCE_SET_ROTATE_INTERVAL,OBC,0x002C,2,uint16_t,,uint16_t,,,,,,,,,,,,BC回転時の回転間隔周期を設定する, +,BCE_ACTIVATE_BLOCK,OBC,0x0028,0,,,,,,,,,,,,,,,BLC有効化コマンド, +,BCE_ACTIVATE_BLOCK_BY_ID,OBC,0x0029,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)有効化, +,BCE_INACTIVATE_BLOCK_BY_ID,OBC,0x002A,1,uint16_t,bc_index,,,,,,,,,,,,,BCを(無条件に)無効化, +,BCE_ROTATE_BLOCK,OBC,0x002B,1,uint16_t,bc_index,,,,,,,,,,,,,BLC回転コマンド, +,BCE_COMBINE_BLOCK,OBC,0x002C,1,uint16_t,bc_index,,,,,,,,,,,,,BLC融合コマンド, +,BCE_TIMELIMIT_COMBINE_BLOCK,OBC,0x002D,2,uint16_t,bc_index,uint8_t,limit_step,,,,,,,,,,,時間制限付きBLC融合コマンド, +,BCE_RESET_ROTATOR_INFO,OBC,0x002E,0,,,,,,,,,,,,,danger,,カウンタ類リセット, +,BCE_RESET_COMBINER_INFO,OBC,0x002F,0,,,,,,,,,,,,,danger,,カウンタ類リセット, +,BCE_SET_ROTATE_INTERVAL,OBC,0x0030,2,uint16_t,,uint16_t,,,,,,,,,,,,BC回転時の回転間隔周期を設定する, **,GSCDコマンド,,,,,,,,,,,,,,,,,,, -,GSCD_CLEAR_ERR_LOG,OBC,0x002D,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, +,GSCD_CLEAR_ERR_LOG,OBC,0x0031,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, **,RTCDコマンド,,,,,,,,,,,,,,,,,,, -,RTCD_CLEAR_ALL_REALTIME,OBC,0x002E,0,,,,,,,,,,,,,danger,,全RTC登録解除, -,RTCD_CLEAR_ERR_LOG,OBC,0x002F,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, +,RTCD_CLEAR_ALL_REALTIME,OBC,0x0032,0,,,,,,,,,,,,,danger,,全RTC登録解除, +,RTCD_CLEAR_ERR_LOG,OBC,0x0033,0,,,,,,,,,,,,,,,最新のコマンド実行異常記録をクリア, **,メモリ操作コマンド,,,,,,,,,,,,,,,,,,, -,MEM_SET_REGION,OBC,0x0030,2,uint32_t,始点アドレス,uint32_t,終点アドレス,,,,,,,,,,,始点アドレスと終点アドレスを指定する, +,MEM_SET_REGION,OBC,0x0034,2,uint32_t,始点アドレス,uint32_t,終点アドレス,,,,,,,,,,,始点アドレスと終点アドレスを指定する, *,MEM_DUMP_REGION_SEQ,OBC,,2,uint8_t,category,uint8_t,送出回数,,,,,,,,,,,カテゴリと送信回数を指定する, *,MEM_DUMP_REGION_RND,OBC,,3,uint8_t,category,uint8_t,送出回数,uint16_t,ダンプ位置,,,,,,,,,カテゴリと送信回数@@ダンプ位置を指定する, *,MEM_DUMP_SINGLE,OBC,,3,uint8_t,category,uint8_t,送出回数,uint32_t,ダンプ位置,,,,,,,,,カテゴリと送信回数@@ダンプ位置を指定する, -,MEM_LOAD,OBC,0x0031,2,uint32_t,開始アドレス,raw,HEXBINARY,,,,,,,,,,,開始アドレス、データを指定,第2パラメータの指定は仮設定 -,MEM_SET_DESTINATION,OBC,0x0032,1,uint32_t,コピー先アドレス,,,,,,,,,,,,,コピー先設定, -,MEM_COPY_REGION_SEQ,OBC,0x0033,1,uint32_t,コピー幅,,,,,,,,,,,,,領域コピー, +,MEM_LOAD,OBC,0x0035,2,uint32_t,開始アドレス,raw,HEXBINARY,,,,,,,,,,,開始アドレス、データを指定,第2パラメータの指定は仮設定 +,MEM_SET_DESTINATION,OBC,0x0036,1,uint32_t,コピー先アドレス,,,,,,,,,,,,,コピー先設定, +,MEM_COPY_REGION_SEQ,OBC,0x0037,1,uint32_t,コピー幅,,,,,,,,,,,,,領域コピー, **,EventLogger,,,,,,,,,,,,,,,,,,, -,EL_INIT,OBC,0x0034,0,,,,,,,,,,,,,,,EL初期化, -,EL_CLEAR_LOG_ALL,OBC,0x0035,0,,,,,,,,,,,,,,,全ログ削除, -,EL_CLEAR_LOG_BY_ERR_LEVEL,OBC,0x0036,1,uint8_t,err_level,,,,,,,,,,,,,エラーレベル指定ログ削除, -,EL_CLEAR_STATISTICS,OBC,0x0037,0,,,,,,,,,,,,,,,統計情報削除, -,EL_CLEAR_TLOG,OBC,0x0038,1,uint8_t,err_level,,,,,,,,,,,,,TLog削除, -,EL_CLEAR_CLOG,OBC,0x0039,1,uint8_t,err_level,,,,,,,,,,,,,CLog削除, -,EL_RECORD_EVENT,OBC,0x003A,4,uint32_t,group,uint32_t,local,uint8_t,err_level,uint32_t,note,,,,,,,イベント記録, -,EL_TLOG_SET_PAGE_FOR_TLM,OBC,0x003B,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,TLogのダウンリンクテレメ設定, -,EL_CLOG_SET_PAGE_FOR_TLM,OBC,0x003C,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,CLogのダウンリンクテレメ設定, -,EL_INIT_LOGGING_SETTINGS,OBC,0x003D,0,,,,,,,,,,,,,,,ログ設定を初期化, -,EL_ENABLE_LOGGING,OBC,0x003E,1,uint32_t,group,,,,,,,,,,,,,ロギングを有効化, -,EL_DISABLE_LOGGING,OBC,0x003F,1,uint32_t,group,,,,,,,,,,,,,ロギングを無効化, -,EL_ENABLE_LOGGING_ALL,OBC,0x0040,0,,,,,,,,,,,,,,,すべてのロギングを有効化, -,EL_DISABLE_LOGGING_ALL,OBC,0x0041,0,,,,,,,,,,,,,,,すべてのロギングを無効化, -,EL_ENABLE_TLOG_OVERWRITE,OBC,0x0042,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを有効化, -,EL_DISABLE_TLOG_OVERWRITE,OBC,0x0043,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを無効化, -,EL_ENABLE_TLOG_OVERWRITE_ALL,OBC,0x0044,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを有効化, -,EL_DISABLE_TLOG_OVERWRITE_ALL,OBC,0x0045,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを無効化, +,EL_INIT,OBC,0x0038,0,,,,,,,,,,,,,,,EL初期化, +,EL_CLEAR_LOG_ALL,OBC,0x0039,0,,,,,,,,,,,,,,,全ログ削除, +,EL_CLEAR_LOG_BY_ERR_LEVEL,OBC,0x003A,1,uint8_t,err_level,,,,,,,,,,,,,エラーレベル指定ログ削除, +,EL_CLEAR_STATISTICS,OBC,0x003B,0,,,,,,,,,,,,,,,統計情報削除, +,EL_CLEAR_TLOG,OBC,0x003C,1,uint8_t,err_level,,,,,,,,,,,,,TLog削除, +,EL_CLEAR_CLOG,OBC,0x003D,1,uint8_t,err_level,,,,,,,,,,,,,CLog削除, +,EL_RECORD_EVENT,OBC,0x003E,4,uint32_t,group,uint32_t,local,uint8_t,err_level,uint32_t,note,,,,,,,イベント記録, +,EL_TLOG_SET_PAGE_FOR_TLM,OBC,0x003F,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,TLogのダウンリンクテレメ設定, +,EL_CLOG_SET_PAGE_FOR_TLM,OBC,0x0040,2,uint8_t,page_no,uint8_t,err_level,,,,,,,,,,,CLogのダウンリンクテレメ設定, +,EL_INIT_LOGGING_SETTINGS,OBC,0x0041,0,,,,,,,,,,,,,,,ログ設定を初期化, +,EL_ENABLE_LOGGING,OBC,0x0042,1,uint32_t,group,,,,,,,,,,,,,ロギングを有効化, +,EL_DISABLE_LOGGING,OBC,0x0043,1,uint32_t,group,,,,,,,,,,,,,ロギングを無効化, +,EL_ENABLE_LOGGING_ALL,OBC,0x0044,0,,,,,,,,,,,,,,,すべてのロギングを有効化, +,EL_DISABLE_LOGGING_ALL,OBC,0x0045,0,,,,,,,,,,,,,,,すべてのロギングを無効化, +,EL_ENABLE_TLOG_OVERWRITE,OBC,0x0046,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを有効化, +,EL_DISABLE_TLOG_OVERWRITE,OBC,0x0047,1,uint8_t,err_level,,,,,,,,,,,,,TLogのログ上書きを無効化, +,EL_ENABLE_TLOG_OVERWRITE_ALL,OBC,0x0048,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを有効化, +,EL_DISABLE_TLOG_OVERWRITE_ALL,OBC,0x0049,0,,,,,,,,,,,,,,,すべてのTLogのログ上書きを無効化, **,EventHandler,,,,,,,,,,,,,,,,,,, -,EH_INIT,OBC,0x0046,0,,,,,,,,,,,,,,,EHの初期化, -,EH_CLEAR_ALL_RULE,OBC,0x0047,0,,,,,,,,,,,,,,,EHのすべてのルールをクリア, -,EH_LOAD_DEFAULT_RULE,OBC,0x0048,0,,,,,,,,,,,,,,,EHのデフォルトルールを読み込み, -,EH_SET_REGISTER_RULE_EVENT_PARAM,OBC,0x0049,6,uint16_t,rule id,uint32_t,event group,uint32_t,event local,uint8_t,event err level,uint8_t,should_match_err_level,uint16_t,deploy bc index,,,登録するEHルールのイベントパラメータを設定, -,EH_SET_REGISTER_RULE_CONDITION_PARAM,OBC,0x004A,4,uint8_t,condition type,uint16_t,count_threshold,uint32_t,time_threshold [ms],uint8_t,is_active,,,,,,,登録するEHルールの対応条件パラメタを設定, -,EH_REGISTER_RULE,OBC,0x004B,0,,,,,,,,,,,,,,,設定したパラメタでEHルールを登録, -,EH_DELETE_RULE,OBC,0x004C,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを削除, -,EH_INIT_RULE,OBC,0x004D,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化), -,EH_INIT_RULE_FOR_MULTI_LEVEL,OBC,0x004E,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化)(多段EH対応用), -,EH_ACTIVATE_RULE,OBC,0x004F,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化, -,EH_INACTIVATE_RULE,OBC,0x0050,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化, -,EH_ACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0051,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化(多段EH対応用), -,EH_INACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0052,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化(多段EH対応用), -,EH_SET_RULE_COUNTER,OBC,0x0053,2,uint16_t,rule id,uint16_t,counter,,,,,,,,,,,EH_Rule の counter をセット, -,EH_CLEAR_RULE_COUNTER,OBC,0x0054,1,uint16_t,rule id,,,,,,,,,,,,,EH_Rule の counter を0 クリア, -,EH_CLEAR_RULE_COUNTER_BY_EVENT,OBC,0x0055,3,uint32_t,group,uint32_t,local,uint8_t,err_level,,,,,,,,,EH_Rule の counter を EL_Event 指定で 0 クリア, -,EH_CLEAR_LOG,OBC,0x0056,0,,,,,,,,,,,,,,,EHの対応ログをクリア, -,EH_SET_MAX_RESPONSE_NUM,OBC,0x0057,1,uint8_t,max_response_num,,,,,,,,,,,,,一度のEH実行で対応するイベントの最大数を設定, -,EH_SET_MAX_CHECK_EVENT_NUM,OBC,0x0058,1,uint16_t,max_check_event_num,,,,,,,,,,,,,一度のEH実行でチェックするイベントの最大数を設定, -,EH_SET_MAX_MULTI_LEVEL_NUM,OBC,0x0059,1,uint8_t,max_multi_level_num,,,,,,,,,,,,,設定可能な最大段数を設定, -,EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM,OBC,0x005A,1,uint8_t,page_no,,,,,,,,,,,,,EHルールテーブルのテレメページの設定, -,EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM,OBC,0x005B,1,uint8_t,page_no,,,,,,,,,,,,,EHルールのソート済みテーブルのテレメページの設定, -,EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM,OBC,0x005C,1,uint8_t,page_no,,,,,,,,,,,,,EHログテーブルのテレメページの設定, -,EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM,OBC,0x005D,1,uint16_t,rule id,,,,,,,,,,,,,EHテレメに表示するルールのID設定, -,EH_MATCH_EVENT_COUNTER_TO_EL,OBC,0x005E,0,,,,,,,,,,,,,,,イベント発生を検知するためのEHカウンタをELカウンタに強制定期に合わせる, -,EH_INIT_RULE_BY_EVENT_GROUP,OBC,0x005F,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0060,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_ACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0061,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0062,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0063,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, -,EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0064,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INIT,OBC,0x004A,0,,,,,,,,,,,,,,,EHの初期化, +,EH_CLEAR_ALL_RULE,OBC,0x004B,0,,,,,,,,,,,,,,,EHのすべてのルールをクリア, +,EH_LOAD_DEFAULT_RULE,OBC,0x004C,0,,,,,,,,,,,,,,,EHのデフォルトルールを読み込み, +,EH_SET_REGISTER_RULE_EVENT_PARAM,OBC,0x004D,6,uint16_t,rule id,uint32_t,event group,uint32_t,event local,uint8_t,event err level,uint8_t,should_match_err_level,uint16_t,deploy bc index,,,登録するEHルールのイベントパラメータを設定, +,EH_SET_REGISTER_RULE_CONDITION_PARAM,OBC,0x004E,4,uint8_t,condition type,uint16_t,count_threshold,uint32_t,time_threshold [ms],uint8_t,is_active,,,,,,,登録するEHルールの対応条件パラメタを設定, +,EH_REGISTER_RULE,OBC,0x004F,0,,,,,,,,,,,,,,,設定したパラメタでEHルールを登録, +,EH_DELETE_RULE,OBC,0x0050,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを削除, +,EH_INIT_RULE,OBC,0x0051,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化), +,EH_INIT_RULE_FOR_MULTI_LEVEL,OBC,0x0052,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを初期化(ルールを有効化し,ルールカウンタも初期化)(多段EH対応用), +,EH_ACTIVATE_RULE,OBC,0x0053,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化, +,EH_INACTIVATE_RULE,OBC,0x0054,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化, +,EH_ACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0055,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを有効化(多段EH対応用), +,EH_INACTIVATE_RULE_FOR_MULTI_LEVEL,OBC,0x0056,1,uint16_t,rule id,,,,,,,,,,,,,指定したルールを無効化(多段EH対応用), +,EH_SET_RULE_COUNTER,OBC,0x0057,2,uint16_t,rule id,uint16_t,counter,,,,,,,,,,,EH_Rule の counter をセット, +,EH_CLEAR_RULE_COUNTER,OBC,0x0058,1,uint16_t,rule id,,,,,,,,,,,,,EH_Rule の counter を0 クリア, +,EH_CLEAR_RULE_COUNTER_BY_EVENT,OBC,0x0059,3,uint32_t,group,uint32_t,local,uint8_t,err_level,,,,,,,,,EH_Rule の counter を EL_Event 指定で 0 クリア, +,EH_CLEAR_LOG,OBC,0x005A,0,,,,,,,,,,,,,,,EHの対応ログをクリア, +,EH_SET_MAX_RESPONSE_NUM,OBC,0x005B,1,uint8_t,max_response_num,,,,,,,,,,,,,一度のEH実行で対応するイベントの最大数を設定, +,EH_SET_MAX_CHECK_EVENT_NUM,OBC,0x005C,1,uint16_t,max_check_event_num,,,,,,,,,,,,,一度のEH実行でチェックするイベントの最大数を設定, +,EH_SET_MAX_MULTI_LEVEL_NUM,OBC,0x005D,1,uint8_t,max_multi_level_num,,,,,,,,,,,,,設定可能な最大段数を設定, +,EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM,OBC,0x005E,1,uint8_t,page_no,,,,,,,,,,,,,EHルールテーブルのテレメページの設定, +,EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM,OBC,0x005F,1,uint8_t,page_no,,,,,,,,,,,,,EHルールのソート済みテーブルのテレメページの設定, +,EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM,OBC,0x0060,1,uint8_t,page_no,,,,,,,,,,,,,EHログテーブルのテレメページの設定, +,EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM,OBC,0x0061,1,uint16_t,rule id,,,,,,,,,,,,,EHテレメに表示するルールのID設定, +,EH_MATCH_EVENT_COUNTER_TO_EL,OBC,0x0062,0,,,,,,,,,,,,,,,イベント発生を検知するためのEHカウンタをELカウンタに強制定期に合わせる, +,EH_INIT_RULE_BY_EVENT_GROUP,OBC,0x0063,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0064,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INIT_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_ACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0065,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INACTIVATE_RULE_BY_EVENT_GROUP,OBC,0x0066,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0067,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, +,EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL,OBC,0x0068,1,uint32_t,group,,,,,,,,,,,,,Cmd_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL の by_event_group コマンド.想定外のものまで操作されないか注意すること, **,EventUtility,,,,,,,,,,,,,,,,,,, -,EVENT_UTIL_ENABLE_EH_EXEC,OBC,0x0065,0,,,,,,,,,,,,,,,EHの実行を有効に, -,EVENT_UTIL_DISABLE_EH_EXEC,OBC,0x0066,0,,,,,,,,,,,,,,,EHの実行を無効に, -,EVENT_UTIL_EXEC_EH,OBC,0x0067,0,,,,,,,,,,,,,,,EHを単発で実行, +,EVENT_UTIL_ENABLE_EH_EXEC,OBC,0x0069,0,,,,,,,,,,,,,,,EHの実行を有効に, +,EVENT_UTIL_DISABLE_EH_EXEC,OBC,0x006A,0,,,,,,,,,,,,,,,EHの実行を無効に, +,EVENT_UTIL_EXEC_EH,OBC,0x006B,0,,,,,,,,,,,,,,,EHを単発で実行, **,Telemetry Frame@@ Command Analyze,,,,,,,,,,,,,,,,,,, -,TF_INIT,OBC,0x0068,0,,,,,,,,,,,,,,,TFの初期化, -,CA_INIT,OBC,0x0069,0,,,,,,,,,,,,,,,CAの初期化, -,TF_REGISTER_TLM,OBC,0x006A,2,uint8_t,index,uint32_t,tlm_func,,,,,,,,,,,テレメトリ登録コマンド, -,CA_REGISTER_CMD,OBC,0x006B,3,uint16_t,index,uint32_t,cmd_func,raw,param_info,,,,,,,,,コマンド登録コマンド, -,TF_SET_PAGE_FOR_TLM,OBC,0x006C,1,uint8_t,page_no,,,,,,,,,,,,,テレメトリ定義テーブルページ番号設定, -,CA_SET_PAGE_FOR_TLM,OBC,0x006D,1,uint8_t,page_no,,,,,,,,,,,,,コマンド定義テーブルページ番号設定, +,TF_INIT,OBC,0x006C,0,,,,,,,,,,,,,,,TFの初期化, +,CA_INIT,OBC,0x006D,0,,,,,,,,,,,,,,,CAの初期化, +,TF_REGISTER_TLM,OBC,0x006E,2,uint8_t,index,uint32_t,tlm_func,,,,,,,,,,,テレメトリ登録コマンド, +,CA_REGISTER_CMD,OBC,0x006F,3,uint16_t,index,uint32_t,cmd_func,raw,param_info,,,,,,,,,コマンド登録コマンド, +,TF_SET_PAGE_FOR_TLM,OBC,0x0070,1,uint8_t,page_no,,,,,,,,,,,,,テレメトリ定義テーブルページ番号設定, +,CA_SET_PAGE_FOR_TLM,OBC,0x0071,1,uint8_t,page_no,,,,,,,,,,,,,コマンド定義テーブルページ番号設定, **,Tlm Manager コマンド,,,,,,,,,,,,,,,,,,, -,TLM_MGR_INIT,OBC,0x006E,0,,,,,,,,,,,,,,,初期化, -,TLM_MGR_INIT_MASTER_BC,OBC,0x006F,0,,,,,,,,,,,,,,,master bc の初期化, -,TLM_MGR_CLEAR_HK_TLM,OBC,0x0070,0,,,,,,,,,,,,,,,HKテレメを初期化, -,TLM_MGR_CLEAR_SYSTEM_TLM,OBC,0x0071,0,,,,,,,,,,,,,,,systemテレメを初期化, -,TLM_MGR_CLEAR_USER_TLM,OBC,0x0072,0,,,,,,,,,,,,,,,high_freq_tlm@@ low_freq_tlm を初期化, -,TLM_MGR_START_TLM,OBC,0x0073,0,,,,,,,,,,,,,,,TLM送出開始, -,TLM_MGR_STOP_TLM,OBC,0x0074,0,,,,,,,,,,,,,,,TLM送出一時停止, -,TLM_MGR_CLEAR_TLM_TL,OBC,0x0075,0,,,,,,,,,,,,,,,TLM送出用TLをクリア, -,TLM_MGR_REGISTER_HK_TLM,OBC,0x0076,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,HKテレメを登録, -,TLM_MGR_REGISTER_SYSTEM_TLM,OBC,0x0077,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,systemテレメを登録, -,TLM_MGR_REGISTER_HIGH_FREQ_TLM,OBC,0x0078,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,high_freq_tlm を登録, -,TLM_MGR_REGISTER_LOW_FREQ_TLM,OBC,0x0079,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,low_freq_tlm を登録, +,TLM_MGR_INIT,OBC,0x0072,0,,,,,,,,,,,,,,,初期化, +,TLM_MGR_INIT_MASTER_BC,OBC,0x0073,0,,,,,,,,,,,,,,,master bc の初期化, +,TLM_MGR_CLEAR_HK_TLM,OBC,0x0074,0,,,,,,,,,,,,,,,HKテレメを初期化, +,TLM_MGR_CLEAR_SYSTEM_TLM,OBC,0x0075,0,,,,,,,,,,,,,,,systemテレメを初期化, +,TLM_MGR_CLEAR_USER_TLM,OBC,0x0076,0,,,,,,,,,,,,,,,high_freq_tlm@@ low_freq_tlm を初期化, +,TLM_MGR_START_TLM,OBC,0x0077,0,,,,,,,,,,,,,,,TLM送出開始, +,TLM_MGR_STOP_TLM,OBC,0x0078,0,,,,,,,,,,,,,,,TLM送出一時停止, +,TLM_MGR_CLEAR_TLM_TL,OBC,0x0079,0,,,,,,,,,,,,,,,TLM送出用TLをクリア, +,TLM_MGR_REGISTER_HK_TLM,OBC,0x007A,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,HKテレメを登録, +,TLM_MGR_REGISTER_SYSTEM_TLM,OBC,0x007B,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,systemテレメを登録, +,TLM_MGR_REGISTER_HIGH_FREQ_TLM,OBC,0x007C,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,high_freq_tlm を登録, +,TLM_MGR_REGISTER_LOW_FREQ_TLM,OBC,0x007D,3,uint8_t,category,uint8_t,TLM_ID,uint8_t,送出回数,,,,,,,,,low_freq_tlm を登録, **,Divided Cmd Utility コマンド,,,,,,,,,,,,,,,,,,, -,DCU_ABORT_CMD,OBC,0x007A,1,uint16_t,Cmd ID,,,,,,,,,,,,,実行中の分割コマンドを停止する, -,DCU_DOWN_ABORT_FLAG,OBC,0x007B,1,uint16_t,Cmd ID,,,,,,,,,,,,,エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す, -,DCU_CLEAR_LOG,OBC,0x007C,0,,,,,,,,,,,,,,,ログをクリアする, +,DCU_ABORT_CMD,OBC,0x007E,1,uint16_t,Cmd ID,,,,,,,,,,,,,実行中の分割コマンドを停止する, +,DCU_DOWN_ABORT_FLAG,OBC,0x007F,1,uint16_t,Cmd ID,,,,,,,,,,,,,エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す, +,DCU_CLEAR_LOG,OBC,0x0080,0,,,,,,,,,,,,,,,ログをクリアする, **,Test App コマンド,,,,,,,,,,,,,,,,,,, -,TEST_CCP_REGISTER_TLC_ASAP,OBC,0x007D,1,uint32_t,ti,,,,,,,,,,,,,CCP_register_tlc_asap のテスト用コマンド, -,TEST_CCP_GET_RAW_PARAM_INFO,OBC,0x007E,3,uint16_t,raw data len,uint8_t,first data,raw,raw data,,,,,,,,,CCP UTIL の ParamGenerator のテスト, +,TEST_CCP_REGISTER_TLC_ASAP,OBC,0x0081,1,uint32_t,ti,,,,,,,,,,,,,CCP_register_tlc_asap のテスト用コマンド, +,TEST_CCP_GET_RAW_PARAM_INFO,OBC,0x0082,3,uint16_t,raw data len,uint8_t,first data,raw,raw data,,,,,,,,,CCP UTIL の ParamGenerator のテスト, **,,,,,,,,,,,,,,,,,,,, * CDH,GS用,,,,,,,,,,,,,,,,,,, ,DI_GS_DRIVER_RESET,OBC,0x0100,0,,,,,,,,,,,,,,,MS VCDUの排出間隔設定, @@ -994,7 +998,3 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,, diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c index 716bd51bb..278647544 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c @@ -41,6 +41,10 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_HK_TLM].cmd_func = Cmd_TG_GENERATE_HK_TLM; cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].cmd_func = Cmd_TG_GENERATE_MS_TLM; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].cmd_func = Cmd_TG_GENERATE_ST_TLM; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].cmd_func = Cmd_TG_FOWARD_TLM; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_HK_TLM; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_MS_TLM; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_ST_TLM; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].cmd_func = Cmd_BCT_CLEAR_BLOCK; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].cmd_func = Cmd_BCT_SET_BLOCK_POSITION; cmd_table[Cmd_CODE_BCT_COPY_BCT].cmd_func = Cmd_BCT_COPY_BCT; @@ -200,6 +204,22 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h index 9f5a22a6a..43d3511c3 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h @@ -39,102 +39,106 @@ typedef enum Cmd_CODE_TG_GENERATE_HK_TLM = 0x001C, Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, - Cmd_CODE_BCT_CLEAR_BLOCK = 0x001F, - Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0020, - Cmd_CODE_BCT_COPY_BCT = 0x0021, - Cmd_CODE_BCT_OVERWRITE_CMD = 0x0022, - Cmd_CODE_BCT_FILL_NOP = 0x0023, - Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0024, - Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0025, - Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x0026, - Cmd_CODE_BCE_ROTATE_BLOCK = 0x0027, - Cmd_CODE_BCE_COMBINE_BLOCK = 0x0028, - Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x0029, - Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002A, - Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002B, - Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x002C, - Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x002D, - Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x002E, - Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x002F, - Cmd_CODE_MEM_SET_REGION = 0x0030, - Cmd_CODE_MEM_LOAD = 0x0031, - Cmd_CODE_MEM_SET_DESTINATION = 0x0032, - Cmd_CODE_MEM_COPY_REGION_SEQ = 0x0033, - Cmd_CODE_EL_INIT = 0x0034, - Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0035, - Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x0036, - Cmd_CODE_EL_CLEAR_STATISTICS = 0x0037, - Cmd_CODE_EL_CLEAR_TLOG = 0x0038, - Cmd_CODE_EL_CLEAR_CLOG = 0x0039, - Cmd_CODE_EL_RECORD_EVENT = 0x003A, - Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x003B, - Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x003C, - Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x003D, - Cmd_CODE_EL_ENABLE_LOGGING = 0x003E, - Cmd_CODE_EL_DISABLE_LOGGING = 0x003F, - Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x0040, - Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x0041, - Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x0042, - Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x0043, - Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0044, - Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0045, - Cmd_CODE_EH_INIT = 0x0046, - Cmd_CODE_EH_CLEAR_ALL_RULE = 0x0047, - Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x0048, - Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x0049, - Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x004A, - Cmd_CODE_EH_REGISTER_RULE = 0x004B, - Cmd_CODE_EH_DELETE_RULE = 0x004C, - Cmd_CODE_EH_INIT_RULE = 0x004D, - Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x004E, - Cmd_CODE_EH_ACTIVATE_RULE = 0x004F, - Cmd_CODE_EH_INACTIVATE_RULE = 0x0050, - Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0051, - Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0052, - Cmd_CODE_EH_SET_RULE_COUNTER = 0x0053, - Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0054, - Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0055, - Cmd_CODE_EH_CLEAR_LOG = 0x0056, - Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x0057, - Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x0058, - Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x0059, - Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x005A, - Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x005B, - Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x005C, - Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x005D, - Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x005E, - Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x005F, - Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0060, - Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x0061, - Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x0062, - Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0063, - Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0064, - Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0065, - Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x0066, - Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x0067, - Cmd_CODE_TF_INIT = 0x0068, - Cmd_CODE_CA_INIT = 0x0069, - Cmd_CODE_TF_REGISTER_TLM = 0x006A, - Cmd_CODE_CA_REGISTER_CMD = 0x006B, - Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x006C, - Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x006D, - Cmd_CODE_TLM_MGR_INIT = 0x006E, - Cmd_CODE_TLM_MGR_INIT_MASTER_BC = 0x006F, - Cmd_CODE_TLM_MGR_CLEAR_HK_TLM = 0x0070, - Cmd_CODE_TLM_MGR_CLEAR_SYSTEM_TLM = 0x0071, - Cmd_CODE_TLM_MGR_CLEAR_USER_TLM = 0x0072, - Cmd_CODE_TLM_MGR_START_TLM = 0x0073, - Cmd_CODE_TLM_MGR_STOP_TLM = 0x0074, - Cmd_CODE_TLM_MGR_CLEAR_TLM_TL = 0x0075, - Cmd_CODE_TLM_MGR_REGISTER_HK_TLM = 0x0076, - Cmd_CODE_TLM_MGR_REGISTER_SYSTEM_TLM = 0x0077, - Cmd_CODE_TLM_MGR_REGISTER_HIGH_FREQ_TLM = 0x0078, - Cmd_CODE_TLM_MGR_REGISTER_LOW_FREQ_TLM = 0x0079, - Cmd_CODE_DCU_ABORT_CMD = 0x007A, - Cmd_CODE_DCU_DOWN_ABORT_FLAG = 0x007B, - Cmd_CODE_DCU_CLEAR_LOG = 0x007C, - Cmd_CODE_TEST_CCP_REGISTER_TLC_ASAP = 0x007D, - Cmd_CODE_TEST_CCP_GET_RAW_PARAM_INFO = 0x007E, + Cmd_CODE_TG_FOWARD_TLM = 0x001F, + Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM = 0x0020, + Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM = 0x0021, + Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM = 0x0022, + Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, + Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, + Cmd_CODE_BCT_COPY_BCT = 0x0025, + Cmd_CODE_BCT_OVERWRITE_CMD = 0x0026, + Cmd_CODE_BCT_FILL_NOP = 0x0027, + Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0028, + Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0029, + Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x002A, + Cmd_CODE_BCE_ROTATE_BLOCK = 0x002B, + Cmd_CODE_BCE_COMBINE_BLOCK = 0x002C, + Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x002D, + Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002E, + Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002F, + Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x0030, + Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x0031, + Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x0032, + Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x0033, + Cmd_CODE_MEM_SET_REGION = 0x0034, + Cmd_CODE_MEM_LOAD = 0x0035, + Cmd_CODE_MEM_SET_DESTINATION = 0x0036, + Cmd_CODE_MEM_COPY_REGION_SEQ = 0x0037, + Cmd_CODE_EL_INIT = 0x0038, + Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0039, + Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x003A, + Cmd_CODE_EL_CLEAR_STATISTICS = 0x003B, + Cmd_CODE_EL_CLEAR_TLOG = 0x003C, + Cmd_CODE_EL_CLEAR_CLOG = 0x003D, + Cmd_CODE_EL_RECORD_EVENT = 0x003E, + Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x003F, + Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x0040, + Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x0041, + Cmd_CODE_EL_ENABLE_LOGGING = 0x0042, + Cmd_CODE_EL_DISABLE_LOGGING = 0x0043, + Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x0044, + Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x0045, + Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x0046, + Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x0047, + Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0048, + Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0049, + Cmd_CODE_EH_INIT = 0x004A, + Cmd_CODE_EH_CLEAR_ALL_RULE = 0x004B, + Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x004C, + Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x004D, + Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x004E, + Cmd_CODE_EH_REGISTER_RULE = 0x004F, + Cmd_CODE_EH_DELETE_RULE = 0x0050, + Cmd_CODE_EH_INIT_RULE = 0x0051, + Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x0052, + Cmd_CODE_EH_ACTIVATE_RULE = 0x0053, + Cmd_CODE_EH_INACTIVATE_RULE = 0x0054, + Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0055, + Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0056, + Cmd_CODE_EH_SET_RULE_COUNTER = 0x0057, + Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0058, + Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0059, + Cmd_CODE_EH_CLEAR_LOG = 0x005A, + Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x005B, + Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x005C, + Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x005D, + Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x005E, + Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x005F, + Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x0060, + Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x0061, + Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x0062, + Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x0063, + Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0064, + Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x0065, + Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x0066, + Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0067, + Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0068, + Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0069, + Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x006A, + Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x006B, + Cmd_CODE_TF_INIT = 0x006C, + Cmd_CODE_CA_INIT = 0x006D, + Cmd_CODE_TF_REGISTER_TLM = 0x006E, + Cmd_CODE_CA_REGISTER_CMD = 0x006F, + Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x0070, + Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x0071, + Cmd_CODE_TLM_MGR_INIT = 0x0072, + Cmd_CODE_TLM_MGR_INIT_MASTER_BC = 0x0073, + Cmd_CODE_TLM_MGR_CLEAR_HK_TLM = 0x0074, + Cmd_CODE_TLM_MGR_CLEAR_SYSTEM_TLM = 0x0075, + Cmd_CODE_TLM_MGR_CLEAR_USER_TLM = 0x0076, + Cmd_CODE_TLM_MGR_START_TLM = 0x0077, + Cmd_CODE_TLM_MGR_STOP_TLM = 0x0078, + Cmd_CODE_TLM_MGR_CLEAR_TLM_TL = 0x0079, + Cmd_CODE_TLM_MGR_REGISTER_HK_TLM = 0x007A, + Cmd_CODE_TLM_MGR_REGISTER_SYSTEM_TLM = 0x007B, + Cmd_CODE_TLM_MGR_REGISTER_HIGH_FREQ_TLM = 0x007C, + Cmd_CODE_TLM_MGR_REGISTER_LOW_FREQ_TLM = 0x007D, + Cmd_CODE_DCU_ABORT_CMD = 0x007E, + Cmd_CODE_DCU_DOWN_ABORT_FLAG = 0x007F, + Cmd_CODE_DCU_CLEAR_LOG = 0x0080, + Cmd_CODE_TEST_CCP_REGISTER_TLC_ASAP = 0x0081, + Cmd_CODE_TEST_CCP_GET_RAW_PARAM_INFO = 0x0082, Cmd_CODE_DI_GS_DRIVER_RESET = 0x0100, Cmd_CODE_DI_GS_SET_MS_FLUSH_INTERVAL = 0x0101, Cmd_CODE_DI_GS_SET_RP_FLUSH_INTERVAL = 0x0102, From ef70d94dce518d0db9722f81a3624708aba93fd1 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Tue, 11 Apr 2023 14:35:31 +0900 Subject: [PATCH 03/19] add ULL sufix --- TlmCmd/telemetry_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index a25d8a5aa..203d973c5 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -303,7 +303,7 @@ static CCP_CmdRet TG_foward_tlm_(APID apid, (void)packet_len; // Secondary Header - if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffff) + if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffffULL) { CTP_set_global_time(&TG_ctp_); } From 3d879e1e7619af6a8dacc8e58854d353efab471e Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Tue, 11 Apr 2023 14:36:13 +0900 Subject: [PATCH 04/19] fix typo --- TlmCmd/telemetry_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 203d973c5..ff3f31821 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -41,7 +41,7 @@ static CCP_CmdRet TG_foward_tlm_(APID apid, TLM_CODE tlm_id, ctp_dest_flags_t dest_flags, uint8_t dest_info, - uint8_t dump_num) + uint8_t dump_num); /** * @brief 次のパケットで用いる Sequence Count を取得 From c8137e8ff90671d57a81c8162f67ed82b72dc2ba Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 07:30:01 +0900 Subject: [PATCH 05/19] fix tlm code generator --- .../src/src_user/TlmCmd/user_packet_handler.c | 19 +++++++++++++++++++ .../src/src_user/TlmCmd/user_packet_handler.h | 18 ++++++++++++++++++ .../src_user/TlmCmd/telemetry_definitions.c | 18 ------------------ .../src_user/TlmCmd/telemetry_definitions.h | 8 -------- .../src/src_user/TlmCmd/user_packet_handler.c | 16 ++++++++++++++++ .../src/src_user/TlmCmd/user_packet_handler.h | 18 ++++++++++++++++++ TlmCmd/telemetry_generator.c | 18 +++++++----------- 7 files changed, 78 insertions(+), 37 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.c b/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.c index a214f74e9..6cfbbce23 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.c +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.c @@ -37,4 +37,23 @@ CCP_CmdRet PH_user_cmd_router(const CommonCmdPacket* packet) } } + +TF_TLM_FUNC_ACK PH_user_telemetry_router(APID apid, + TLM_CODE tlm_id, + uint8_t* packet, + uint16_t* len, + uint16_t max_len) +{ + (void)tlm_id; + (void)packet; + (void)len; + (void)max_len; + + switch (apid) + { + default: + return TF_TLM_FUNC_ACK_NOT_DEFINED; + } +} + #pragma section diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.h b/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.h index 13506c396..2ff40dfb0 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.h +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/user_packet_handler.h @@ -9,6 +9,9 @@ #include #include #include +#include +#include "telemetry_definitions.h" +#include "../Settings/TlmCmd/Ccsds/apid_define.h" /** * @brief PH のユーザー固有部初期化処理 @@ -45,4 +48,19 @@ PH_ACK PH_user_analyze_cmd(const CommonCmdPacket* packet); */ CCP_CmdRet PH_user_cmd_router(const CommonCmdPacket* packet); +/** + * @brief 2nd OBC のテレメを転送するために, APID からテレメを判定してルーティングする // FIXME: 命名, router ではない? + * @param[in] apid: 2nd OBC の Tlm APID + * @param[in] tlm_id: 2nd OBC の Tlm ID + * @param[out] packet: テレメを作る uint8_t にシリアライズされた packet へのポインタ + * @param[out] len: 転送するテレメのパケット長 + * @param[in] max_len: 許容できる最大テレメパケット長 + * @return TF_TLM_FUNC_ACK + */ +TF_TLM_FUNC_ACK PH_user_telemetry_router(APID apid, + TLM_CODE tlm_id, + uint8_t* packet, + uint16_t* len, + uint16_t max_len); + #endif diff --git a/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c b/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c index 7f8162993..794f12822 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c @@ -31,10 +31,6 @@ static TF_TLM_FUNC_ACK Tlm_HK_(uint8_t* packet, uint16_t* len, uint16_t max_len) static TF_TLM_FUNC_ACK Tlm_GIT_REV_(uint8_t* packet, uint16_t* len, uint16_t max_len); static TF_TLM_FUNC_ACK Tlm_UART_TEST_(uint8_t* packet, uint16_t* len, uint16_t max_len); -// AOBC TLM -static TF_TLM_FUNC_ACK Tlm_AOBC_AOBC_(uint8_t* packet, uint16_t* len, uint16_t max_len); -static TF_TLM_FUNC_ACK Tlm_AOBC_HK_(uint8_t* packet, uint16_t* len, uint16_t max_len); - void TF_load_tlm_table(TF_TlmInfo tlm_table[TF_MAX_TLMS]) { tlm_table[Tlm_CODE_MOBC].tlm_func = Tlm_MOBC_; @@ -59,10 +55,6 @@ void TF_load_tlm_table(TF_TlmInfo tlm_table[TF_MAX_TLMS]) tlm_table[Tlm_CODE_HK].tlm_func = Tlm_HK_; tlm_table[Tlm_CODE_GIT_REV].tlm_func = Tlm_GIT_REV_; tlm_table[Tlm_CODE_UART_TEST].tlm_func = Tlm_UART_TEST_; - - // AOBC TLM - tlm_table[Tlm_CODE_AOBC_AOBC].tlm_func = Tlm_AOBC_AOBC_; - tlm_table[Tlm_CODE_AOBC_HK].tlm_func = Tlm_AOBC_HK_; } static TF_TLM_FUNC_ACK Tlm_MOBC_(uint8_t* packet, uint16_t* len, uint16_t max_len) @@ -3448,14 +3440,4 @@ static TF_TLM_FUNC_ACK Tlm_UART_TEST_(uint8_t* packet, uint16_t* len, uint16_t m return TF_TLM_FUNC_ACK_SUCCESS; } -static TF_TLM_FUNC_ACK Tlm_AOBC_AOBC_(uint8_t* packet, uint16_t* len, uint16_t max_len) -{ - return AOBC_pick_up_tlm_buffer(aobc_driver, AOBC_Tlm_CODE_AOBC_AOBC, packet, len, max_len); -} - -static TF_TLM_FUNC_ACK Tlm_AOBC_HK_(uint8_t* packet, uint16_t* len, uint16_t max_len) -{ - return AOBC_pick_up_tlm_buffer(aobc_driver, AOBC_Tlm_CODE_AOBC_HK, packet, len, max_len); -} - #pragma section diff --git a/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.h b/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.h index 7b63decc7..2693d6673 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.h +++ b/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.h @@ -31,14 +31,6 @@ typedef enum Tlm_CODE_GIT_REV = 0xf1, Tlm_CODE_UART_TEST = 0xf8, - // AOBC TLM - Tlm_CODE_AOBC_AOBC = 0x90, - Tlm_CODE_AOBC_HK = 0x91, - - // FIXME: - // 他OBCのTLMをまとめたため,IDが昇順となっていない - // TLM_CODE_MAX が意味をなさなくなってしまうが,他で使われていないため,一旦このままにする(今後解決する実装) - TLM_CODE_MAX } TLM_CODE; diff --git a/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.c b/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.c index 08fbafe63..ee9513d5c 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.c @@ -66,6 +66,22 @@ CCP_CmdRet PH_user_cmd_router(const CommonCmdPacket* packet) } +TF_TLM_FUNC_ACK PH_user_telemetry_router(APID apid, + TLM_CODE tlm_id, + uint8_t* packet, + uint16_t* len, + uint16_t max_len) +{ + switch (apid) + { + case APID_AOBC_TLM: + return AOBC_pick_up_tlm_buffer(aobc_driver, (AOBC_TLM_CODE)tlm_id, packet, len, max_len); + default: + return TF_TLM_FUNC_ACK_NOT_DEFINED; + } +} + + static PH_ACK PH_add_aobc_cmd_(const CommonCmdPacket* packet) { PL_ACK ack = PL_push_back(&PH_aobc_cmd_list, packet); diff --git a/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.h b/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.h index 568bed004..f146244c5 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.h +++ b/Examples/minimum_user/src/src_user/TlmCmd/user_packet_handler.h @@ -9,6 +9,9 @@ #include #include #include +#include +#include "telemetry_definitions.h" +#include "../Settings/TlmCmd/Ccsds/apid_define.h" extern PacketList PH_aobc_cmd_list; extern PacketList PH_tobc_cmd_list; @@ -48,4 +51,19 @@ PH_ACK PH_user_analyze_cmd(const CommonCmdPacket* packet); */ CCP_CmdRet PH_user_cmd_router(const CommonCmdPacket* packet); +/** + * @brief 2nd OBC のテレメを転送するために, APID からテレメを判定してルーティングする // FIXME: 命名, router ではない? + * @param[in] apid: 2nd OBC の Tlm APID + * @param[in] tlm_id: 2nd OBC の Tlm ID + * @param[out] packet: テレメを作る uint8_t にシリアライズされた packet へのポインタ + * @param[out] len: 転送するテレメのパケット長 + * @param[in] max_len: 許容できる最大テレメパケット長 + * @return TF_TLM_FUNC_ACK + */ +TF_TLM_FUNC_ACK PH_user_telemetry_router(APID apid, + TLM_CODE tlm_id, + uint8_t* packet, + uint16_t* len, + uint16_t max_len); + #endif diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index ff3f31821..70c9e01d1 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -286,21 +286,17 @@ static CCP_CmdRet TG_foward_tlm_(APID apid, return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 0); } - // ack = TF_generate_contents(tlm_id, - // TG_ctp_.packet, - // &packet_len, - // TSP_MAX_LEN); + ack = PH_user_telemetry_router(apid, + tlm_id, + TG_ctp_.packet, + &packet_len, + TSP_MAX_LEN); - // // 範囲外のTLM IDを除外 - // if (ack == TF_TLM_FUNC_ACK_NOT_DEFINED) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 1); - // if (ack != TF_TLM_FUNC_ACK_SUCCESS) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_CONTEXT, (uint32_t)ack); + if (ack == TF_TLM_FUNC_ACK_NOT_DEFINED) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 1); + if (ack != TF_TLM_FUNC_ACK_SUCCESS) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_CONTEXT, (uint32_t)ack); // 2nd OBC なので, Header は可能な限り維持 // Primary Header → 維持 - (void)ack; - (void)apid; - (void)tlm_id; - (void)packet_len; // Secondary Header if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffffULL) From 99ce34e7aab75cecb974c9e77ccb0c708150d49b Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 07:39:21 +0900 Subject: [PATCH 06/19] fix include --- TlmCmd/telemetry_generator.c | 1 + 1 file changed, 1 insertion(+) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 70c9e01d1..0df9b4bd0 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -9,6 +9,7 @@ #include "common_cmd_packet.h" #include "common_cmd_packet_util.h" #include +#include #include #include "./Ccsds/tlm_space_packet.h" // FIXME: TSP 依存性はNGなので, TCP → SP 大工事終わったら直す From 85631be94a7a33c61c7cae9c488ed260705c9189 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 07:54:01 +0900 Subject: [PATCH 07/19] typo --- .../CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv | 8 ++-- .../Drivers/Aocs/aobc_command_definitions.h | 8 ++-- .../CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv | 8 ++-- .../src/src_user/TlmCmd/command_definitions.c | 38 +++++++++---------- .../src/src_user/TlmCmd/command_definitions.h | 8 ++-- TlmCmd/telemetry_generator.c | 36 +++++++++--------- TlmCmd/telemetry_generator.h | 14 +++---- 7 files changed, 60 insertions(+), 60 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv index 6b2bc3bec..4ef2970bf 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv @@ -35,10 +35,10 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_HK_TLM,OBC,0x001C,1,uint8_t,tlm id,,,,,,,,,,,,,HK テレメを生成 (事実上,現在使われていない), ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, -,TG_FOWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FOWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FOWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FOWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h index 0d834ff3e..65fbd8fde 100644 --- a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h +++ b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h @@ -39,10 +39,10 @@ typedef enum AOBC_Cmd_CODE_TG_GENERATE_HK_TLM = 0x001C, AOBC_Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, AOBC_Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, - AOBC_Cmd_CODE_TG_FOWARD_TLM = 0x001F, - AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM = 0x0020, - AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM = 0x0021, - AOBC_Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM = 0x0022, + AOBC_Cmd_CODE_TG_FORWARD_TLM = 0x001F, + AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, + AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, + AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, AOBC_Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, AOBC_Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, AOBC_Cmd_CODE_BCT_COPY_BCT = 0x0025, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv index 984d17b41..380c38a83 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv @@ -35,10 +35,10 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_HK_TLM,OBC,0x001C,1,uint8_t,tlm id,,,,,,,,,,,,,HK テレメを生成 (事実上,現在使われていない), ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, -,TG_FOWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FOWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FOWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FOWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c index 278647544..646a30c46 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c @@ -41,10 +41,10 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_HK_TLM].cmd_func = Cmd_TG_GENERATE_HK_TLM; cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].cmd_func = Cmd_TG_GENERATE_MS_TLM; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].cmd_func = Cmd_TG_GENERATE_ST_TLM; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].cmd_func = Cmd_TG_FOWARD_TLM; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_HK_TLM; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_MS_TLM; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FOWARD_TLM_TO_ST_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].cmd_func = Cmd_TG_FORWARD_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_HK_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_MS_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_ST_TLM; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].cmd_func = Cmd_BCT_CLEAR_BLOCK; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].cmd_func = Cmd_BCT_SET_BLOCK_POSITION; cmd_table[Cmd_CODE_BCT_COPY_BCT].cmd_func = Cmd_BCT_COPY_BCT; @@ -205,21 +205,21 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h index 43d3511c3..ff2b9143a 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h @@ -39,10 +39,10 @@ typedef enum Cmd_CODE_TG_GENERATE_HK_TLM = 0x001C, Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, - Cmd_CODE_TG_FOWARD_TLM = 0x001F, - Cmd_CODE_TG_FOWARD_TLM_TO_HK_TLM = 0x0020, - Cmd_CODE_TG_FOWARD_TLM_TO_MS_TLM = 0x0021, - Cmd_CODE_TG_FOWARD_TLM_TO_ST_TLM = 0x0022, + Cmd_CODE_TG_FORWARD_TLM = 0x001F, + Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, + Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, + Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, Cmd_CODE_BCT_COPY_BCT = 0x0025, diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 0df9b4bd0..7de3d3c6e 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -38,11 +38,11 @@ static CCP_CmdRet TG_generate_tlm_(TLM_CODE tlm_id, * @param[in] dump_num: テレメ送出回数 * @return CCP_CmdRet */ -static CCP_CmdRet TG_foward_tlm_(APID apid, - TLM_CODE tlm_id, - ctp_dest_flags_t dest_flags, - uint8_t dest_info, - uint8_t dump_num); +static CCP_CmdRet TG_forward_tlm_(APID apid, + TLM_CODE tlm_id, + ctp_dest_flags_t dest_flags, + uint8_t dest_info, + uint8_t dump_num); /** * @brief 次のパケットで用いる Sequence Count を取得 @@ -172,7 +172,7 @@ CCP_CmdRet Cmd_TG_GENERATE_ST_TLM(const CommonCmdPacket* packet) } -CCP_CmdRet Cmd_TG_FOWARD_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); @@ -180,38 +180,38 @@ CCP_CmdRet Cmd_TG_FOWARD_TLM(const CommonCmdPacket* packet) uint8_t dest_info = CCP_get_param_from_packet(packet, 3, uint8_t); uint8_t dump_num = CCP_get_param_from_packet(packet, 4, uint8_t); - return TG_foward_tlm_(apid, tlm_id, dest_flags, dest_info, dump_num); + return TG_forward_tlm_(apid, tlm_id, dest_flags, dest_info, dump_num); } -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); - return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_HK, 0, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_HK, 0, dump_num); } -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); - return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_MS, 0, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_MS, 0, dump_num); } -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); uint8_t dr_partition = CCP_get_param_from_packet(packet, 2, uint8_t); uint8_t dump_num = CCP_get_param_from_packet(packet, 3, uint8_t); - return TG_foward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_ST, dr_partition, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_ST, dr_partition, dump_num); } @@ -272,11 +272,11 @@ static CCP_CmdRet TG_generate_tlm_(TLM_CODE tlm_id, } -static CCP_CmdRet TG_foward_tlm_(APID apid, - TLM_CODE tlm_id, - ctp_dest_flags_t dest_flags, - uint8_t dest_info, - uint8_t dump_num) +static CCP_CmdRet TG_forward_tlm_(APID apid, + TLM_CODE tlm_id, + ctp_dest_flags_t dest_flags, + uint8_t dest_info, + uint8_t dump_num) { TF_TLM_FUNC_ACK ack; uint16_t packet_len; diff --git a/TlmCmd/telemetry_generator.h b/TlmCmd/telemetry_generator.h index c01bbeed5..2ef50da25 100644 --- a/TlmCmd/telemetry_generator.h +++ b/TlmCmd/telemetry_generator.h @@ -33,25 +33,25 @@ CCP_CmdRet Cmd_TG_GENERATE_ST_TLM(const CommonCmdPacket* packet); /** * @brief 2nd OBC のテレメを転送 */ -CCP_CmdRet Cmd_TG_FOWARD_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_TLM(const CommonCmdPacket* packet); /** * @brief HK テレメとして 2nd OBC のテレメを転送 - * @note Cmd_TG_FOWARD_TLM の Destination Flags が Housekeeping Telemetry のエイリアス + * @note Cmd_TG_FORWARD_TLM の Destination Flags が Housekeeping Telemetry のエイリアス */ -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet); /** * @brief MS テレメとして 2nd OBC のテレメを転送 - * @note Cmd_TG_FOWARD_TLM の Destination Flags が Mission Telemetry のエイリアス + * @note Cmd_TG_FORWARD_TLM の Destination Flags が Mission Telemetry のエイリアス */ -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet); /** * @brief ST テレメとして 2nd OBC のテレメを転送 - * @note Cmd_TG_FOWARD_TLM の Destination Flags が Stored Telemetry のエイリアス + * @note Cmd_TG_FORWARD_TLM の Destination Flags が Stored Telemetry のエイリアス * @note Data Recorder のどのパーティションに配送されるかも引数で受ける */ -CCP_CmdRet Cmd_TG_FOWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet); #endif From 0d149cf5d8d0536c29c1491f99d286de4b14c365 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 08:17:09 +0900 Subject: [PATCH 08/19] generate tlm code of 2nd obc --- .../src/src_user/TlmCmd/command_definitions.c | 19 +++ .../src/src_user/TlmCmd/command_definitions.h | 154 +++++++++--------- 2 files changed, 98 insertions(+), 75 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c index 9aa4f9e7d..28734900b 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c @@ -41,6 +41,10 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_HK_TLM].cmd_func = Cmd_TG_GENERATE_HK_TLM; cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].cmd_func = Cmd_TG_GENERATE_MS_TLM; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].cmd_func = Cmd_TG_GENERATE_ST_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].cmd_func = Cmd_TG_FORWARD_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_HK_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_MS_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_ST_TLM; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].cmd_func = Cmd_BCT_CLEAR_BLOCK; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].cmd_func = Cmd_BCT_SET_BLOCK_POSITION; cmd_table[Cmd_CODE_BCT_COPY_BCT].cmd_func = Cmd_BCT_COPY_BCT; @@ -164,6 +168,21 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h index 0447c433d..2f2966518 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h @@ -39,81 +39,85 @@ typedef enum Cmd_CODE_TG_GENERATE_HK_TLM = 0x001C, Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, - Cmd_CODE_BCT_CLEAR_BLOCK = 0x001F, - Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0020, - Cmd_CODE_BCT_COPY_BCT = 0x0021, - Cmd_CODE_BCT_OVERWRITE_CMD = 0x0022, - Cmd_CODE_BCT_FILL_NOP = 0x0023, - Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0024, - Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0025, - Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x0026, - Cmd_CODE_BCE_ROTATE_BLOCK = 0x0027, - Cmd_CODE_BCE_COMBINE_BLOCK = 0x0028, - Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x0029, - Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002A, - Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002B, - Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x002C, - Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x002D, - Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x002E, - Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x002F, - Cmd_CODE_EL_INIT = 0x0030, - Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0031, - Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x0032, - Cmd_CODE_EL_CLEAR_STATISTICS = 0x0033, - Cmd_CODE_EL_CLEAR_TLOG = 0x0034, - Cmd_CODE_EL_CLEAR_CLOG = 0x0035, - Cmd_CODE_EL_RECORD_EVENT = 0x0036, - Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x0037, - Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x0038, - Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x0039, - Cmd_CODE_EL_ENABLE_LOGGING = 0x003A, - Cmd_CODE_EL_DISABLE_LOGGING = 0x003B, - Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x003C, - Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x003D, - Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x003E, - Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x003F, - Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0040, - Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0041, - Cmd_CODE_EH_INIT = 0x0042, - Cmd_CODE_EH_CLEAR_ALL_RULE = 0x0043, - Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x0044, - Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x0045, - Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x0046, - Cmd_CODE_EH_REGISTER_RULE = 0x0047, - Cmd_CODE_EH_DELETE_RULE = 0x0048, - Cmd_CODE_EH_INIT_RULE = 0x0049, - Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x004A, - Cmd_CODE_EH_ACTIVATE_RULE = 0x004B, - Cmd_CODE_EH_INACTIVATE_RULE = 0x004C, - Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x004D, - Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x004E, - Cmd_CODE_EH_SET_RULE_COUNTER = 0x004F, - Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0050, - Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0051, - Cmd_CODE_EH_CLEAR_LOG = 0x0052, - Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x0053, - Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x0054, - Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x0055, - Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x0056, - Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x0057, - Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x0058, - Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x0059, - Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x005A, - Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x005B, - Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x005C, - Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x005D, - Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x005E, - Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x005F, - Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0060, - Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0061, - Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x0062, - Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x0063, - Cmd_CODE_TF_INIT = 0x0064, - Cmd_CODE_CA_INIT = 0x0065, - Cmd_CODE_TF_REGISTER_TLM = 0x0066, - Cmd_CODE_CA_REGISTER_CMD = 0x0067, - Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x0068, - Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x0069, + Cmd_CODE_TG_FORWARD_TLM = 0x001F, + Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, + Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, + Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, + Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, + Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, + Cmd_CODE_BCT_COPY_BCT = 0x0025, + Cmd_CODE_BCT_OVERWRITE_CMD = 0x0026, + Cmd_CODE_BCT_FILL_NOP = 0x0027, + Cmd_CODE_BCE_ACTIVATE_BLOCK = 0x0028, + Cmd_CODE_BCE_ACTIVATE_BLOCK_BY_ID = 0x0029, + Cmd_CODE_BCE_INACTIVATE_BLOCK_BY_ID = 0x002A, + Cmd_CODE_BCE_ROTATE_BLOCK = 0x002B, + Cmd_CODE_BCE_COMBINE_BLOCK = 0x002C, + Cmd_CODE_BCE_TIMELIMIT_COMBINE_BLOCK = 0x002D, + Cmd_CODE_BCE_RESET_ROTATOR_INFO = 0x002E, + Cmd_CODE_BCE_RESET_COMBINER_INFO = 0x002F, + Cmd_CODE_BCE_SET_ROTATE_INTERVAL = 0x0030, + Cmd_CODE_GSCD_CLEAR_ERR_LOG = 0x0031, + Cmd_CODE_RTCD_CLEAR_ALL_REALTIME = 0x0032, + Cmd_CODE_RTCD_CLEAR_ERR_LOG = 0x0033, + Cmd_CODE_EL_INIT = 0x0034, + Cmd_CODE_EL_CLEAR_LOG_ALL = 0x0035, + Cmd_CODE_EL_CLEAR_LOG_BY_ERR_LEVEL = 0x0036, + Cmd_CODE_EL_CLEAR_STATISTICS = 0x0037, + Cmd_CODE_EL_CLEAR_TLOG = 0x0038, + Cmd_CODE_EL_CLEAR_CLOG = 0x0039, + Cmd_CODE_EL_RECORD_EVENT = 0x003A, + Cmd_CODE_EL_TLOG_SET_PAGE_FOR_TLM = 0x003B, + Cmd_CODE_EL_CLOG_SET_PAGE_FOR_TLM = 0x003C, + Cmd_CODE_EL_INIT_LOGGING_SETTINGS = 0x003D, + Cmd_CODE_EL_ENABLE_LOGGING = 0x003E, + Cmd_CODE_EL_DISABLE_LOGGING = 0x003F, + Cmd_CODE_EL_ENABLE_LOGGING_ALL = 0x0040, + Cmd_CODE_EL_DISABLE_LOGGING_ALL = 0x0041, + Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE = 0x0042, + Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE = 0x0043, + Cmd_CODE_EL_ENABLE_TLOG_OVERWRITE_ALL = 0x0044, + Cmd_CODE_EL_DISABLE_TLOG_OVERWRITE_ALL = 0x0045, + Cmd_CODE_EH_INIT = 0x0046, + Cmd_CODE_EH_CLEAR_ALL_RULE = 0x0047, + Cmd_CODE_EH_LOAD_DEFAULT_RULE = 0x0048, + Cmd_CODE_EH_SET_REGISTER_RULE_EVENT_PARAM = 0x0049, + Cmd_CODE_EH_SET_REGISTER_RULE_CONDITION_PARAM = 0x004A, + Cmd_CODE_EH_REGISTER_RULE = 0x004B, + Cmd_CODE_EH_DELETE_RULE = 0x004C, + Cmd_CODE_EH_INIT_RULE = 0x004D, + Cmd_CODE_EH_INIT_RULE_FOR_MULTI_LEVEL = 0x004E, + Cmd_CODE_EH_ACTIVATE_RULE = 0x004F, + Cmd_CODE_EH_INACTIVATE_RULE = 0x0050, + Cmd_CODE_EH_ACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0051, + Cmd_CODE_EH_INACTIVATE_RULE_FOR_MULTI_LEVEL = 0x0052, + Cmd_CODE_EH_SET_RULE_COUNTER = 0x0053, + Cmd_CODE_EH_CLEAR_RULE_COUNTER = 0x0054, + Cmd_CODE_EH_CLEAR_RULE_COUNTER_BY_EVENT = 0x0055, + Cmd_CODE_EH_CLEAR_LOG = 0x0056, + Cmd_CODE_EH_SET_MAX_RESPONSE_NUM = 0x0057, + Cmd_CODE_EH_SET_MAX_CHECK_EVENT_NUM = 0x0058, + Cmd_CODE_EH_SET_MAX_MULTI_LEVEL_NUM = 0x0059, + Cmd_CODE_EH_SET_PAGE_OF_RULE_TABLE_FOR_TLM = 0x005A, + Cmd_CODE_EH_SET_PAGE_OF_RULE_SORTED_IDX_FOR_TLM = 0x005B, + Cmd_CODE_EH_SET_PAGE_OF_LOG_TABLE_FOR_TLM = 0x005C, + Cmd_CODE_EH_SET_TARGET_ID_OF_RULE_TABLE_FOR_TLM = 0x005D, + Cmd_CODE_EH_MATCH_EVENT_COUNTER_TO_EL = 0x005E, + Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP = 0x005F, + Cmd_CODE_EH_INIT_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0060, + Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP = 0x0061, + Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP = 0x0062, + Cmd_CODE_EH_ACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0063, + Cmd_CODE_EH_INACTIVATE_RULE_BY_EVENT_GROUP_FOR_MULTI_LEVEL = 0x0064, + Cmd_CODE_EVENT_UTIL_ENABLE_EH_EXEC = 0x0065, + Cmd_CODE_EVENT_UTIL_DISABLE_EH_EXEC = 0x0066, + Cmd_CODE_EVENT_UTIL_EXEC_EH = 0x0067, + Cmd_CODE_TF_INIT = 0x0068, + Cmd_CODE_CA_INIT = 0x0069, + Cmd_CODE_TF_REGISTER_TLM = 0x006A, + Cmd_CODE_CA_REGISTER_CMD = 0x006B, + Cmd_CODE_TF_SET_PAGE_FOR_TLM = 0x006C, + Cmd_CODE_CA_SET_PAGE_FOR_TLM = 0x006D, Cmd_CODE_WDT_INIT = 0x0100, Cmd_CODE_WDT_ENABLE = 0x0101, Cmd_CODE_WDT_DISABLE = 0x0102, From ee20aa3aa3e85024a6e1ac4ecb83f3297e87024f Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 08:46:01 +0900 Subject: [PATCH 09/19] fix --- TlmCmd/telemetry_generator.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 7de3d3c6e..dcd42f6d3 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -300,10 +300,11 @@ static CCP_CmdRet TG_forward_tlm_(APID apid, // Primary Header → 維持 // Secondary Header - if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffffULL) - { - CTP_set_global_time(&TG_ctp_); - } + // FIXME: 方針を決めて直す + // if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffffULL) + // { + // CTP_set_global_time(&TG_ctp_); + // } if (TSP_get_on_board_subnet_time(&TG_ctp_) == 0xffffffff) { TSP_set_on_board_subnet_time(&TG_ctp_, (uint32_t)(TMGR_get_master_total_cycle())); // FIXME: 暫定 From 07f2004d7d7374ffe71e6519d848145f5947c9bb Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 08:46:37 +0900 Subject: [PATCH 10/19] update test_comm_between_c2a.py for forward tlm --- .../src_user/Test/test/test_comm_between_c2a.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py index 9eb3d2a86..461985973 100644 --- a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py +++ b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py @@ -22,6 +22,7 @@ SECOND_OBC = "AOBC" Tlm_CODE_2ND_OBC_HK = c2a_enum.Tlm_CODE_AOBC_HK +TLM_APID_2ND_OBC = c2a_enum.APID_AOBC_TLM USE_BCT_ID = 100 # NOP だと id が 0x00 なのでちがうのを @@ -105,18 +106,18 @@ def test_c2a_comm_tlm_buffer(): # MOBC の tlm buffer が空なのでエラー assert "CNT" == wings.util.send_rt_cmd_and_confirm( ope, - mobc_c2a_enum.Cmd_CODE_GENERATE_TLM, - (0x40, mobc_c2a_enum.Tlm_CODE_AOBC_AOBC, 1), + mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, + (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC, 1), mobc_c2a_enum.Tlm_CODE_HK, ) send_2nd_obc_gsc_directly( - c2a_enum.Cmd_CODE_GENERATE_TLM, (0x40, mobc_c2a_enum.Tlm_CODE_AOBC_AOBC, 1) + c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC, 1) ) time.sleep(2) assert "SUC" == wings.util.send_rt_cmd_and_confirm( ope, - mobc_c2a_enum.Cmd_CODE_GENERATE_TLM, - (0x40, mobc_c2a_enum.Tlm_CODE_AOBC_AOBC, 1), + mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, + (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC, 1), mobc_c2a_enum.Tlm_CODE_HK, ) @@ -254,8 +255,8 @@ def get_2nd_obc_hk_tlm(): global g_mobc_gsc_cnt g_mobc_gsc_cnt += 1 - tlm_2ND_HK = wings.util.generate_and_receive_tlm( - ope, mobc_c2a_enum.Cmd_CODE_GENERATE_TLM, Tlm_CODE_2ND_OBC_HK + tlm_2ND_HK = wings.util.forward_and_receive_tlm( + ope, mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM, TLM_APID_2ND_OBC, Tlm_CODE_2ND_OBC_HK ) return tlm_2ND_HK From 6bd3fdc65985eb6bc487ac2659556306aa5d7c35 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Mon, 17 Apr 2023 08:46:50 +0900 Subject: [PATCH 11/19] fix comment --- TlmCmd/telemetry_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index dcd42f6d3..d752b7cf2 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -300,7 +300,7 @@ static CCP_CmdRet TG_forward_tlm_(APID apid, // Primary Header → 維持 // Secondary Header - // FIXME: 方針を決めて直す + // FIXME: 方針を決めて直す(また, `(uint64_t)` へのキャストは不適切そう) // if ((uint64_t)TSP_get_global_time(&TG_ctp_) == 0xffffffffffffffffULL) // { // CTP_set_global_time(&TG_ctp_); From 91f47a1c9c07951f73638ba315612ccbd9968b6f Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 11:53:19 +0900 Subject: [PATCH 12/19] del dump num --- .../TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv | 6 +++--- .../src/src_user/TlmCmd/command_definitions.c | 3 --- .../TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv | 6 +++--- .../src/src_user/TlmCmd/command_definitions.c | 4 ---- TlmCmd/telemetry_generator.c | 9 +++------ 5 files changed, 9 insertions(+), 19 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv index 4ef2970bf..b04b7f322 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv @@ -36,9 +36,9 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, ,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c index 28734900b..5322a106f 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c @@ -175,14 +175,11 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv index 380c38a83..2af43221a 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv @@ -36,9 +36,9 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, ,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,3,uint16_t,apid,uint8_t,tlm id,uint8_t,送出回数,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,4,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),uint8_t,送出回数,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c index 646a30c46..b79ad7953 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c @@ -204,7 +204,6 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; @@ -212,14 +211,11 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index d752b7cf2..428bfb5e1 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -188,9 +188,8 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); - uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); - return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_HK, 0, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_HK, 0, 1); } @@ -198,9 +197,8 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); - uint8_t dump_num = CCP_get_param_from_packet(packet, 2, uint8_t); - return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_MS, 0, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_MS, 0, 1); } @@ -209,9 +207,8 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet) APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); uint8_t dr_partition = CCP_get_param_from_packet(packet, 2, uint8_t); - uint8_t dump_num = CCP_get_param_from_packet(packet, 3, uint8_t); - return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_ST, dr_partition, dump_num); + return TG_forward_tlm_(apid, tlm_id, (ctp_dest_flags_t)CTP_DEST_FLAG_ST, dr_partition, 1); } From f513c8633de9b58a05d9981a078e139cb1a6c472 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 11:56:21 +0900 Subject: [PATCH 13/19] Update test_comm_between_c2a.py --- .../src/src_user/Test/test/test_comm_between_c2a.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py index 461985973..4c1c0e517 100644 --- a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py +++ b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py @@ -107,17 +107,17 @@ def test_c2a_comm_tlm_buffer(): assert "CNT" == wings.util.send_rt_cmd_and_confirm( ope, mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, - (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC, 1), + (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) send_2nd_obc_gsc_directly( - c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC, 1) + c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC) ) time.sleep(2) assert "SUC" == wings.util.send_rt_cmd_and_confirm( ope, mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, - (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC, 1), + (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) From 08d1ee39af2a6f52b07d43fe1d8f44ca829072f1 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 12:01:23 +0900 Subject: [PATCH 14/19] apply black --- .../src/src_user/Test/test/test_comm_between_c2a.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py index 4c1c0e517..e48f012af 100644 --- a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py +++ b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py @@ -110,9 +110,7 @@ def test_c2a_comm_tlm_buffer(): (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) - send_2nd_obc_gsc_directly( - c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC) - ) + send_2nd_obc_gsc_directly(c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC)) time.sleep(2) assert "SUC" == wings.util.send_rt_cmd_and_confirm( ope, From ec0a6450c84449d7f7daccf73306f89f28e72f68 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 22:37:20 +0900 Subject: [PATCH 15/19] fix --- TlmCmd/telemetry_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 428bfb5e1..fbc56475d 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -321,7 +321,7 @@ static CCP_CmdRet TG_forward_tlm_(APID apid, } -static uint8_t TG_get_next_seq_count_(void) +static uint16_t TG_get_next_seq_count_(void) { // インクリメントした値を返すため初期値は 0xffff とする static uint16_t adu_counter_ = 0xffff; From c0a2ffe673f611c9555dd37566b066141d06e3d3 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 22:44:18 +0900 Subject: [PATCH 16/19] rename cmd name --- .../CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv | 6 +++--- .../Test/test/test_comm_between_c2a.py | 4 ++-- .../src/src_user/TlmCmd/command_definitions.c | 20 +++++++++---------- .../src/src_user/TlmCmd/command_definitions.h | 6 +++--- .../Drivers/Aocs/aobc_command_definitions.h | 6 +++--- .../CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv | 6 +++--- .../src/src_user/TlmCmd/command_definitions.c | 20 +++++++++---------- .../src/src_user/TlmCmd/command_definitions.h | 6 +++--- TlmCmd/telemetry_generator.c | 6 +++--- TlmCmd/telemetry_generator.h | 6 +++--- 10 files changed, 43 insertions(+), 43 deletions(-) diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv index b04b7f322..3a64f17ca 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_AOBC_CMD_DB_CMD_DB.csv @@ -36,9 +36,9 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, ,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_AS_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_AS_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_AS_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py index e48f012af..ad59b5141 100644 --- a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py +++ b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py @@ -106,7 +106,7 @@ def test_c2a_comm_tlm_buffer(): # MOBC の tlm buffer が空なのでエラー assert "CNT" == wings.util.send_rt_cmd_and_confirm( ope, - mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, + mobc_c2a_enum.Cmd_CODE_TG_FORWARD_AS_MS_TLM, (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) @@ -114,7 +114,7 @@ def test_c2a_comm_tlm_buffer(): time.sleep(2) assert "SUC" == wings.util.send_rt_cmd_and_confirm( ope, - mobc_c2a_enum.Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM, + mobc_c2a_enum.Cmd_CODE_TG_FORWARD_AS_MS_TLM, (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c index 5322a106f..de5b5c6cd 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.c @@ -42,9 +42,9 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].cmd_func = Cmd_TG_GENERATE_MS_TLM; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].cmd_func = Cmd_TG_GENERATE_ST_TLM; cmd_table[Cmd_CODE_TG_FORWARD_TLM].cmd_func = Cmd_TG_FORWARD_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_HK_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_MS_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_ST_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].cmd_func = Cmd_TG_FORWARD_AS_HK_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].cmd_func = Cmd_TG_FORWARD_AS_MS_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].cmd_func = Cmd_TG_FORWARD_AS_ST_TLM; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].cmd_func = Cmd_BCT_CLEAR_BLOCK; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].cmd_func = Cmd_BCT_SET_BLOCK_POSITION; cmd_table[Cmd_CODE_BCT_COPY_BCT].cmd_func = Cmd_BCT_COPY_BCT; @@ -173,13 +173,13 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h index 2f2966518..84a460038 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/command_definitions.h @@ -40,9 +40,9 @@ typedef enum Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, Cmd_CODE_TG_FORWARD_TLM = 0x001F, - Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, - Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, - Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, + Cmd_CODE_TG_FORWARD_AS_HK_TLM = 0x0020, + Cmd_CODE_TG_FORWARD_AS_MS_TLM = 0x0021, + Cmd_CODE_TG_FORWARD_AS_ST_TLM = 0x0022, Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, Cmd_CODE_BCT_COPY_BCT = 0x0025, diff --git a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h index 65fbd8fde..a5bee0612 100644 --- a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h +++ b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc_command_definitions.h @@ -40,9 +40,9 @@ typedef enum AOBC_Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, AOBC_Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, AOBC_Cmd_CODE_TG_FORWARD_TLM = 0x001F, - AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, - AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, - AOBC_Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, + AOBC_Cmd_CODE_TG_FORWARD_AS_HK_TLM = 0x0020, + AOBC_Cmd_CODE_TG_FORWARD_AS_MS_TLM = 0x0021, + AOBC_Cmd_CODE_TG_FORWARD_AS_ST_TLM = 0x0022, AOBC_Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, AOBC_Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, AOBC_Cmd_CODE_BCT_COPY_BCT = 0x0025, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv index 2af43221a..f8677a1f3 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/CMD_DB/SAMPLE_MOBC_CMD_DB_CMD_DB.csv @@ -36,9 +36,9 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TG_GENERATE_MS_TLM,OBC,0x001D,1,uint8_t,tlm id,,,,,,,,,,,,,MS テレメを生成, ,TG_GENERATE_ST_TLM,OBC,0x001E,2,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,,,ST テレメを生成, ,TG_FORWARD_TLM,OBC,0x001F,5,uint16_t,apid,uint8_t,tlm id,uint8_t,dest flags,uint8_t,dest info,uint8_t,送出回数,,,,,2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), -,TG_FORWARD_TLM_TO_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, -,TG_FORWARD_TLM_TO_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_AS_HK_TLM,OBC,0x0020,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,HK テレメとして 2nd OBC のテレメを転送 (事実上,現在使われていない), +,TG_FORWARD_AS_MS_TLM,OBC,0x0021,2,uint16_t,apid,uint8_t,tlm id,,,,,,,,,,,MS テレメとして 2nd OBC のテレメを転送, +,TG_FORWARD_AS_ST_TLM,OBC,0x0022,3,uint16_t,apid,uint8_t,tlm id,uint8_t,dr partition (dest info),,,,,,,,,ST テレメとして 2nd OBC のテレメを転送, **,BCTコマンド,,,,,,,,,,,,,,,,,,, ,BCT_CLEAR_BLOCK,OBC,0x0023,1,uint16_t,bc_index,,,,,,,,,,,,,BLC登録解除コマンド, ,BCT_SET_BLOCK_POSITION,OBC,0x0024,2,uint16_t,bc_index,uint8_t,cmd_index,,,,,,,,,,,BLC操作ポインタ設定コマンド, diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c index b79ad7953..bfeb85ae1 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.c @@ -42,9 +42,9 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_GENERATE_MS_TLM].cmd_func = Cmd_TG_GENERATE_MS_TLM; cmd_table[Cmd_CODE_TG_GENERATE_ST_TLM].cmd_func = Cmd_TG_GENERATE_ST_TLM; cmd_table[Cmd_CODE_TG_FORWARD_TLM].cmd_func = Cmd_TG_FORWARD_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_HK_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_MS_TLM; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].cmd_func = Cmd_TG_FORWARD_TLM_TO_ST_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].cmd_func = Cmd_TG_FORWARD_AS_HK_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].cmd_func = Cmd_TG_FORWARD_AS_MS_TLM; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].cmd_func = Cmd_TG_FORWARD_AS_ST_TLM; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].cmd_func = Cmd_BCT_CLEAR_BLOCK; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].cmd_func = Cmd_BCT_SET_BLOCK_POSITION; cmd_table[Cmd_CODE_BCT_COPY_BCT].cmd_func = Cmd_BCT_COPY_BCT; @@ -209,13 +209,13 @@ void CA_load_cmd_table(CA_CmdInfo cmd_table[CA_MAX_CMDS]) cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[1].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_TG_FORWARD_TLM].param_size_infos[2].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; - cmd_table[Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_HK_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_MS_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; + cmd_table[Cmd_CODE_TG_FORWARD_AS_ST_TLM].param_size_infos[1].packed_info.bit.first = CA_PARAM_SIZE_TYPE_1BYTE; cmd_table[Cmd_CODE_BCT_CLEAR_BLOCK].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.first = CA_PARAM_SIZE_TYPE_2BYTE; cmd_table[Cmd_CODE_BCT_SET_BLOCK_POSITION].param_size_infos[0].packed_info.bit.second = CA_PARAM_SIZE_TYPE_1BYTE; diff --git a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h index ff2b9143a..01f55f829 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h +++ b/Examples/minimum_user/src/src_user/TlmCmd/command_definitions.h @@ -40,9 +40,9 @@ typedef enum Cmd_CODE_TG_GENERATE_MS_TLM = 0x001D, Cmd_CODE_TG_GENERATE_ST_TLM = 0x001E, Cmd_CODE_TG_FORWARD_TLM = 0x001F, - Cmd_CODE_TG_FORWARD_TLM_TO_HK_TLM = 0x0020, - Cmd_CODE_TG_FORWARD_TLM_TO_MS_TLM = 0x0021, - Cmd_CODE_TG_FORWARD_TLM_TO_ST_TLM = 0x0022, + Cmd_CODE_TG_FORWARD_AS_HK_TLM = 0x0020, + Cmd_CODE_TG_FORWARD_AS_MS_TLM = 0x0021, + Cmd_CODE_TG_FORWARD_AS_ST_TLM = 0x0022, Cmd_CODE_BCT_CLEAR_BLOCK = 0x0023, Cmd_CODE_BCT_SET_BLOCK_POSITION = 0x0024, Cmd_CODE_BCT_COPY_BCT = 0x0025, diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index fbc56475d..3428eea60 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -184,7 +184,7 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM(const CommonCmdPacket* packet) } -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_AS_HK_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); @@ -193,7 +193,7 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet) } -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_AS_MS_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); @@ -202,7 +202,7 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet) } -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet) +CCP_CmdRet Cmd_TG_FORWARD_AS_ST_TLM(const CommonCmdPacket* packet) { APID apid = APID_get_apid_from_uint16(CCP_get_param_from_packet(packet, 0, uint16_t)); TLM_CODE tlm_id = (TLM_CODE)CCP_get_param_from_packet(packet, 1, uint8_t); diff --git a/TlmCmd/telemetry_generator.h b/TlmCmd/telemetry_generator.h index 2ef50da25..ba7943eb5 100644 --- a/TlmCmd/telemetry_generator.h +++ b/TlmCmd/telemetry_generator.h @@ -39,19 +39,19 @@ CCP_CmdRet Cmd_TG_FORWARD_TLM(const CommonCmdPacket* packet); * @brief HK テレメとして 2nd OBC のテレメを転送 * @note Cmd_TG_FORWARD_TLM の Destination Flags が Housekeeping Telemetry のエイリアス */ -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_HK_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_AS_HK_TLM(const CommonCmdPacket* packet); /** * @brief MS テレメとして 2nd OBC のテレメを転送 * @note Cmd_TG_FORWARD_TLM の Destination Flags が Mission Telemetry のエイリアス */ -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_MS_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_AS_MS_TLM(const CommonCmdPacket* packet); /** * @brief ST テレメとして 2nd OBC のテレメを転送 * @note Cmd_TG_FORWARD_TLM の Destination Flags が Stored Telemetry のエイリアス * @note Data Recorder のどのパーティションに配送されるかも引数で受ける */ -CCP_CmdRet Cmd_TG_FORWARD_TLM_TO_ST_TLM(const CommonCmdPacket* packet); +CCP_CmdRet Cmd_TG_FORWARD_AS_ST_TLM(const CommonCmdPacket* packet); #endif From 302877e6f2c769f7e8d56078d1eb97f1adedd060 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Wed, 19 Apr 2023 22:46:58 +0900 Subject: [PATCH 17/19] fix err code --- TlmCmd/telemetry_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TlmCmd/telemetry_generator.c b/TlmCmd/telemetry_generator.c index 3428eea60..2e740bf04 100644 --- a/TlmCmd/telemetry_generator.c +++ b/TlmCmd/telemetry_generator.c @@ -290,7 +290,7 @@ static CCP_CmdRet TG_forward_tlm_(APID apid, &packet_len, TSP_MAX_LEN); - if (ack == TF_TLM_FUNC_ACK_NOT_DEFINED) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, 1); + if (ack == TF_TLM_FUNC_ACK_NOT_DEFINED) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_PARAMETER, ( ((uint16_t)apid << 16) | (0x0000ffff & tlm_id) )); if (ack != TF_TLM_FUNC_ACK_SUCCESS) return CCP_make_cmd_ret(CCP_EXEC_ILLEGAL_CONTEXT, (uint32_t)ack); // 2nd OBC なので, Header は可能な限り維持 From 3f3dadae613b95a45aac6f1e30caa512a25aedaf Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Thu, 20 Apr 2023 00:11:17 +0900 Subject: [PATCH 18/19] Update test_comm_between_c2a.py --- .../src/src_user/Test/test/test_comm_between_c2a.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py index ad59b5141..2d71b8d96 100644 --- a/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py +++ b/Examples/2nd_obc_user/src/src_user/Test/test/test_comm_between_c2a.py @@ -110,7 +110,7 @@ def test_c2a_comm_tlm_buffer(): (TLM_APID_2ND_OBC, c2a_enum.Tlm_CODE_AOBC_AOBC), mobc_c2a_enum.Tlm_CODE_HK, ) - send_2nd_obc_gsc_directly(c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC)) + send_2nd_obc_gsc_directly(c2a_enum.Cmd_CODE_TG_GENERATE_MS_TLM, (c2a_enum.Tlm_CODE_AOBC_AOBC,)) time.sleep(2) assert "SUC" == wings.util.send_rt_cmd_and_confirm( ope, From 2bdeda65ab8e68134799af022581250d74e6dcb5 Mon Sep 17 00:00:00 2001 From: Ryo Suzumoto Date: Thu, 20 Apr 2023 11:24:18 +0900 Subject: [PATCH 19/19] update version --- c2a_core_main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c2a_core_main.h b/c2a_core_main.h index 964a53955..fd8356f45 100644 --- a/c2a_core_main.h +++ b/c2a_core_main.h @@ -10,6 +10,6 @@ void C2A_core_main(void); #define C2A_CORE_VER_MAJOR (3) #define C2A_CORE_VER_MINOR (9) #define C2A_CORE_VER_PATCH (0) -#define C2A_CORE_VER_PRE ("beta.0") +#define C2A_CORE_VER_PRE ("beta.1") #endif