C2A_Core
tcp_to_m_pdu.h
[詳解]
1
5
#ifndef TCP_TO_M_PDU_H_
6
#define TCP_TO_M_PDU_H_
7
8
// FIXME: TCP から TlmSpacePacket に直す!!!
9
10
#include <stddef.h>
// for size_t
11
12
#include <
src_core/TlmCmd/packet_list.h
>
13
#include "
m_pdu.h
"
14
#include <
src_core/System/TimeManager/time_manager.h
>
15
20
typedef
enum
21
{
22
T2M_SUCCESS
,
23
T2M_NO_DATA_TO_SEND
,
24
T2M_INVALID_M_PDU
,
25
TSM_UNKNOWN
26
}
T2M_ACK
;
27
32
typedef
struct
33
{
34
size_t
tcp_rp
;
35
size_t
m_pdu_wp
;
36
uint8_t
fhp_valid
;
37
cycle_t
flush_interval
;
38
cycle_t
last_updated
;
39
}
TcpToMPdu
;
40
46
void
T2M_initialize
(
TcpToMPdu
* tcp_to_m_pdu);
47
55
T2M_ACK
T2M_form_m_pdu
(
TcpToMPdu
* tcp_to_m_pdu,
PacketList
* pl,
M_PDU
* m_pdu);
56
57
#endif
m_pdu.h
cycle_t
uint32_t cycle_t
Definition:
obc_time.h:10
packet_list.h
CTCP, CTP, CCP のリストとしてのデータ構造を定義. 片方向リストとして実装されている
M_PDU
Definition:
m_pdu.h:14
PacketList
パケットリスト本体
Definition:
packet_list.h:73
TcpToMPdu
TCPacket を M_PDU に変換するときに必要なパラメータ
Definition:
tcp_to_m_pdu.h:33
TcpToMPdu::last_updated
cycle_t last_updated
Definition:
tcp_to_m_pdu.h:38
TcpToMPdu::m_pdu_wp
size_t m_pdu_wp
Definition:
tcp_to_m_pdu.h:35
TcpToMPdu::flush_interval
cycle_t flush_interval
Definition:
tcp_to_m_pdu.h:37
TcpToMPdu::tcp_rp
size_t tcp_rp
Definition:
tcp_to_m_pdu.h:34
TcpToMPdu::fhp_valid
uint8_t fhp_valid
Definition:
tcp_to_m_pdu.h:36
T2M_ACK
T2M_ACK
T2M 関数の返り値
Definition:
tcp_to_m_pdu.h:21
T2M_SUCCESS
@ T2M_SUCCESS
Definition:
tcp_to_m_pdu.h:22
T2M_NO_DATA_TO_SEND
@ T2M_NO_DATA_TO_SEND
Definition:
tcp_to_m_pdu.h:23
T2M_INVALID_M_PDU
@ T2M_INVALID_M_PDU
Definition:
tcp_to_m_pdu.h:24
TSM_UNKNOWN
@ TSM_UNKNOWN
Definition:
tcp_to_m_pdu.h:25
T2M_initialize
void T2M_initialize(TcpToMPdu *tcp_to_m_pdu)
T2M 構造体の初期化
Definition:
tcp_to_m_pdu.c:11
T2M_form_m_pdu
T2M_ACK T2M_form_m_pdu(TcpToMPdu *tcp_to_m_pdu, PacketList *pl, M_PDU *m_pdu)
TCPacket を M_PDU に変換する
Definition:
tcp_to_m_pdu.c:26
time_manager.h
OBC時刻のカウントアップと,各種衛星時刻関連処理
src
src_user
TlmCmd
Ccsds
tcp_to_m_pdu.h
構築:
1.9.1