C2A_Core
user_packet_handler.h ファイル

packet_handlerのコマンドルーター,コマンドアナライザのユーザー定義部分 [詳解]

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

[ソースコード]

関数

void PH_user_init (void)
 PH のユーザー固有部初期化処理 [詳解]
 
PH_ACK PH_user_analyze_cmd (const CommonCmdPacket *packet)
 PH の analyze_cmd_ のユーザー処理関数 [詳解]
 
CCP_CmdRet PH_user_cmd_router (const CommonCmdPacket *packet)
 PH の PH_dispatch_command のユーザー処理関数 [詳解]
 
TF_TLM_FUNC_ACK PH_user_telemetry_router (APID apid, TLM_CODE tlm_id, uint8_t *packet, uint16_t *len, uint16_t max_len)
 2nd OBC のテレメを転送するために, APID からテレメを判定してルーティングする // FIXME: 命名, router ではない? [詳解]
 

変数

PacketList PH_aobc_cmd_list
 
PacketList PH_tobc_cmd_list
 

詳解

packet_handlerのコマンドルーター,コマンドアナライザのユーザー定義部分

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

関数詳解

◆ PH_user_analyze_cmd()

PH_ACK PH_user_analyze_cmd ( const CommonCmdPacket packet)

PH の analyze_cmd_ のユーザー処理関数

    Core の処理より優先される
    C2A を搭載したコンポのキュー(GSC,RTC,TLC,BC)に即座に直接追加される.
    正確には, add_rt_cmd_ の送信先版を作り,そこにキューイングされ,DI (dispatcher) によって回収される.
    つまり,本 OBC にとっては RTC だが,転送対象 OBC にとっては各種 Cmd 扱いな Cmd を転送する処理
引数
packetCCP
戻り値
PH_ACK_FORWARDED無事に転送するキューに追加された
PH_ACK_PL_LIST_FULLPL LIST FULL
PH_ACK_UNKNOWNユーザー処理に引っかからなかった場合.Core 側の処理に回される

user_packet_handler.c33 行目に定義があります。

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

◆ PH_user_cmd_router()

CCP_CmdRet PH_user_cmd_router ( const CommonCmdPacket packet)

PH の PH_dispatch_command のユーザー処理関数

    C2A を搭載したコンポに Cmd が転送される.
    つまり,転送対象 OBC にとっては RTC 扱いになる
    ここから Driver を叩いて送信まで行うことになる(実行時間は CA_execute_cmd と同じだけ許容されているので OK)
引数
packetCCP
戻り値
CCP_CmdRet{CCP_EXEC_SUCCESS,*}など: 無事に転送された.転送先の結果を返す
CCP_CmdRet{CCP_EXEC_ROUTING_FAILED,*}転送失敗(詳細エラーは DriverSuper を参照)

user_packet_handler.c72 行目に定義があります。

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

◆ PH_user_init()

void PH_user_init ( void  )

PH のユーザー固有部初期化処理

    PacketList の初期化を行う
引数
void
戻り値
void

user_packet_handler.c26 行目に定義があります。

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

◆ PH_user_telemetry_router()

TF_TLM_FUNC_ACK PH_user_telemetry_router ( APID  apid,
TLM_CODE  tlm_id,
uint8_t *  packet,
uint16_t *  len,
uint16_t  max_len 
)

2nd OBC のテレメを転送するために, APID からテレメを判定してルーティングする // FIXME: 命名, router ではない?

引数
[in]apid2nd OBC の Tlm APID
[in]tlm_id2nd OBC の Tlm ID
[out]packetテレメを作る uint8_t にシリアライズされた packet へのポインタ
[out]len転送するテレメのパケット長
[in]max_len許容できる最大テレメパケット長
戻り値
TF_TLM_FUNC_ACK

user_packet_handler.c90 行目に定義があります。

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

変数詳解

◆ PH_aobc_cmd_list

PacketList PH_aobc_cmd_list
extern

user_packet_handler.c17 行目に定義があります。

◆ PH_tobc_cmd_list

PacketList PH_tobc_cmd_list
extern

user_packet_handler.c18 行目に定義があります。