-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
bugSomething isn't workingSomething isn't working
Description
詳細
c2a_core を用いた別の FSW を開発している際、examples 以下にある pytest (test_time_manager.py) でたまに Failing になる
エラー例
src_core/system/time_manager/test_time_manager.py:185:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
utl_unixtime_epoch = 1761656586.556032, cycle_correction = 1.2520956949697104
def check_utl_cmd_with(utl_unixtime_epoch, cycle_correction):
# utl_unixtime_epoch, cycle_correction を設定する
assert "SUC" == wings.util.send_rt_cmd_and_confirm(
ope,
c2a_enum.Cmd_CODE_TMGR_SET_UTL_UNIXTIME_EPOCH,
(utl_unixtime_epoch,),
c2a_enum.Tlm_CODE_HK,
)
assert "SUC" == wings.util.send_rt_cmd_and_confirm(
ope, c2a_enum.Cmd_CODE_TMGR_SET_CYCLE_CORRECTION, (cycle_correction,), c2a_enum.Tlm_CODE_HK
)
# unixtime_info を現在の unixtime と ti で同期する
# 必ず Cmd_CODE_TMGR_SET_CYCLE_CORRECTION のあとに送ること
unixtime_now = time.time()
tlm_HK = ope.get_latest_tlm(c2a_enum.Tlm_CODE_HK)[0]
ti_now = tlm_HK["HK.SH.TI"]
assert "SUC" == wings.util.send_rt_cmd_and_confirm(
ope,
c2a_enum.Cmd_CODE_TMGR_UPDATE_UNIXTIME,
(unixtime_now, ti_now, 0),
c2a_enum.Tlm_CODE_HK,
)
unixtime_at_ti0 = unixtime_now - ti_now / (OBCT_CYCLES_PER_SEC * cycle_correction)
# 最初にTL_gsをクリアしておく
assert "SUC" == wings.util.send_rt_cmd_and_confirm(
ope,
c2a_enum.Cmd_CODE_TLCD_CLEAR_ALL_TIMELINE,
(c2a_enum.TLCD_ID_FROM_GS,),
c2a_enum.Tlm_CODE_HK,
)
# NOP を10個, 未来のランダムな unixtime で登録する
unixtime_of_cmds = generate_random_unixtime(10)
send_utl_nops(unixtime_of_cmds)
# TL_gs に正しく登録されているか確認
tlm_TL = wings.util.generate_and_receive_tlm(
ope, c2a_enum.Cmd_CODE_TG_GENERATE_RT_TLM, c2a_enum.Tlm_CODE_TL
)
assert tlm_TL["TL.LINE_NO"] == c2a_enum.TLCD_ID_FROM_GS
assert tlm_TL["TL.PAGE_NO"] == 0
for i, unixtime in enumerate(unixtime_of_cmds):
tlm_name = "TL.CMD" + str(i) + "_TI"
ti = calc_ti_from_unixtime(unixtime, unixtime_at_ti0, utl_unixtime_epoch, cycle_correction)
> assert tlm_TL[tlm_name] > ti - 1, {"registered_unixtime": unixtime, "tlm_name": tlm_name}
E AssertionError: {'registered_unixtime': 1764249592.4, 'tlm_name': 'TL.CMD0_TI'}
E assert 2147483648 > (2301613474.8590145 - 1)
src_core/system/time_manager/test_time_manager.py:256: AssertionErrorclose条件
対応したら
備考
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
No status