C2A_Core
block_command_executor.c ファイル

BCTの実行周りの関数, パラメーター [詳解]

#include <string.h>
#include "block_command_executor.h"
#include "packet_handler.h"
#include "../Library/endian.h"
#include "../System/TimeManager/time_manager.h"
#include "common_cmd_packet_util.h"
block_command_executor.c の依存先関係図:

[ソースコード]

関数

static BCE_ParamsBCE_get_bc_exe_params_default_ (const bct_id_t block)
 時間制限付きの combiner [詳解]
 
static void BCE_set_bc_exe_params_default_ (const bct_id_t block, const BCE_Params *bc_exe_params)
 
static BCE_ParamsBCE_get_bc_exe_params_ (const bct_id_t block)
 
static void BCE_set_bc_exe_params_ (const bct_id_t block, const BCE_Params *bc_exe_params)
 
static CCP_CmdRet BCE_rotate_block_cmd_ (bct_id_t block)
 rotator の実行主体 [詳解]
 
static CCP_CmdRet BCE_combine_block_cmd_ (bct_id_t block)
 BC をまとめて一括で実行する [詳解]
 
static CCP_CmdRet BCE_timelimit_combine_block_cmd_ (bct_id_t block, step_t limit_step)
 BC をまとめて一括で実行する [詳解]
 
const BCE_ParamsBCE_get_bc_exe_params (const bct_id_t block)
 BCE_Params の const getter [詳解]
 
void BCE_load_default_func_pointer (void)
 BCE_Params にデフォルトの関数ポインタを入れる [詳解]
 
BCT_ACK BCE_clear_block (const bct_id_t block)
 指定された block の BCE を初期化 [詳解]
 
CCP_CmdRet Cmd_BCE_ACTIVATE_BLOCK (const CommonCmdPacket *packet)
 
BCT_ACK BCE_activate_block (void)
 block_command_table->pos の BC を activate する [詳解]
 
CCP_CmdRet Cmd_BCE_ACTIVATE_BLOCK_BY_ID (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_BCE_INACTIVATE_BLOCK_BY_ID (const CommonCmdPacket *packet)
 
BCT_ACK BCE_activate_block_by_id (bct_id_t block)
 
BCT_ACK BCE_inactivate_block_by_id (bct_id_t block)
 
CCP_CmdRet Cmd_BCE_ROTATE_BLOCK (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_BCE_COMBINE_BLOCK (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_BCE_TIMELIMIT_COMBINE_BLOCK (const CommonCmdPacket *packet)
 
BCT_ACK BCE_reset_rotator_info (const bct_id_t block)
 
BCT_ACK BCE_reset_combiner_info (const bct_id_t block)
 
uint8_t BCE_is_active (const bct_id_t block)
 BCT の length の getter [詳解]
 
BCT_ACK BCE_swap_address (const bct_id_t block_a, const bct_id_t block_b)
 BCE の params の指すポインタ & func を入れ替える [詳解]
 
BCT_ACK BCE_swap_contents (const bct_id_t block_a, const bct_id_t block_b)
 BCE の params の指す中身を入れ替える [詳解]
 
CCP_CmdRet Cmd_BCE_RESET_ROTATOR_INFO (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_BCE_RESET_COMBINER_INFO (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_BCE_SET_ROTATE_INTERVAL (const CommonCmdPacket *packet)
 

変数

static CommonCmdPacket BCE_packet_
 
static BlockCommandExecutor block_command_executor_
 
const BlockCommandExecutor *const block_command_executor = &block_command_executor_
 

詳解

BCTの実行周りの関数, パラメーター

覚え書き
Block Command ExeInfoは Block Command Table (BCT) の実行側のパラメーターである. 現状 Cmd のデータ保存側と実行側は分離されておらず, BCT のその実行状態はここに保存される. よって実行パラメーターは BCT と同数だけ (BCT_MAX_BLOCKS) 確保される.

block_command_executor.c に定義があります。

関数詳解

◆ BCE_activate_block()

BCT_ACK BCE_activate_block ( void  )

block_command_table->pos の BC を activate する

引数
void
戻り値
BCT_ACK

block_command_executor.c128 行目に定義があります。

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

◆ BCE_activate_block_by_id()

BCT_ACK BCE_activate_block_by_id ( bct_id_t  block)

block_command_executor.c184 行目に定義があります。

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

◆ BCE_clear_block()

BCT_ACK BCE_clear_block ( const bct_id_t  block)

指定された block の BCE を初期化

引数
[in]blockBC の idx
戻り値
BCT_ACK

block_command_executor.c103 行目に定義があります。

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

◆ BCE_combine_block_cmd_()

static CCP_CmdRet BCE_combine_block_cmd_ ( bct_id_t  block)
static

BC をまとめて一括で実行する

引数
[in]blockBC の idx
戻り値
CCP_CmdRet
覚え書き
BC の内部で BC を実行する時など

block_command_executor.c272 行目に定義があります。

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

◆ BCE_get_bc_exe_params()

const BCE_Params* BCE_get_bc_exe_params ( const bct_id_t  block)

BCE_Params の const getter

引数
blockBC の idx
戻り値
BCE_Params

block_command_executor.c88 行目に定義があります。

被呼び出し関係図:

◆ BCE_get_bc_exe_params_()

static BCE_Params * BCE_get_bc_exe_params_ ( const bct_id_t  block)
static

block_command_executor.c83 行目に定義があります。

被呼び出し関係図:

◆ BCE_get_bc_exe_params_default_()

static BCE_Params * BCE_get_bc_exe_params_default_ ( const bct_id_t  block)
static

時間制限付きの combiner

引数
[in]blockBC の idx
戻り値
BCE_Params*

block_command_executor.c67 行目に定義があります。

被呼び出し関係図:

◆ BCE_inactivate_block_by_id()

BCT_ACK BCE_inactivate_block_by_id ( bct_id_t  block)

block_command_executor.c197 行目に定義があります。

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

◆ BCE_is_active()

uint8_t BCE_is_active ( const bct_id_t  block)

BCT の length の getter

覚え書き
アサーションはされない.有効でない block の場合, 0: 無効 を返す
引数
[in]blockBC の idx
戻り値
is_active

block_command_executor.c421 行目に定義があります。

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

◆ BCE_load_default_func_pointer()

void BCE_load_default_func_pointer ( void  )

BCE_Params にデフォルトの関数ポインタを入れる

引数
void
戻り値
void

block_command_executor.c93 行目に定義があります。

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

◆ BCE_reset_combiner_info()

BCT_ACK BCE_reset_combiner_info ( const bct_id_t  block)

block_command_executor.c404 行目に定義があります。

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

◆ BCE_reset_rotator_info()

BCT_ACK BCE_reset_rotator_info ( const bct_id_t  block)

block_command_executor.c388 行目に定義があります。

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

◆ BCE_rotate_block_cmd_()

static CCP_CmdRet BCE_rotate_block_cmd_ ( bct_id_t  block)
static

rotator の実行主体

引数
[in]blockBC の idx
戻り値
CCP_CmdRet
覚え書き
rotator はひたすらその BC に含まれる Cmd をループで実行し続ける interval[cycle] ごとに 1つの Cmd が実行される.

block_command_executor.c226 行目に定義があります。

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

◆ BCE_set_bc_exe_params_()

static void BCE_set_bc_exe_params_ ( const bct_id_t  block,
const BCE_Params bc_exe_params 
)
static

block_command_executor.c78 行目に定義があります。

被呼び出し関係図:

◆ BCE_set_bc_exe_params_default_()

static void BCE_set_bc_exe_params_default_ ( const bct_id_t  block,
const BCE_Params bc_exe_params 
)
static

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

被呼び出し関係図:

◆ BCE_swap_address()

BCT_ACK BCE_swap_address ( const bct_id_t  block_a,
const bct_id_t  block_b 
)

BCE の params の指すポインタ & func を入れ替える

引数
[in]block_a入れ替える BC
[in]block_b入れ替える BC
戻り値
BCT_ACK 実行結果
覚え書き
ID1:HK:SRAM, ID2:EH:MRAM があった時に ID1:EH:MRAM, ID2:HK:SRAM が出来る (交換されるのはparam) BCE_swap_contents と組み合わせることで番号 - 中身はそのままで RAM だけを切り替えることが出来る 必ず BCT_swap_address と共に使用すること

block_command_executor.c427 行目に定義があります。

呼び出し関係図:

◆ BCE_swap_contents()

BCT_ACK BCE_swap_contents ( const bct_id_t  block_a,
const bct_id_t  block_b 
)

BCE の params の指す中身を入れ替える

引数
[in]block_a入れ替える BC
[in]block_b入れ替える BC
戻り値
BCT_ACK 実行結果
覚え書き
ID1:EH:MRAM, ID2:HK:SRAM があった時に ID1:HK:MRAM, ID2:EH:SRAM が出来る (交換されるのはparam) BCE_swap_address と組み合わせることで番号 - 中身はそのままで RAM だけを切り替えることが出来る 必ず BCT_swap_contents と共に使用すること

block_command_executor.c446 行目に定義があります。

呼び出し関係図:

◆ BCE_timelimit_combine_block_cmd_()

static CCP_CmdRet BCE_timelimit_combine_block_cmd_ ( bct_id_t  block,
step_t  limit_step 
)
static

BC をまとめて一括で実行する

引数
[in]blockBC の idx
[in]limit_step実行制限時間 [step]
戻り値
CCP_CmdRet
覚え書き
時間を制限を設けてBCを実行したい時など

block_command_executor.c321 行目に定義があります。

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

◆ Cmd_BCE_ACTIVATE_BLOCK()

CCP_CmdRet Cmd_BCE_ACTIVATE_BLOCK ( const CommonCmdPacket packet)

block_command_executor.c118 行目に定義があります。

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

◆ Cmd_BCE_ACTIVATE_BLOCK_BY_ID()

CCP_CmdRet Cmd_BCE_ACTIVATE_BLOCK_BY_ID ( const CommonCmdPacket packet)

block_command_executor.c149 行目に定義があります。

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

◆ Cmd_BCE_COMBINE_BLOCK()

CCP_CmdRet Cmd_BCE_COMBINE_BLOCK ( const CommonCmdPacket packet)

block_command_executor.c256 行目に定義があります。

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

◆ Cmd_BCE_INACTIVATE_BLOCK_BY_ID()

CCP_CmdRet Cmd_BCE_INACTIVATE_BLOCK_BY_ID ( const CommonCmdPacket packet)

block_command_executor.c166 行目に定義があります。

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

◆ Cmd_BCE_RESET_COMBINER_INFO()

CCP_CmdRet Cmd_BCE_RESET_COMBINER_INFO ( const CommonCmdPacket packet)

block_command_executor.c481 行目に定義があります。

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

◆ Cmd_BCE_RESET_ROTATOR_INFO()

CCP_CmdRet Cmd_BCE_RESET_ROTATOR_INFO ( const CommonCmdPacket packet)

block_command_executor.c465 行目に定義があります。

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

◆ Cmd_BCE_ROTATE_BLOCK()

CCP_CmdRet Cmd_BCE_ROTATE_BLOCK ( const CommonCmdPacket packet)

block_command_executor.c210 行目に定義があります。

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

◆ Cmd_BCE_SET_ROTATE_INTERVAL()

CCP_CmdRet Cmd_BCE_SET_ROTATE_INTERVAL ( const CommonCmdPacket packet)

block_command_executor.c497 行目に定義があります。

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

◆ Cmd_BCE_TIMELIMIT_COMBINE_BLOCK()

CCP_CmdRet Cmd_BCE_TIMELIMIT_COMBINE_BLOCK ( const CommonCmdPacket packet)

block_command_executor.c302 行目に定義があります。

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

変数詳解

◆ BCE_packet_

CommonCmdPacket BCE_packet_
static

block_command_executor.c19 行目に定義があります。

◆ block_command_executor

const BlockCommandExecutor* const block_command_executor = &block_command_executor_

block_command_executor.c22 行目に定義があります。

◆ block_command_executor_

BlockCommandExecutor block_command_executor_
static

block_command_executor.c21 行目に定義があります。