Skip to content

Commit

Permalink
sed VCDU to AOSTF
Browse files Browse the repository at this point in the history
  • Loading branch information
meltingrabbit committed Nov 8, 2023
1 parent 0fffbe6 commit 8e0be73
Show file tree
Hide file tree
Showing 15 changed files with 159 additions and 159 deletions.
6 changes: 3 additions & 3 deletions applications/memory_dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ CCP_CmdRet Cmd_MEM_DUMP_REGION_SEQ(const CommonCmdPacket* packet)
if (num_dumps >= 8)
{
// パケット生成回数の上限は8回とする。
// 32kbpsでのDL時に8VCDU/secで1秒分の通信量。
// 32kbpsでのDL時に8AOSTF/secで1秒分の通信量。
// これを超える場合は複数回コマンドを送信して対応する。
return CCP_make_cmd_ret_without_err_code(CCP_EXEC_ILLEGAL_PARAMETER);
}
Expand All @@ -132,7 +132,7 @@ CCP_CmdRet Cmd_MEM_DUMP_REGION_RND(const CommonCmdPacket* packet)
if (num_dumps >= 8)
{
// パケット生成回数の上限は8回とする。
// 32kbpsでのDL時に8VCDU/secで1秒分の通信量。
// 32kbpsでのDL時に8AOSTF/secで1秒分の通信量。
// これを超える場合は複数回コマンドを送信して対応する。
return CCP_make_cmd_ret_without_err_code(CCP_EXEC_ILLEGAL_PARAMETER);
}
Expand Down Expand Up @@ -170,7 +170,7 @@ CCP_CmdRet Cmd_MEM_DUMP_SINGLE(const CommonCmdPacket* packet)
if (num_dumps >= 8)
{
// パケット生成回数の上限は8回とする。
// 32kbpsでのDL時に8VCDU/secで1秒分の通信量。
// 32kbpsでのDL時に8AOSTF/secで1秒分の通信量。
// これを超える場合は複数回コマンドを送信して対応する。
return CCP_make_cmd_ret_without_err_code(CCP_EXEC_ILLEGAL_PARAMETER);
}
Expand Down
20 changes: 10 additions & 10 deletions examples/mobc/src/src_user/applications/component_service/csrv_gs.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,17 +126,17 @@ static RESULT CSRV_GS_rt_tlm_packet_handler_app_(void)
&CSRV_GS_rt_tlm_packet_handler_.vcdu.m_pdu);
if (ack != T2M_SUCCESS) return RESULT_OK;

// Realtime VCDU カウンタの設定
VCDU_setup_realtime_vcdu_hdr(&CSRV_GS_rt_tlm_packet_handler_.vcdu, CSRV_GS_rt_tlm_packet_handler_.vcdu_counter);
CSRV_GS_rt_tlm_packet_handler_.vcdu_counter = VCDU_calc_next_counter(CSRV_GS_rt_tlm_packet_handler_.vcdu_counter);
// Realtime AOSTF カウンタの設定
AOSTF_setup_realtime_vcdu_hdr(&CSRV_GS_rt_tlm_packet_handler_.vcdu, CSRV_GS_rt_tlm_packet_handler_.vcdu_counter);
CSRV_GS_rt_tlm_packet_handler_.vcdu_counter = AOSTF_calc_next_counter(CSRV_GS_rt_tlm_packet_handler_.vcdu_counter);

// CLCW の設定
// CMD の VCID と TLM の VCID は独立で関係がない
// TLM の VCID 種別(Realtime, Replay)によらず CLCW を設定して良い
// CLCW が対応する CMD の VCID は CLCW の内部で指定される
VCDU_set_clcw(&CSRV_GS_rt_tlm_packet_handler_.vcdu, GS_form_clcw());
AOSTF_set_clcw(&CSRV_GS_rt_tlm_packet_handler_.vcdu, GS_form_clcw());

// 完成した VCDU を RT VCDU として送出
// 完成した AOSTF を RT AOSTF として送出
GS_send_vcdu(&gs_driver_, &CSRV_GS_rt_tlm_packet_handler_.vcdu);
}

Expand All @@ -161,17 +161,17 @@ static RESULT CSRV_GS_rp_tlm_packet_handler_app_(void)
&CSRV_GS_rp_tlm_packet_handler_.vcdu.m_pdu);
if (ack != T2M_SUCCESS) return RESULT_OK;

// Replay VCDU カウンタの設定
VCDU_setup_replay_vcdu_hdr(&CSRV_GS_rp_tlm_packet_handler_.vcdu, CSRV_GS_rp_tlm_packet_handler_.vcdu_counter);
CSRV_GS_rp_tlm_packet_handler_.vcdu_counter = VCDU_calc_next_counter(CSRV_GS_rp_tlm_packet_handler_.vcdu_counter);
// Replay AOSTF カウンタの設定
AOSTF_setup_replay_vcdu_hdr(&CSRV_GS_rp_tlm_packet_handler_.vcdu, CSRV_GS_rp_tlm_packet_handler_.vcdu_counter);
CSRV_GS_rp_tlm_packet_handler_.vcdu_counter = AOSTF_calc_next_counter(CSRV_GS_rp_tlm_packet_handler_.vcdu_counter);

// CLCW の設定
// CMD の VCIDと TLM の VCID は独立で関係がない
// TLM の VCID 種別(Realtime, Replay) によらず CLCW を設定して良い
// CLCW が対応する CMD の VCID は CLCW の内部で指定される
VCDU_set_clcw(&CSRV_GS_rp_tlm_packet_handler_.vcdu, GS_form_clcw());
AOSTF_set_clcw(&CSRV_GS_rp_tlm_packet_handler_.vcdu, GS_form_clcw());

// 完成した VCDU を RP VCDU として送出
// 完成した AOSTF を RP AOSTF として送出
GS_send_vcdu(&gs_driver_, &CSRV_GS_rp_tlm_packet_handler_.vcdu);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
typedef struct
{
TcpToMPdu tc_packet_to_m_pdu; //!< PL から取り出した tc_packet を M_PDU に変換する
VCDU vcdu; //!< 送信するVCDU
uint32_t vcdu_counter; //!< VCDU counter
AOSTF vcdu; //!< 送信するAOSTF
uint32_t vcdu_counter; //!< AOSTF counter
} CSRV_GS_TlmPacketHandler;

extern const GS_Driver* const gs_driver;
Expand Down
22 changes: 11 additions & 11 deletions examples/mobc/src/src_user/component_driver/com/gs.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

// それぞれ AD, BD, BC
static uint8_t GS_rx_header_[GS_RX_HEADER_NUM][GS_RX_HEADER_SIZE];
static uint8_t GS_tx_frame_[VCDU_LEN];
static uint8_t GS_tx_frame_[AOSTF_LEN];

/**
* @brief CCSDS 側 Driver の DS 上での初期化設定
Expand Down Expand Up @@ -114,7 +114,7 @@ CDS_INIT_ERR_CODE GS_init(GS_Driver* gs_driver,
gs_driver->info[i].rx.tctf.bd_rec_status = GS_VALIDATE_ERR_OK;

gs_driver->info[i].tx.send_cycle = 0;
gs_driver->info[i].tx.vcid = VCDU_VCID_UNKNOWN;
gs_driver->info[i].tx.vcid = AOSTF_VCID_UNKNOWN;
gs_driver->info[i].tx.vcdu_counter = 0;
}

Expand Down Expand Up @@ -152,7 +152,7 @@ static void GS_load_default_driver_super_init_settings_(ComponentDriverSuper* p_
CDSSC_enable_strict_frame_search(p_stream_config); // 複数ストリームがあり,かつ論理的な受信漏れを0にするため.

CDSSC_set_tx_frame(p_stream_config, GS_tx_frame_); // 全 stream, uart, ccsds に関わらず共通
CDSSC_set_tx_frame_size(p_stream_config, VCDU_LEN); // VCDU を送信
CDSSC_set_tx_frame_size(p_stream_config, AOSTF_LEN); // AOSTF を送信

CDSSC_set_rx_header(p_stream_config, GS_rx_header_[stream], GS_RX_HEADER_SIZE);
CDSSC_set_rx_frame_size(p_stream_config, -1); // 可変長
Expand Down Expand Up @@ -254,21 +254,21 @@ static CDS_ERR_CODE GS_analyze_rec_data_(CDS_StreamConfig* p_stream_config, void
return CDS_ERR_CODE_OK;
}

CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const VCDU* vcdu)
CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const AOSTF* vcdu)
{
CDS_ERR_CODE ret_ccsds = CDS_ERR_CODE_OK;
CDS_ERR_CODE ret_uart = CDS_ERR_CODE_OK;
size_t vcdu_size = sizeof(VCDU);
size_t vcdu_size = sizeof(AOSTF);

// パディングが無ければ元を GS_tx_frame_ にコピーさせる (444Byte) のコピーが無駄
if (vcdu_size == VCDU_LEN)
if (vcdu_size == AOSTF_LEN)
{
CDSSC_set_tx_frame(&gs_driver->driver_ccsds.super.stream_config[GS_TX_STREAM], (uint8_t*)vcdu);
CDSSC_set_tx_frame(&gs_driver->driver_uart.super.stream_config[GS_TX_STREAM], (uint8_t*)vcdu);
}
else
{
VCDU_generate_byte_stream(vcdu, GS_tx_frame_); // 送信元にセット 消したいなぁ...
AOSTF_generate_byte_stream(vcdu, GS_tx_frame_); // 送信元にセット 消したいなぁ...
CDSSC_set_tx_frame(&gs_driver->driver_ccsds.super.stream_config[GS_TX_STREAM], GS_tx_frame_);
CDSSC_set_tx_frame(&gs_driver->driver_uart.super.stream_config[GS_TX_STREAM], GS_tx_frame_);
}
Expand All @@ -278,8 +278,8 @@ CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const VCDU* vcdu)
if (gs_driver->ccsds_info.buffer_num)
{
gs_driver->info[GS_PORT_TYPE_CCSDS].tx.send_cycle = TMGR_get_master_total_cycle();
gs_driver->info[GS_PORT_TYPE_CCSDS].tx.vcid = VCDU_get_vcid(vcdu);
gs_driver->info[GS_PORT_TYPE_CCSDS].tx.vcdu_counter = VCDU_get_vcdu_counter(vcdu);
gs_driver->info[GS_PORT_TYPE_CCSDS].tx.vcid = AOSTF_get_vcid(vcdu);
gs_driver->info[GS_PORT_TYPE_CCSDS].tx.vcdu_counter = AOSTF_get_vcdu_counter(vcdu);

// DS 側の名称が cmd なだけで送信しているのは TLM
ret_ccsds = CDS_send_general_cmd(&gs_driver->driver_ccsds.super, GS_TX_STREAM);
Expand All @@ -289,8 +289,8 @@ CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const VCDU* vcdu)
if (gs_driver->driver_uart.is_tlm_on)
{
gs_driver->info[GS_PORT_TYPE_UART].tx.send_cycle = TMGR_get_master_total_cycle();
gs_driver->info[GS_PORT_TYPE_UART].tx.vcid = VCDU_get_vcid(vcdu);
gs_driver->info[GS_PORT_TYPE_UART].tx.vcdu_counter = VCDU_get_vcdu_counter(vcdu);
gs_driver->info[GS_PORT_TYPE_UART].tx.vcid = AOSTF_get_vcid(vcdu);
gs_driver->info[GS_PORT_TYPE_UART].tx.vcdu_counter = AOSTF_get_vcdu_counter(vcdu);

// DS 側の名称が cmd なだけで送信しているのは TLM
ret_uart = CDS_send_general_cmd(&gs_driver->driver_uart.super, GS_TX_STREAM);
Expand Down
12 changes: 6 additions & 6 deletions examples/mobc/src/src_user/component_driver/com/gs.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ typedef struct
struct
{
cycle_t send_cycle; //!< 最後に送信したときの時刻
VCDU_VCID vcid; //!< 送信した TLM のタイプ
uint32_t vcdu_counter; //!< VCDU counter
AOSTF_VCID vcid; //!< 送信した TLM のタイプ
uint32_t vcdu_counter; //!< AOSTF counter
} tx;
} GS_Info;

Expand Down Expand Up @@ -106,13 +106,13 @@ CDS_INIT_ERR_CODE GS_init(GS_Driver* gs_driver,
CDS_REC_ERR_CODE GS_rec_tctf(GS_Driver* gs_driver);

/**
* @brief 地上に向けて TLM を送信. 形式は VCDU
* @brief 地上に向けて TLM を送信. 形式は AOSTF
* @note CDS_send_general_cmd が使われているが, これは DS は MOBC コンポ間を想定しているため, MOBC から見るとコンポに cmd を送信している様に見える, が 今回は MOBC から地上に TLM を送信している
* @note TLM 送信, 形式は VCDU
* @note TLM 送信, 形式は AOSTF
* @param[in] gs_driver: ドライバー
* @param[in] vcdu: 送信する VCDU. 場合によってはそのまま DS に渡すので, local変数ではなくstaticな変数を渡すこと
* @param[in] vcdu: 送信する AOSTF. 場合によってはそのまま DS に渡すので, local変数ではなくstaticな変数を渡すこと
* @return CDS_CMD_ERR_CODE: 送信結果
*/
CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const VCDU* vcdu);
CDS_CMD_ERR_CODE GS_send_vcdu(GS_Driver* gs_driver, const AOSTF* vcdu);

#endif
Loading

0 comments on commit 8e0be73

Please sign in to comment.