diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 932968b94..5f74cdc26 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: jobs: minimum_user: name: minimum user - uses: arkedge/workflows-c2a/.github/workflows/build.yml@v2.1.0 + uses: arkedge/workflows-c2a/.github/workflows/build.yml@v2.3.0 with: c2a_dir: Examples/minimum_user c2a_custom_setup: | @@ -25,7 +25,7 @@ jobs: second_obc_user: name: 2nd obc user - uses: arkedge/workflows-c2a/.github/workflows/build.yml@v2.1.0 + uses: arkedge/workflows-c2a/.github/workflows/build.yml@v2.3.0 with: c2a_dir: Examples/2nd_obc_user c2a_custom_setup: | diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 74c4d02cf..bbd841daa 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,7 +24,7 @@ jobs: components: clippy, rustfmt - name: cache dependencies - uses: Swatinem/rust-cache@v2.4.0 + uses: Swatinem/rust-cache@v2.5.0 - name: reviewdog / clippy uses: sksat/action-clippy@v0.2.1 diff --git a/Applications/telemetry_manager.h b/Applications/telemetry_manager.h index 75bf56bd9..3936e3123 100644 --- a/Applications/telemetry_manager.h +++ b/Applications/telemetry_manager.h @@ -146,7 +146,7 @@ AppInfo TLM_MGR_create_app(void); /** * @brief 初期化 - * @note DCU を使っているので,完了に 1 秒ほどかかる + * @note DCU を使っているので,完了に最大 1.5 秒ほどかかる */ CCP_CmdRet Cmd_TLM_MGR_INIT(const CommonCmdPacket* packet); diff --git a/Cargo.toml b/Cargo.toml index 38b25bfc3..5064b6f94 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "c2a-core" -version = "3.9.0" +version = "3.9.1" edition = "2021" links = "c2a-core" diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv index 4dfaa7c83..7e18561f5 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv @@ -26,12 +26,12 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,MM_STS,uint8_t,(uint8_t)(mode_manager->stat),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,モード遷移実行状態, ,MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状モード番号, ,MM_OPSMODE_PREV,uint8_t,(uint8_t)(mode_manager->previous_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,直前モード番号, -,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispathcer->task_list_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状 TaskList ID, -,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンド実行時刻, -,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.time.step),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, -,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispathcer->tskd.prev_err.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンドID, -,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, -,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispathcer->tskd.prev_err.cmd_ret.err_code,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispatcher->task_list_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状 TaskList ID, +,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンド実行時刻, +,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.time.step),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispatcher->tskd.prev_err.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンドID, +,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, +,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispatcher->tskd.prev_err.cmd_ret.err_code,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, ,GS_CMD.COUNTER,uint32_t,PL_count_executed_nodes(&PH_gs_cmd_list),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,地上局コマンドカウンタ, ,GS_CMD.LAST_EXEC.TIME,uint32_t,(uint32_t)(gs_command_dispatcher->prev.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新地上局コマンド実行時刻, ,GS_CMD.LAST_EXEC.ID,uint16_t,(uint16_t)(gs_command_dispatcher->prev.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新地上局コマンドID, diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv index 2ad81d093..4955c9cc6 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv @@ -25,7 +25,7 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,OBC.MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, ,OBC.MM_STS,uint8_t,(uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) ),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),1,STATUS,,,,,,,0=FINISHED@@1=PROGRESS@@*=N/A,, ,OBC.MM_OPSMODE_PREV,||,||,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),7,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, -,OBC.TDSP.CURRENT_ID,uint16_t,task_dispathcer->task_list_id,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,OBC.TDSP.CURRENT_ID,uint16_t,task_dispatcher->task_list_id,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, ,OBC.GS_CMD.COUNTER,uint32_t,PL_count_executed_nodes(&PH_gs_cmd_list),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,地上局コマンドカウンタ, ,OBC.GS_CMD.LAST_EXEC.TIME,uint32_t,(uint32_t)(gs_command_dispatcher->prev.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新地上局コマンド実行時刻, ,OBC.GS_CMD.LAST_EXEC.ID,uint16_t,(uint16_t)(gs_command_dispatcher->prev.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新地上局コマンドID, diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv index b514535b5..9f8eccd40 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_AOBC.csv @@ -26,12 +26,12 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,MM_STS,uint8_t,(uint8_t)(mode_manager->stat),PACKET,46,0,8,NONE,,,,,,,,モード遷移実行状態, ,MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,47,0,8,NONE,,,,,,,,現状モード番号, ,MM_OPSMODE_PREV,uint8_t,(uint8_t)(mode_manager->previous_id),PACKET,48,0,8,NONE,,,,,,,,直前モード番号, -,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispathcer->task_list_id),PACKET,49,0,8,NONE,,,,,,,,現状 TaskList ID, -,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle),PACKET,50,0,32,NONE,,,,,,,,最新内部コマンド実行時刻, -,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.time.step),PACKET,54,0,8,NONE,,,,,,,,, -,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispathcer->tskd.prev_err.code),PACKET,55,0,16,NONE,,,,,,,,最新内部コマンドID, -,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts),PACKET,57,0,8,STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, -,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispathcer->tskd.prev_err.cmd_ret.err_code,PACKET,58,0,32,NONE,,,,,,,,, +,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispatcher->task_list_id),PACKET,49,0,8,NONE,,,,,,,,現状 TaskList ID, +,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle),PACKET,50,0,32,NONE,,,,,,,,最新内部コマンド実行時刻, +,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.time.step),PACKET,54,0,8,NONE,,,,,,,,, +,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispatcher->tskd.prev_err.code),PACKET,55,0,16,NONE,,,,,,,,最新内部コマンドID, +,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts),PACKET,57,0,8,STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, +,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispatcher->tskd.prev_err.cmd_ret.err_code,PACKET,58,0,32,NONE,,,,,,,,, ,GS_CMD.COUNTER,uint32_t,PL_count_executed_nodes(&PH_gs_cmd_list),PACKET,62,0,32,NONE,,,,,,,,地上局コマンドカウンタ, ,GS_CMD.LAST_EXEC.TIME,uint32_t,(uint32_t)(gs_command_dispatcher->prev.time.total_cycle),PACKET,66,0,32,NONE,,,,,,,,最新地上局コマンド実行時刻, ,GS_CMD.LAST_EXEC.ID,uint16_t,(uint16_t)(gs_command_dispatcher->prev.code),PACKET,70,0,16,NONE,,,,,,,,最新地上局コマンドID, diff --git a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv index 1fbb40a50..507d0d508 100644 --- a/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv +++ b/Examples/2nd_obc_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_AOBC_TLM_DB_AOBC_HK.csv @@ -25,7 +25,7 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,OBC.MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,38,0,8,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, ,OBC.MM_STS,uint8_t,(uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) ),PACKET,39,0,1,STATUS,,,,,,,0=FINISHED@@1=PROGRESS@@*=N/A,, ,OBC.MM_OPSMODE_PREV,,,PACKET,39,1,7,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, -,OBC.TDSP.CURRENT_ID,uint16_t,task_dispathcer->task_list_id,PACKET,40,0,16,NONE,,,,,,,,, +,OBC.TDSP.CURRENT_ID,uint16_t,task_dispatcher->task_list_id,PACKET,40,0,16,NONE,,,,,,,,, ,OBC.GS_CMD.COUNTER,uint32_t,PL_count_executed_nodes(&PH_gs_cmd_list),PACKET,42,0,32,NONE,,,,,,,,地上局コマンドカウンタ, ,OBC.GS_CMD.LAST_EXEC.TIME,uint32_t,(uint32_t)(gs_command_dispatcher->prev.time.total_cycle),PACKET,46,0,32,NONE,,,,,,,,最新地上局コマンド実行時刻, ,OBC.GS_CMD.LAST_EXEC.ID,uint16_t,(uint16_t)(gs_command_dispatcher->prev.code),PACKET,50,0,16,NONE,,,,,,,,最新地上局コマンドID, diff --git a/Examples/2nd_obc_user/src/src_user/TlmCmd/telemetry_definitions.c b/Examples/2nd_obc_user/src/src_user/TlmCmd/telemetry_definitions.c index 3f4d7c384..e4318ff71 100644 --- a/Examples/2nd_obc_user/src/src_user/TlmCmd/telemetry_definitions.c +++ b/Examples/2nd_obc_user/src/src_user/TlmCmd/telemetry_definitions.c @@ -28,12 +28,12 @@ static TF_TLM_FUNC_ACK Tlm_AOBC_AOBC_(uint8_t* packet, uint16_t* len, uint16_t m TF_copy_u8(&packet[46], (uint8_t)(mode_manager->stat)); TF_copy_u8(&packet[47], (uint8_t)(mode_manager->current_id)); TF_copy_u8(&packet[48], (uint8_t)(mode_manager->previous_id)); - TF_copy_u8(&packet[49], (uint8_t)(task_dispathcer->task_list_id)); - TF_copy_u32(&packet[50], (uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle)); - TF_copy_u8(&packet[54], (uint8_t)(task_dispathcer->tskd.prev_err.time.step)); - TF_copy_u16(&packet[55], (uint16_t)(task_dispathcer->tskd.prev_err.code)); - TF_copy_u8(&packet[57], (uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts)); - TF_copy_u32(&packet[58], task_dispathcer->tskd.prev_err.cmd_ret.err_code); + TF_copy_u8(&packet[49], (uint8_t)(task_dispatcher->task_list_id)); + TF_copy_u32(&packet[50], (uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle)); + TF_copy_u8(&packet[54], (uint8_t)(task_dispatcher->tskd.prev_err.time.step)); + TF_copy_u16(&packet[55], (uint16_t)(task_dispatcher->tskd.prev_err.code)); + TF_copy_u8(&packet[57], (uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts)); + TF_copy_u32(&packet[58], task_dispatcher->tskd.prev_err.cmd_ret.err_code); TF_copy_u32(&packet[62], PL_count_executed_nodes(&PH_gs_cmd_list)); TF_copy_u32(&packet[66], (uint32_t)(gs_command_dispatcher->prev.time.total_cycle)); TF_copy_u16(&packet[70], (uint16_t)(gs_command_dispatcher->prev.code)); @@ -120,7 +120,7 @@ static TF_TLM_FUNC_ACK Tlm_AOBC_HK_(uint8_t* packet, uint16_t* len, uint16_t max TF_copy_double(&packet[30], TMGR_get_unixtime_at_ti0()); TF_copy_u8(&packet[38], (uint8_t)(mode_manager->current_id)); TF_copy_u8(&packet[39], (uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) )); - TF_copy_u16(&packet[40], task_dispathcer->task_list_id); + TF_copy_u16(&packet[40], task_dispatcher->task_list_id); TF_copy_u32(&packet[42], PL_count_executed_nodes(&PH_gs_cmd_list)); TF_copy_u32(&packet[46], (uint32_t)(gs_command_dispatcher->prev.time.total_cycle)); TF_copy_u16(&packet[50], (uint16_t)(gs_command_dispatcher->prev.code)); diff --git a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c index 449bcecd2..7eb253140 100644 --- a/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c +++ b/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c @@ -140,7 +140,6 @@ DS_CMD_ERR_CODE AOBC_send_cmd(AOBC_Driver* aobc_driver, const CommonCmdPacket* p // [TODO] ここではコマンドが実際に存在するか,ということはフィルタしない!(でいいよね?) // 必要があれば,AOBC 側で弾くべき. - switch (cmd_code) { case AOBC_Cmd_CODE_GENERATE_TLM: // FALLTHROUGH 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 f4bcc11a1..ab30be976 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 @@ -131,7 +131,7 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,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,0x0072,0,,,,,,,,,,,,,,,初期化,DCU を使っているので,完了に 1 秒ほどかかる +,TLM_MGR_INIT,OBC,0x0072,0,,,,,,,,,,,,,,,初期化,DCU を使っているので,完了に最大 1.5 秒ほどかかる ,TLM_MGR_INIT_MASTER_AND_DEPLOY_BC,OBC,0x0073,0,,,,,,,,,,,,,,,master bc の初期化, ,TLM_MGR_CLEAR_HK_TLM,OBC,0x0074,0,,,,,,,,,,,,,,,HKテレメを初期化,DCU を使っているので,完了に最大 1 秒ほどかかる ,TLM_MGR_CLEAR_HIGH_FREQ_TLM,OBC,0x0075,0,,,,,,,,,,,,,,,HIGH_FREQ テレメを初期化,DCU を使っているので,完了に最大 1 秒ほどかかる @@ -158,7 +158,7 @@ Comment,,,,,Type,Description,Type,Description,Type,Description,Type,Description, ,TEST_CCP_GET_RAW_PARAM_INFO,OBC,0x0088,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の排出間隔設定, +,DI_GS_DRIVER_RESET,OBC,0x0100,0,,,,,,,,,,,,,,,GS ドライバの初期化, ,DI_GS_SET_RT_FLUSH_INTERVAL,OBC,0x0101,1,uint32_t,排出間隔,,,,,,,,,,,,,RT VCDUの排出間隔設定, ,DI_GS_SET_RP_FLUSH_INTERVAL,OBC,0x0102,1,uint32_t,排出間隔,,,,,,,,,,,,,RP VCDUの排出間隔設定, ,DI_GS_SET_FARM_PW,OBC,0x0103,1,uint8_t,positive_window_width,,,,,,,,,,,,,FARM-1のPositive Window Width設定, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_HK.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_HK.csv index 78419235c..329e78246 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_HK.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_HK.csv @@ -25,7 +25,7 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,OBC.MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, ,OBC.MM_STS,uint8_t,(uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) ),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),1,STATUS,,,,,,,0=FINISHED@@1=PROGRESS@@*=N/A,, ,OBC.MM_OPSMODE_PREV,||,||,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),7,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, -,OBC.TDSP.CURRENT_ID,uint16_t,task_dispathcer->task_list_id,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,OBC.TDSP.CURRENT_ID,uint16_t,task_dispatcher->task_list_id,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, ,OBC.TCTF_LAST_RECV_ACK,uint8_t,(uint8_t)gs_driver->latest_info->rx.rec_status,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUCCESS@@ 1=ERROR,TC Transer Frame 受信処理結果, ,OBC.TCTF_LAST_RECV_TIME,uint32_t,(uint32_t)gs_driver->latest_info->rx.last_rec_time,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新TC Transer Frame受信時刻, ,OBC.TCP_LAST_RECV_ACK,uint8_t,(uint8_t)(gs_driver->latest_info->rx.cmd_ack),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUCCESS@@ 1=FORWARDED@@ 2=LIST_FULL@@ 3=PACKET_NOT_FOUND@@ 4=INVALID_PACKET@@ 5=TLC_SUCCESS@@ 6=TLC_PAST_TIME@@ 7=TLC_ALREADY_EXISTS@@ 8=BC_SUCCESS@@ 9=BC_INVALID_BLOCK_NO@@ 10=BC_ISORATED_CMD@@ 11=BC_CMD_TOO_LONG@@ 12=UNKNOWN,最新TCPacket受信処理結果, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_MOBC.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_MOBC.csv index 46993d55f..68ff46481 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_MOBC.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/SAMPLE_MOBC_TLM_DB_MOBC.csv @@ -26,12 +26,12 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,MM_STS,uint8_t,(uint8_t)(mode_manager->stat),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,モード遷移実行状態, ,MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状モード番号, ,MM_OPSMODE_PREV,uint8_t,(uint8_t)(mode_manager->previous_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,直前モード番号, -,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispathcer->task_list_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状 TaskList ID, -,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンド実行時刻, -,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.time.step),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, -,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispathcer->tskd.prev_err.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンドID, -,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, -,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispathcer->tskd.prev_err.cmd_ret.err_code,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispatcher->task_list_id),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,現状 TaskList ID, +,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンド実行時刻, +,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.time.step),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, +,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispatcher->tskd.prev_err.code),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新内部コマンドID, +,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts),PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, +,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispatcher->tskd.prev_err.cmd_ret.err_code,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, ,GS_RET_FROM_IF_RX,int32_t,(int32_t)gs_driver->latest_info->rx.ret_from_if_rx,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,, ,TCTF_LAST_RECV_ACK,uint8_t,(uint8_t)gs_driver->latest_info->rx.rec_status,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),STATUS,,,,,,,0=SUCCESS:G@@ 1=ERROR:R,TC Transer Frame DS処理結果, ,TCTF_LAST_RECV_TIME,uint32_t,(uint32_t)gs_driver->latest_info->rx.last_rec_time,PACKET,=R[-1]C+INT((R[-1]C[1]+R[-1]C[2])/8),=MOD((R[-1]C+R[-1]C[1])@@8),=IF(OR(EXACT(RC[-5]@@"uint8_t")@@EXACT(RC[-5]@@"int8_t"))@@8@@IF(OR(EXACT(RC[-5]@@"uint16_t")@@EXACT(RC[-5]@@"int16_t"))@@16@@IF(OR(EXACT(RC[-5]@@"uint32_t")@@EXACT(RC[-5]@@"int32_t")@@EXACT(RC[-5]@@"float"))@@32@@IF(EXACT(RC[-5]@@"double")@@64)))),NONE,,,,,,,,最新TC Transer Frame受信時刻, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_HK.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_HK.csv index 3247bda27..25d742c4b 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_HK.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_HK.csv @@ -25,7 +25,7 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,OBC.MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,38,0,8,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, ,OBC.MM_STS,uint8_t,(uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) ),PACKET,39,0,1,STATUS,,,,,,,0=FINISHED@@1=PROGRESS@@*=N/A,, ,OBC.MM_OPSMODE_PREV,,,PACKET,39,1,7,STATUS,,,,,,,0=START_UP@@1=INITIAL@@2=GND_TEST@@3=WDFAR@@4=RTC_HIGH_RATE@@5=5@@6=6@@7=7@@8=8@@9=9@@10=10@@11=11@@12=12@@13=13@@14=14@@15=15@@16=MAX@@*=N/A,, -,OBC.TDSP.CURRENT_ID,uint16_t,task_dispathcer->task_list_id,PACKET,40,0,16,NONE,,,,,,,,, +,OBC.TDSP.CURRENT_ID,uint16_t,task_dispatcher->task_list_id,PACKET,40,0,16,NONE,,,,,,,,, ,OBC.TCTF_LAST_RECV_ACK,uint8_t,(uint8_t)gs_driver->latest_info->rx.rec_status,PACKET,42,0,8,STATUS,,,,,,,0=SUCCESS@@ 1=ERROR,TC Transer Frame 受信処理結果, ,OBC.TCTF_LAST_RECV_TIME,uint32_t,(uint32_t)gs_driver->latest_info->rx.last_rec_time,PACKET,43,0,32,NONE,,,,,,,,最新TC Transer Frame受信時刻, ,OBC.TCP_LAST_RECV_ACK,uint8_t,(uint8_t)(gs_driver->latest_info->rx.cmd_ack),PACKET,47,0,8,STATUS,,,,,,,0=SUCCESS@@ 1=FORWARDED@@ 2=LIST_FULL@@ 3=PACKET_NOT_FOUND@@ 4=INVALID_PACKET@@ 5=TLC_SUCCESS@@ 6=TLC_PAST_TIME@@ 7=TLC_ALREADY_EXISTS@@ 8=BC_SUCCESS@@ 9=BC_INVALID_BLOCK_NO@@ 10=BC_ISORATED_CMD@@ 11=BC_CMD_TOO_LONG@@ 12=UNKNOWN,最新TCPacket受信処理結果, diff --git a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_MOBC.csv b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_MOBC.csv index 3421f1de9..56172b543 100644 --- a/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_MOBC.csv +++ b/Examples/minimum_user/src/src_user/Settings/TlmCmd/DataBase/TLM_DB/calced_data/SAMPLE_MOBC_TLM_DB_MOBC.csv @@ -26,12 +26,12 @@ Comment,TLM Entry,Onboard Software Info.,,Extraction Info.,,,,Conversion Info.,, ,MM_STS,uint8_t,(uint8_t)(mode_manager->stat),PACKET,46,0,8,NONE,,,,,,,,モード遷移実行状態, ,MM_OPSMODE,uint8_t,(uint8_t)(mode_manager->current_id),PACKET,47,0,8,NONE,,,,,,,,現状モード番号, ,MM_OPSMODE_PREV,uint8_t,(uint8_t)(mode_manager->previous_id),PACKET,48,0,8,NONE,,,,,,,,直前モード番号, -,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispathcer->task_list_id),PACKET,49,0,8,NONE,,,,,,,,現状 TaskList ID, -,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle),PACKET,50,0,32,NONE,,,,,,,,最新内部コマンド実行時刻, -,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.time.step),PACKET,54,0,8,NONE,,,,,,,,, -,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispathcer->tskd.prev_err.code),PACKET,55,0,16,NONE,,,,,,,,最新内部コマンドID, -,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts),PACKET,57,0,8,STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, -,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispathcer->tskd.prev_err.cmd_ret.err_code,PACKET,58,0,32,NONE,,,,,,,,, +,TDSP.CURRENT_ID,uint8_t,(uint8_t)(task_dispatcher->task_list_id),PACKET,49,0,8,NONE,,,,,,,,現状 TaskList ID, +,TDSP.LAST_ERR.TIME.TOTAL_CYCLE,uint32_t,(uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle),PACKET,50,0,32,NONE,,,,,,,,最新内部コマンド実行時刻, +,TDSP.LAST_ERR.TIME.STEP,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.time.step),PACKET,54,0,8,NONE,,,,,,,,, +,TDSP.LAST_ERR.ID,uint16_t,(uint16_t)(task_dispatcher->tskd.prev_err.code),PACKET,55,0,16,NONE,,,,,,,,最新内部コマンドID, +,TDSP.LAST_ERR.EXEC_STS,uint8_t,(uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts),PACKET,57,0,8,STATUS,,,,,,,0=SUC@@ 1=LEN@@ 2=PRM@@ 3=CNT@@ 4=NDF@@ 5=RUT@@ 6=FMT@@ *=ERR,最新内部コマンド実行結果, +,TDSP.LAST_ERR.ERR_CODE,uint32_t,task_dispatcher->tskd.prev_err.cmd_ret.err_code,PACKET,58,0,32,NONE,,,,,,,,, ,GS_RET_FROM_IF_RX,int32_t,(int32_t)gs_driver->latest_info->rx.ret_from_if_rx,PACKET,62,0,32,NONE,,,,,,,,, ,TCTF_LAST_RECV_ACK,uint8_t,(uint8_t)gs_driver->latest_info->rx.rec_status,PACKET,66,0,8,STATUS,,,,,,,0=SUCCESS:G@@ 1=ERROR:R,TC Transer Frame DS処理結果, ,TCTF_LAST_RECV_TIME,uint32_t,(uint32_t)gs_driver->latest_info->rx.last_rec_time,PACKET,67,0,32,NONE,,,,,,,,最新TC Transer Frame受信時刻, diff --git a/Examples/minimum_user/src/src_user/Settings/git_revision_config.h b/Examples/minimum_user/src/src_user/Settings/git_revision_config.h index 0a17e3fa3..e6499591f 100644 --- a/Examples/minimum_user/src/src_user/Settings/git_revision_config.h +++ b/Examples/minimum_user/src/src_user/Settings/git_revision_config.h @@ -2,12 +2,14 @@ #define GIT_REVISION_CONFIG_H_ /** - * このファイルは自動生成される場合と設定だけを書く場合があります. + * src/src_user/Settings/git_revision_config.hは自動生成される場合と設定だけを書く場合があります. * C2A core/userのcommit hashはコマンドラインオプションないしこのファイルでdefineされ, * 実際の埋め込みについてはsrc_core/Librari/git_revision.hとsrc_core/c2a_core_main.cが制御します. + * このexample userのファイルは例・ドキュメントなので,実際の内容は各C2A userで判断してください(そのままコピペしないでください). + * 混乱を避けるため,実際の各C2A userで使う設定のみ記述してください. */ -#if 1 // このuserはCMakeでビルドするのでこれを使う +#if 1 // このexample userはCMakeでビルドするのでこれを使う /*!< @brief CMakeでビルドする時など,コマンドラインオプションからcommit hashを流し込む場合の設定 * この場合,以下の定数をコマンドラインオプション(-D)などで設定してください * GIT_REVISION_C2A_CORE C2A coreのcommit hash(文字列) @@ -21,7 +23,9 @@ #if 0 /*!< @brief このファイルを自動生成する場合 - * src_user/Script/Git/revision.sh/batが以下のような内容でこのファイルを生成します + * src_user/Script/Git/revision.sh/batが以下のような内容でsrc/src_user/Settings/git_revision_config.hを生成します + * 注意!!!: この場合はsrc/src_user/Settings/git_revision_config.hは自分で記述しないでください + * また,基本的にGitで管理する必要がないです(gitignoreしてください). */ /* This file is generated by src_user/Script/Git/revision.sh */ @@ -35,7 +39,7 @@ #if 0 /*!< @brief commit hashを埋め込まない場合の設定 - * 実際には0が埋め込まれます + * 実際には0が埋め込まれます.詳細はsrc/src_core/Library/git_revision.hを参照してください. */ #define C2A_GIT_REVISION_IGNORE diff --git a/Examples/minimum_user/src/src_user/Test/test/src_core/System/EventManager/test_event_handler.py b/Examples/minimum_user/src/src_user/Test/test/src_core/System/EventManager/test_event_handler.py index 68e52ff66..a9852946c 100644 --- a/Examples/minimum_user/src/src_user/Test/test/src_core/System/EventManager/test_event_handler.py +++ b/Examples/minimum_user/src/src_user/Test/test/src_core/System/EventManager/test_event_handler.py @@ -1037,6 +1037,8 @@ def test_event_handler_respond_continuous(): download_eh_log_tlm() + # time_threshold_ms = 30000 = 30秒なので、 + # イベントの間隔が30秒以上開いていれば EH は反応しないはずである for i in range(3): assert check_respend_eh() == "not_responded" assert "SUC" == wings.util.send_rt_cmd_and_confirm( @@ -1045,10 +1047,11 @@ def test_event_handler_respond_continuous(): (EL_GROUP_TEST_EH, 2, EL_ERROR_LEVEL_LOW, 0), c2a_enum.Tlm_CODE_HK, ) - time.sleep(28) + time.sleep(30) # イベントの間隔を最低30秒(=time_threshold_ms)開ける assert check_respend_eh() == "not_responded" download_eh_log_tlm() + # イベントの間隔を開けずに3回イベントを記録すれば EH は反応するはずである for i in range(3): assert check_respend_eh() == "not_responded" assert "SUC" == wings.util.send_rt_cmd_and_confirm( 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 b2196ff9c..60b15b71e 100644 --- a/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c +++ b/Examples/minimum_user/src/src_user/TlmCmd/telemetry_definitions.c @@ -70,12 +70,12 @@ static TF_TLM_FUNC_ACK Tlm_MOBC_(uint8_t* packet, uint16_t* len, uint16_t max_le TF_copy_u8(&packet[46], (uint8_t)(mode_manager->stat)); TF_copy_u8(&packet[47], (uint8_t)(mode_manager->current_id)); TF_copy_u8(&packet[48], (uint8_t)(mode_manager->previous_id)); - TF_copy_u8(&packet[49], (uint8_t)(task_dispathcer->task_list_id)); - TF_copy_u32(&packet[50], (uint32_t)(task_dispathcer->tskd.prev_err.time.total_cycle)); - TF_copy_u8(&packet[54], (uint8_t)(task_dispathcer->tskd.prev_err.time.step)); - TF_copy_u16(&packet[55], (uint16_t)(task_dispathcer->tskd.prev_err.code)); - TF_copy_u8(&packet[57], (uint8_t)(task_dispathcer->tskd.prev_err.cmd_ret.exec_sts)); - TF_copy_u32(&packet[58], task_dispathcer->tskd.prev_err.cmd_ret.err_code); + TF_copy_u8(&packet[49], (uint8_t)(task_dispatcher->task_list_id)); + TF_copy_u32(&packet[50], (uint32_t)(task_dispatcher->tskd.prev_err.time.total_cycle)); + TF_copy_u8(&packet[54], (uint8_t)(task_dispatcher->tskd.prev_err.time.step)); + TF_copy_u16(&packet[55], (uint16_t)(task_dispatcher->tskd.prev_err.code)); + TF_copy_u8(&packet[57], (uint8_t)(task_dispatcher->tskd.prev_err.cmd_ret.exec_sts)); + TF_copy_u32(&packet[58], task_dispatcher->tskd.prev_err.cmd_ret.err_code); TF_copy_i32(&packet[62], (int32_t)gs_driver->latest_info->rx.ret_from_if_rx); TF_copy_u8(&packet[66], (uint8_t)gs_driver->latest_info->rx.rec_status); TF_copy_u32(&packet[67], (uint32_t)gs_driver->latest_info->rx.last_rec_time); @@ -3561,7 +3561,7 @@ static TF_TLM_FUNC_ACK Tlm_HK_(uint8_t* packet, uint16_t* len, uint16_t max_len) TF_copy_double(&packet[30], TMGR_get_unixtime_at_ti0()); TF_copy_u8(&packet[38], (uint8_t)(mode_manager->current_id)); TF_copy_u8(&packet[39], (uint8_t)( ((uint8_t)(mode_manager->stat) << 7 & 0x80) | ((uint8_t)(mode_manager->previous_id) & 0x7F) )); - TF_copy_u16(&packet[40], task_dispathcer->task_list_id); + TF_copy_u16(&packet[40], task_dispatcher->task_list_id); TF_copy_u8(&packet[42], (uint8_t)gs_driver->latest_info->rx.rec_status); TF_copy_u32(&packet[43], (uint32_t)gs_driver->latest_info->rx.last_rec_time); TF_copy_u8(&packet[47], (uint8_t)(gs_driver->latest_info->rx.cmd_ack)); diff --git a/System/TaskManager/task_dispatcher.c b/System/TaskManager/task_dispatcher.c index 047754322..f5918985e 100644 --- a/System/TaskManager/task_dispatcher.c +++ b/System/TaskManager/task_dispatcher.c @@ -22,14 +22,14 @@ #define TDSP_TASK_MAX BCT_MAX_CMD_NUM -static TaskDsipatcher task_dispathcer_; -const TaskDsipatcher* const task_dispathcer = &task_dispathcer_; +static TaskDsipatcher task_dispatcher_; +const TaskDsipatcher* const task_dispatcher = &task_dispatcher_; // 現在のサイクルで実行すべきタスク一覧を保存したもの static PacketList TDSP_task_list_; /** - * @brief `task_dispathcer_.task_list_id` に登録された BC を TaskListに展開. + * @brief `task_dispatcher_.task_list_id` に登録された BC を TaskListに展開. * @note 実際に BC の内容を読み込み、展開しているのは `PL_ACK PL_deploy_block_cmd(args)` */ static void TDSP_deploy_block_as_task_list_(void); @@ -52,10 +52,10 @@ void TDSP_initialize(void) PL_initialize_with_ccp(task_stock_, packet_stock_, TDSP_TASK_MAX, &TDSP_task_list_); // タスクリストを初期化し、INITIALモードのブロックコマンドを展開する - task_dispathcer_.tskd = CDIS_init(&TDSP_task_list_); - task_dispathcer_.task_list_id = MM_get_tasklist_id_of_mode(MD_MODEID_START_UP); + task_dispatcher_.tskd = CDIS_init(&TDSP_task_list_); + task_dispatcher_.task_list_id = MM_get_tasklist_id_of_mode(MD_MODEID_START_UP); TDSP_deploy_block_as_task_list_(); - task_dispathcer_.activated_at = 0; + task_dispatcher_.activated_at = 0; } @@ -65,7 +65,7 @@ TDSP_ACK TDSP_set_task_list_id(bct_id_t id) if (!BCE_is_active(id)) return TDSP_INACTIVE_BCT_ID; if (BCT_get_bc_length(id) == 0) return TDSP_EMPTY_BC; - task_dispathcer_.task_list_id = id; + task_dispatcher_.task_list_id = id; return TDSP_SUCCESS; } @@ -76,9 +76,9 @@ static void TDSP_deploy_block_as_task_list_(void) // 本関数内の処理中にMaster Cycleが変化した場合を検出できるよう、 // まず次Master Cycleの情報を更新する。 - task_dispathcer_.activated_at = TMGR_get_master_total_cycle() + 1; + task_dispatcher_.activated_at = TMGR_get_master_total_cycle() + 1; - ack = PL_deploy_block_cmd(&TDSP_task_list_, task_dispathcer_.task_list_id, 0); + ack = PL_deploy_block_cmd(&TDSP_task_list_, task_dispatcher_.task_list_id, 0); if (ack != PL_SUCCESS) { @@ -97,7 +97,7 @@ void TDSP_execute_pl_as_task_list(void) // (1) > (2) の時は今回のサイクルで実行すべきコマンドがすべて実行済みである // (1) < (2) の時は展開から 1サイクル (100ms) 以上経過してしまっているので強制終了する - if (task_dispathcer_.activated_at == TMGR_get_master_total_cycle()) + if (task_dispatcher_.activated_at == TMGR_get_master_total_cycle()) { // タスクリストの先頭コマンド実行予定時刻と現在時刻を比較 PL_ACK ack = PL_check_tl_cmd(&TDSP_task_list_, @@ -116,15 +116,15 @@ void TDSP_execute_pl_as_task_list(void) case PL_TLC_ON_TIME: // 実行時刻が過ぎている、もしくは実行時刻ピッタリの場合はコマンドを実行 - CDIS_dispatch_command(&(task_dispathcer_.tskd)); + CDIS_dispatch_command(&(task_dispatcher_.tskd)); - if (task_dispathcer_.tskd.prev.cmd_ret.exec_sts != CCP_EXEC_SUCCESS) + if (task_dispatcher_.tskd.prev.cmd_ret.exec_sts != CCP_EXEC_SUCCESS) { // コマンド実行時に異常が発生した場合はアノマリを登録。 EL_record_event((EL_GROUP)EL_CORE_GROUP_TASK_DISPATCHER, TDSP_TASK_EXEC_FAILED, EL_ERROR_LEVEL_HIGH, - task_dispathcer_.tskd.prev.cmd_ret.exec_sts); + task_dispatcher_.tskd.prev.cmd_ret.exec_sts); } break; @@ -137,7 +137,7 @@ void TDSP_execute_pl_as_task_list(void) if (PL_count_active_nodes(&TDSP_task_list_) == 0) { // task_listが空なら再度タスクリストを展開 - // これを行うとtask_dispathcer_.activated_atがインクリメントされるので、"次のサイクル実行待ち状態"になる + // これを行うとtask_dispatcher_.activated_atがインクリメントされるので、"次のサイクル実行待ち状態"になる TDSP_deploy_block_as_task_list_(); } @@ -151,18 +151,18 @@ void TDSP_execute_pl_as_task_list(void) (uint32_t)ack); } } - else if (task_dispathcer_.activated_at > TMGR_get_master_total_cycle()) + else if (task_dispatcher_.activated_at > TMGR_get_master_total_cycle()) { // 次のサイクルの実行待ち状態 return; } - else if (task_dispathcer_.activated_at < TMGR_get_master_total_cycle()) + else if (task_dispatcher_.activated_at < TMGR_get_master_total_cycle()) { - if ((task_dispathcer_.activated_at == 0) && (TMGR_get_master_total_cycle() == OBCT_MAX_CYCLE - 1)) + if ((task_dispatcher_.activated_at == 0) && (TMGR_get_master_total_cycle() == OBCT_MAX_CYCLE - 1)) { // 次サイクルの実行待ち状態(サイクルオーバーフロー直前) - // 本来は task_dispathcer_.activated_at > TMGR_get_master_total_cycle() となるはずが、 - // task_dispathcer_.activated_atがあふれて0に戻っている場合ここに来る + // 本来は task_dispatcher_.activated_at > TMGR_get_master_total_cycle() となるはずが、 + // task_dispatcher_.activated_atがあふれて0に戻っている場合ここに来る return; } else @@ -183,7 +183,7 @@ void TDSP_execute_pl_as_task_list(void) void TDSP_resync_internal_counter(void) { - task_dispathcer_.activated_at = TMGR_get_master_total_cycle(); + task_dispatcher_.activated_at = TMGR_get_master_total_cycle(); } @@ -218,11 +218,11 @@ void TDSP_print_tdsp_status_(void) { VT100_erase_line(); Printf("TASK: BC %d, ERR (TOTAL, STEP, STS, CODE) = (%10u, %3u, %d, %d)\n", - task_dispathcer->task_list_id, - task_dispathcer->tskd.prev_err.time.total_cycle, - task_dispathcer->tskd.prev_err.time.step, - task_dispathcer->tskd.prev_err.cmd_ret.exec_sts, - task_dispathcer->tskd.prev_err.cmd_ret.err_code); + task_dispatcher->task_list_id, + task_dispatcher->tskd.prev_err.time.total_cycle, + task_dispatcher->tskd.prev_err.time.step, + task_dispatcher->tskd.prev_err.cmd_ret.exec_sts, + task_dispatcher->tskd.prev_err.cmd_ret.err_code); } #endif diff --git a/System/TaskManager/task_dispatcher.h b/System/TaskManager/task_dispatcher.h index 5ffdcf33d..7d6630a87 100644 --- a/System/TaskManager/task_dispatcher.h +++ b/System/TaskManager/task_dispatcher.h @@ -40,7 +40,7 @@ typedef enum TDSP_UNKNOWN } TDSP_ACK; -extern const TaskDsipatcher* const task_dispathcer; +extern const TaskDsipatcher* const task_dispatcher; /** * @brief タスク管理を行うTaskDsipatcher構造体(TaskDsipatcher_)の初期化 diff --git a/build.rs b/build.rs index 94598a675..9d8d0c78b 100644 --- a/build.rs +++ b/build.rs @@ -47,7 +47,7 @@ fn get_core_version_from_header() -> Version { .expect("failed to get pre ver") .as_ref() .unwrap(); - let pre = semver::Prerelease::new(&pre).expect("failed to parse as pre release"); + let pre = semver::Prerelease::new(pre).expect("failed to parse as pre release"); Version { major, @@ -94,19 +94,17 @@ fn get_definitions(src_file: &str) -> HashMap> { let first = token.first().unwrap(); let last = token.last().unwrap(); - if first.get_kind() == Punctuation && last.get_kind() == Punctuation { - if first.get_spelling() == "(" && last.get_spelling() == ")" { - token.remove(0); - token.remove(token.len() - 1); - } + if first.get_kind() == Punctuation && last.get_kind() == Punctuation && first.get_spelling() == "(" && last.get_spelling() == ")" { + token.remove(0); + token.remove(token.len() - 1); } if token.len() == 1 { let value = token[0].get_spelling(); - let value = if value.starts_with("\"") && value.ends_with("\"") { - let value = value.strip_prefix("\"").unwrap(); - value.strip_suffix("\"").unwrap().to_string() + let value = if value.starts_with('\"') && value.ends_with('\"') { + let value = value.strip_prefix('\"').unwrap(); + value.strip_suffix('\"').unwrap().to_string() } else { value }; diff --git a/c2a_core_main.h b/c2a_core_main.h index c835c5ddd..d4e95cc0d 100644 --- a/c2a_core_main.h +++ b/c2a_core_main.h @@ -9,7 +9,7 @@ void C2A_core_main(void); // 詳細: Docs/General/release.md #define C2A_CORE_VER_MAJOR (3) #define C2A_CORE_VER_MINOR (9) -#define C2A_CORE_VER_PATCH (0) +#define C2A_CORE_VER_PATCH (1) #define C2A_CORE_VER_PRE ("") #endif diff --git a/common.cmake b/common.cmake index 5ff62b2df..b4c4ea2a5 100644 --- a/common.cmake +++ b/common.cmake @@ -48,7 +48,6 @@ else() # debug target_compile_options(${PROJECT_NAME} PUBLIC "-g") - target_link_options(${PROJECT_NAME} PUBLIC "-rdynamic") # warning target_compile_options(${PROJECT_NAME} PUBLIC "-Wpedantic")