CCP 関連基本関数の宣言
[詳解]
[ソースコード]
|
enum | CCP_EXEC_STS {
CCP_EXEC_SUCCESS = 0
, CCP_EXEC_ILLEGAL_LENGTH
, CCP_EXEC_ILLEGAL_PARAMETER
, CCP_EXEC_ILLEGAL_CONTEXT
,
CCP_EXEC_CMD_NOT_DEFINED
, CCP_EXEC_ROUTING_FAILED
, CCP_EXEC_PACKET_FMT_ERR
, CCP_EXEC_UNKNOWN
} |
| コマンド実行結果コード [詳解]
|
|
enum | CCP_EXEC_TYPE {
CCP_EXEC_TYPE_GS
, CCP_EXEC_TYPE_TL_FROM_GS
, CCP_EXEC_TYPE_BC
, CCP_EXEC_TYPE_RT
,
CCP_EXEC_TYPE_UTL
, CCP_EXEC_TYPE_TL_DEPLOY_BC
, CCP_EXEC_TYPE_TL_DEPLOY_TLM
, CCP_EXEC_TYPE_UNKNOWN
} |
| コマンド実行種別 [詳解]
|
|
CCP 関連基本関数の宣言
- 覚え書き
- CCP: CommonCmdPacket
common_cmd_packet.h に定義があります。
◆ CCP_EXEC_STS
コマンド実行結果コード
- 覚え書き
- uint8_t を想定
列挙値 |
---|
CCP_EXEC_SUCCESS | コマンド実行成功 なお,コマンドの実行の結果なので,その後の処理が失敗しても,コマンドが実行されていればこれを返す
|
CCP_EXEC_ILLEGAL_LENGTH | コマンド実行時のコマンド引数長エラー
|
CCP_EXEC_ILLEGAL_PARAMETER | コマンド実行時のパラメタエラー
|
CCP_EXEC_ILLEGAL_CONTEXT | コマンド実行時のその他のエラー
|
CCP_EXEC_CMD_NOT_DEFINED | CA_execute_cmd で用いる
|
CCP_EXEC_ROUTING_FAILED | PH_dispatch_command, PH_user_cmd_router で用いる
|
CCP_EXEC_PACKET_FMT_ERR | packet handler, ccp util で用いる
|
CCP_EXEC_UNKNOWN | 内部処理用.使わない.
|
common_cmd_packet.h の 43 行目に定義があります。
◆ CCP_EXEC_TYPE
コマンド実行種別
- 覚え書き
- 4bit を想定
-
GS (WINGS) からの OBC_TL や, C2A 内の CCP_form_tlc はすべて TL0 扱いとすること!
列挙値 |
---|
CCP_EXEC_TYPE_GS | GS : Ground Station Command
|
CCP_EXEC_TYPE_TL_FROM_GS | TL : Timeline Command
|
CCP_EXEC_TYPE_BC | BC : Block Command
|
CCP_EXEC_TYPE_RT | RT : Realtime Command
|
CCP_EXEC_TYPE_UTL | UTL: Unixtime Timeline Command
|
CCP_EXEC_TYPE_TL_DEPLOY_BC | |
CCP_EXEC_TYPE_TL_DEPLOY_TLM | |
CCP_EXEC_TYPE_UNKNOWN | |
common_cmd_packet.h の 62 行目に定義があります。
◆ CCP_copy_packet()
CommonCmdPacket をコピー
- 覚え書き
- user 実装次第だが,高速化のためすすべてではなく必要最低限しかコピーしない場合もある
- 引数
-
[in,out] | dest | コピー先 CCP |
[in] | src | コピー元 CCP |
- 戻り値
- void
common_cmd_packet.c の 100 行目に定義があります。
◆ CCP_get_apid()
◆ CCP_get_dest_type()
◆ CCP_get_exec_type()
◆ CCP_get_id()
◆ CCP_get_max_param_len()
uint16_t CCP_get_max_param_len |
( |
void |
| ) |
|
◆ CCP_get_packet_len()
◆ CCP_get_param_head()
◆ CCP_get_param_len()
◆ CCP_get_ti()
◆ CCP_is_valid_packet()
有効なパケットかチェックする
- 覚え書き
- NULL チェックも行う
-
OBC の外から来たパケットな可能性もあるので,このC2Aで扱えるサイズかもチェックする
- 引数
-
- 戻り値
-
common_cmd_packet.c の 12 行目に定義があります。
◆ CCP_set_apid()
◆ CCP_set_common_hdr()
◆ CCP_set_dest_type()
◆ CCP_set_exec_type()
◆ CCP_set_id()
◆ CCP_set_param()
void CCP_set_param |
( |
CommonCmdPacket * |
packet, |
|
|
const uint8_t * |
param, |
|
|
uint16_t |
len |
|
) |
| |
パラメタを設定
- 引数
-
[in,out] | packet | CCP |
[in] | param | パラメタ配列のポインタ |
[in] | len | パラメタ長 |
- 戻り値
- void
common_cmd_packet.c の 90 行目に定義があります。
◆ CCP_set_ti()