C2A_Core
|
BCTの定義, BCT周りの関数 [詳解]
#include "block_command_table.h"
#include "string.h"
#include "block_command_executor.h"
#include <src_user/TlmCmd/block_command_user_settings.h>
#include <src_user/TlmCmd/block_command_definitions.h>
#include "packet_handler.h"
#include "command_analyze.h"
#include <src_user/TlmCmd/command_definitions.h>
#include "../System/TimeManager/time_manager.h"
#include "../Library/endian.h"
#include "../System/WatchdogTimer/watchdog_timer.h"
#include "common_cmd_packet_util.h"
#include "./Ccsds/space_packet.h"
#include "./Ccsds/cmd_space_packet.h"
関数 | |
static void | BCT_load_default_func_pointer_ (void) |
BCT_Func にデフォルトの関数ポインタを入れる [詳解] | |
static BCT_CmdData * | BC_get_bc_cmd_data_default_ (const BCT_Pos *pos) |
static uint8_t | BC_get_bc_length_default_ (const bct_id_t block) |
static void | BC_set_bc_cmd_data_default_ (const BCT_Pos *pos, const BCT_CmdData *value) |
static void | BC_set_bc_length_default_ (const bct_id_t block, uint8_t length) |
static BCT_CmdData * | BCT_get_bc_cmd_data_ (const BCT_Pos *pos) |
static void | BCT_set_bc_cmd_data_ (const BCT_Pos *pos, const BCT_CmdData *value) |
static void | BCT_set_bc_length_ (const bct_id_t block, uint8_t length) |
static void | BCT_clear_pos_ (void) |
pos, pos_stored を initialize [詳解] | |
static BCT_ACK | BCT_set_position_ (const BCT_Pos *pos) |
static BCT_ACK | BCT_save_cmd_ (const BCT_Pos *pos, const CommonCmdPacket *packet) |
pos の指す場所に packet の内容を保存 (TCP_PRM_HDR_LEN の長さも考慮) [詳解] | |
void | BCT_initialize (void) |
BCT の初期化関数 [詳解] | |
const BCT_CmdData * | BCT_get_bc_cmd_data (const BCT_Pos *pos) |
BCT_CmdData の const pointer getter [詳解] | |
uint8_t | BCT_get_bc_length (const bct_id_t block) |
BCT の length の getter [詳解] | |
BCT_ACK | BCT_check_position (const BCT_Pos *pos) |
BCT_Pos* の validate [詳解] | |
BCT_ACK | BCT_register_cmd (const CommonCmdPacket *packet) |
Cmd を block_command_table->pos に登録する [詳解] | |
BCT_ACK | BCT_overwrite_cmd (const BCT_Pos *pos, const CommonCmdPacket *packet) |
既に登録されている BC の Cmd の中身を外部から上書きする [詳解] | |
BCT_ACK | BCT_load_cmd (const BCT_Pos *pos, CommonCmdPacket *packet) |
保存データを CCP にコピーする. [詳解] | |
BCT_ACK | BCT_copy_bct (const bct_id_t dst_block, const bct_id_t src_block) |
BCT の中身を 他の BCT に COPY する [詳解] | |
CMD_CODE | BCT_get_id (const bct_id_t block, const uint8_t cmd) |
BCT 内の Cmd の CMD_CODE の getter [詳解] | |
cycle_t | BCT_get_ti (const bct_id_t block, const uint8_t cmd) |
BCT 内の Cmd の TI の getter [詳解] | |
const uint8_t * | BCT_get_param_head (const bct_id_t block, const uint8_t cmd) |
BCT 内の Cmd の param_head の getter [詳解] | |
void | BCT_store_pos (void) |
pos を pos_stored に保存 [詳解] | |
void | BCT_restore_pos (void) |
pos を pos_stored から復旧 [詳解] | |
BCT_ACK | BCT_make_pos (BCT_Pos *pos, const bct_id_t block, const uint8_t cmd) |
BCT_Pos* を引数から作る [詳解] | |
BCT_ACK | BCT_swap_address (const bct_id_t block_a, const bct_id_t block_b) |
BCT の block の指すポインタ & func を入れ替える [詳解] | |
BCT_ACK | BCT_swap_contents (const bct_id_t block_a, const bct_id_t block_b) |
BCT の block の指す中身を入れ替える [詳解] | |
CCP_CmdRet | BCT_convert_bct_ack_to_ccp_cmd_ret (BCT_ACK ack) |
返り値用 enum 変換用関数 [詳解] | |
CCP_CmdRet | Cmd_BCT_CLEAR_BLOCK (const CommonCmdPacket *packet) |
BCT_ACK | BCT_clear_block (const bct_id_t block) |
指定された block の BCT を初期化する [詳解] | |
CCP_CmdRet | Cmd_BCT_SET_BLOCK_POSITION (const CommonCmdPacket *packet) |
CCP_CmdRet | Cmd_BCT_COPY_BCT (const CommonCmdPacket *packet) |
CCP_CmdRet | Cmd_BCT_OVERWRITE_CMD (const CommonCmdPacket *packet) |
CCP_CmdRet | Cmd_BCT_FILL_NOP (const CommonCmdPacket *packet) |
変数 | |
static BlockCommandTable | block_command_table_ |
const BlockCommandTable *const | block_command_table = &block_command_table_ |
BCTの定義, BCT周りの関数
block_command_table.c に定義があります。
|
static |
|
static |
|
static |
|
static |
指定された block の BCT を初期化する
[in] | block | BC の idx |
block_command_table.c の 438 行目に定義があります。
|
static |
CCP_CmdRet BCT_convert_bct_ack_to_ccp_cmd_ret | ( | BCT_ACK | ack | ) |
返り値用 enum 変換用関数
ack | BCT_ACK |
block_command_table.c の 386 行目に定義があります。
BCT の中身を 他の BCT に COPY する
[in] | dst_block | コピー先の bct_id |
[in] | src_block | コピー元の bct_id |
block_command_table.c の 251 行目に定義があります。
const BCT_CmdData* BCT_get_bc_cmd_data | ( | const BCT_Pos * | pos | ) |
BCT_CmdData の const pointer getter
[in] | pos | const BCT_Pos* |
block_command_table.c の 129 行目に定義があります。
|
static |
uint8_t BCT_get_bc_length | ( | const bct_id_t | block | ) |
BCT の length の getter
[in] | block | BC の idx |
block_command_table.c の 134 行目に定義があります。
BCT 内の Cmd の CMD_CODE の getter
[in] | block | BC の idx |
[in] | cmd | Cmds_data 内での idx |
block_command_table.c の 272 行目に定義があります。
const uint8_t* BCT_get_param_head | ( | const bct_id_t | block, |
const uint8_t | cmd | ||
) |
BCT 内の Cmd の param_head の getter
[in] | block | BC の idx |
[in] | cmd | Cmds_data 内での idx |
block_command_table.c の 290 行目に定義があります。
BCT 内の Cmd の TI の getter
[in] | block | BC の idx |
[in] | cmd | Cmds_data 内での idx |
block_command_table.c の 281 行目に定義があります。
void BCT_initialize | ( | void | ) |
BCT の初期化関数
block_command_table.c の 58 行目に定義があります。
BCT_ACK BCT_load_cmd | ( | const BCT_Pos * | pos, |
CommonCmdPacket * | packet | ||
) |
保存データを CCP にコピーする.
[in] | pos | コピー元のpacketの位置 |
[out] | packet | コピーされる packet |
block_command_table.c の 239 行目に定義があります。
|
static |
BCT_Pos* を引数から作る
[out] | pos | そこに作る pointer |
[in] | block | BC の idx |
[in] | cmd | Cmds_data 内での idx |
block_command_table.c の 321 行目に定義があります。
BCT_ACK BCT_overwrite_cmd | ( | const BCT_Pos * | pos, |
const CommonCmdPacket * | packet | ||
) |
既に登録されている BC の Cmd の中身を外部から上書きする
[in] | pos | 上書きする位置 |
[in] | packet | 上書きされる packet |
block_command_table.c の 210 行目に定義があります。
BCT_ACK BCT_register_cmd | ( | const CommonCmdPacket * | packet | ) |
Cmd を block_command_table->pos に登録する
[in] | packet | 登録する Cmd の内容 |
block_command_table.c の 173 行目に定義があります。
void BCT_restore_pos | ( | void | ) |
|
static |
pos の指す場所に packet の内容を保存 (TCP_PRM_HDR_LEN の長さも考慮)
block_command_table.c の 224 行目に定義があります。
|
static |
|
static |
void BCT_store_pos | ( | void | ) |
pos を pos_stored に保存
void |
block_command_table.c の 307 行目に定義があります。
BCT の block の指すポインタ & func を入れ替える
[in] | block_a | 入れ替える BC |
[in] | block_b | 入れ替える BC |
BCT_swap_contents
と組み合わせることで番号 - 中身はそのままで RAM だけを切り替えることが出来る 必ず BCE_swap_address
と共に使用すること block_command_table.c の 329 行目に定義があります。
BCT の block の指す中身を入れ替える
[in] | block_a | 入れ替える BC |
[in] | block_b | 入れ替える BC |
BCT_swap_ram
と組み合わせることで番号 - 中身はそのままで RAM だけを切り替えることが出来る 必ず BCE_swap_contents
と共に使用すること block_command_table.c の 348 行目に定義があります。
CCP_CmdRet Cmd_BCT_CLEAR_BLOCK | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_BCT_COPY_BCT | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_BCT_FILL_NOP | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_BCT_OVERWRITE_CMD | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_BCT_SET_BLOCK_POSITION | ( | const CommonCmdPacket * | packet | ) |
const BlockCommandTable* const block_command_table = &block_command_table_ |
block_command_table.c の 28 行目に定義があります。
|
static |
block_command_table.c の 27 行目に定義があります。