C2A_Core
eb90_packet_for_driver_super.h ファイル

コンポ間通信などで標準的に使う ネットワーク層 の EB90 Packet [詳解]

#include <stdint.h>
#include "../Super/driver_super.h"
eb90_packet_for_driver_super.h の依存先関係図:
被依存関係図:

[ソースコード]

マクロ定義

#define EB90_PACKET_HEADER_SIZE   (4)
 EB90 Packet のヘッダサイズ [詳解]
 

関数

uint32_t EB90_PACKET_get_version_from_dssc (const DS_StreamConfig *p_stream_config)
 Version ID の取得 [詳解]
 
uint32_t EB90_PACKET_get_count_from_dssc (const DS_StreamConfig *p_stream_config)
 Tlm / Cmd Count の取得 [詳解]
 
uint32_t EB90_PACKET_get_id_from_dssc (const DS_StreamConfig *p_stream_config)
 Tlm / Cmd ID の取得 [詳解]
 
const uint8_t * EB90_PACKET_get_user_data_head_from_dssc (const DS_StreamConfig *p_stream_config)
 受信フレームからPacket Field の先頭ポインタを取得する [詳解]
 

詳解

コンポ間通信などで標準的に使う ネットワーク層 の EB90 Packet

覚え書き
一般的には,データリンク層は EB90 Frame を使うことを想定
Tlm か Cmd かはコンテキストで読み替える
データリンク層は DS_StreamConfig.data_link_layer_ で規定する
packet 構造 |------—+----—+----—+---------------—| | Pos | Pos | size | name | | [octet] | [bit] | [bit] | | |------—+----—+----—+---------------—| | === Header =============================== | |------—+----—+----—+---------------—| | 0 | 0 | 8 | Version ID | | 1 | 0 | 8 | Tlm / Cmd Count | | 2 | 0 | 16 | Tlm / Cmd ID | |------—+----—+----—+---------------—| | === User Data Field ====================== | |------—+----—+----—+---------------—| | 4 | 0 | * | User Data #0 | | * | 0 | * | User Data #1 | | * | 0 | * | User Data #2 | | * | 0 | * | ... | |------—+----—+----—+---------------—|

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

マクロ定義詳解

◆ EB90_PACKET_HEADER_SIZE

#define EB90_PACKET_HEADER_SIZE   (4)

EB90 Packet のヘッダサイズ

eb90_packet_for_driver_super.h32 行目に定義があります。

関数詳解

◆ EB90_PACKET_get_count_from_dssc()

uint32_t EB90_PACKET_get_count_from_dssc ( const DS_StreamConfig p_stream_config)

Tlm / Cmd Count の取得

覚え書き
フレームが確定しているときに呼び出すこと
引数
p_stream_configDriverSuper 構造体の DS_StreamConfig
戻り値
Tlm/ Cmd Count (バージョン 0x01 では uint8_t だが将来性のために uint32_t で返す)
0(入力が不正な場合)

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

呼び出し関係図:

◆ EB90_PACKET_get_id_from_dssc()

uint32_t EB90_PACKET_get_id_from_dssc ( const DS_StreamConfig p_stream_config)

Tlm / Cmd ID の取得

覚え書き
フレームが確定しているときに呼び出すこと
これは非 C2A 形式で使われる TLM HEADER 仕様である
引数
p_stream_configDriverSuper 構造体の DS_StreamConfig
戻り値
Tlm/ Cmd ID (バージョン 0x01 では uint16_t だが将来性のために uint32_t で返す)
0(入力が不正な場合)

eb90_packet_for_driver_super.c37 行目に定義があります。

呼び出し関係図:

◆ EB90_PACKET_get_user_data_head_from_dssc()

const uint8_t* EB90_PACKET_get_user_data_head_from_dssc ( const DS_StreamConfig p_stream_config)

受信フレームからPacket Field の先頭ポインタを取得する

覚え書き
フレームが確定しているときに呼び出すこと
引数
p_stream_configDriverSuper 構造体の DS_StreamConfig
戻り値
PacketField の先頭ポインタ
NULL(入力が不正な場合)

eb90_packet_for_driver_super.c54 行目に定義があります。

呼び出し関係図:

◆ EB90_PACKET_get_version_from_dssc()

uint32_t EB90_PACKET_get_version_from_dssc ( const DS_StreamConfig p_stream_config)

Version ID の取得

覚え書き
フレームが確定しているときに呼び出すこと
引数
p_stream_configDriverSuper 構造体の DS_StreamConfig
戻り値
Version ID (バージョン 0x01 では uint8_t だが将来性のために uint32_t で返す)

eb90_packet_for_driver_super.c15 行目に定義があります。

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