C2A_Core
vcdu.h
[詳解]
1 #ifndef VCDU_H_
2 #define VCDU_H_
3 
4 #include "m_pdu.h"
5 
6 #define VCDU_HEADER_SIZE (6u)
7 #define VCDU_TRAILER_SIZE (4u)
8 #define VCDU_LEN (VCDU_HEADER_SIZE + M_PDU_LEN + VCDU_TRAILER_SIZE)
9 #define VCDU_COUNTER_MAX (0x01000000) // 24bit長
10 
11 typedef struct
12 {
13  uint8_t header[VCDU_HEADER_SIZE];
15  uint8_t trailer[VCDU_TRAILER_SIZE];
16 } VCDU;
17 
18 typedef enum
19 {
20  VCDU_VER_2 = 1, // 01b: Version2
23 
24 typedef enum
25 {
29 
30 typedef enum
31 {
32  VCDU_VCID_REALTIME = 0x01, // 000001b: Realtime Transfer Frame
33  VCDU_VCID_REPLAY = 0x02, // 000010b: Stored Transfer Frame
34  VCDU_VCID_FILL = 0x3f, // 111111b: Fill Transfer Frame
37 
38 typedef enum
39 {
40  VCDU_REPLAY_FALSE = 0, // 0b: Realtime Transfer Frame
41  VCDU_REPLAY_TRUE = 1 // 1b: Replay Transfer Frame
43 
44 void VCDU_generate_byte_stream(const VCDU* vcdu,
45  uint8_t byte_stream[VCDU_LEN]);
46 
47 void VCDU_setup_fill_vcdu(VCDU* vcdu);
48 
50  uint32_t counter);
51 
53  uint32_t counter);
54 
55 VCDU_VER VCDU_get_ver(const VCDU* vcdu);
56 
57 void VCDU_set_ver(VCDU* vcdu,
58  VCDU_VER ver);
59 
60 VCDU_SCID VCDU_get_scdi(const VCDU* vcdu);
61 
62 void VCDU_set_scid(VCDU* vcdu,
63  VCDU_SCID scid);
64 
65 VCDU_VCID VCDU_get_vcid(const VCDU* vcdu);
66 
67 void VCDU_set_vcid(VCDU* vcdu,
68  VCDU_VCID vcid);
69 
70 uint32_t VCDU_get_vcdu_counter(const VCDU* vcdu);
71 
72 void VCDU_set_vcdu_counter(VCDU* vcdu,
73  uint32_t counter);
74 
76 
77 void VCDU_set_replay_flag(VCDU* vcdu,
78  VCDU_REPLAY_FLAG flag);
79 
80 uint32_t VCDU_get_clcw(const VCDU* vcdu);
81 
82 void VCDU_set_clcw(VCDU* vcdu,
83  uint32_t clcw);
84 
85 uint32_t VCDU_calc_next_counter(uint32_t prev);
86 
87 #endif // VCDU_H_
Definition: m_pdu.h:14
Definition: vcdu.h:12
M_PDU m_pdu
Definition: vcdu.h:14
uint32_t VCDU_get_clcw(const VCDU *vcdu)
Definition: vcdu.c:192
void VCDU_setup_fill_vcdu(VCDU *vcdu)
Definition: vcdu.c:21
VCDU_SCID
Definition: vcdu.h:25
@ VCDU_SCID_SAMPLE_SATELLITE
Definition: vcdu.h:26
@ VCDU_SCID_UNKNOWN
Definition: vcdu.h:27
void VCDU_set_ver(VCDU *vcdu, VCDU_VER ver)
Definition: vcdu.c:78
void VCDU_setup_realtime_vcdu_hdr(VCDU *vcdu, uint32_t counter)
Definition: vcdu.c:28
VCDU_VCID
Definition: vcdu.h:31
@ VCDU_VCID_REALTIME
Definition: vcdu.h:32
@ VCDU_VCID_REPLAY
Definition: vcdu.h:33
@ VCDU_VCID_UNKNOWN
Definition: vcdu.h:35
@ VCDU_VCID_FILL
Definition: vcdu.h:34
void VCDU_set_clcw(VCDU *vcdu, uint32_t clcw)
Definition: vcdu.c:207
#define VCDU_TRAILER_SIZE
Definition: vcdu.h:7
void VCDU_setup_replay_vcdu_hdr(VCDU *vcdu, uint32_t counter)
Definition: vcdu.c:36
VCDU_REPLAY_FLAG VCDU_get_replay_flag(const VCDU *vcdu)
Definition: vcdu.c:174
uint32_t VCDU_get_vcdu_counter(const VCDU *vcdu)
Definition: vcdu.c:151
VCDU_REPLAY_FLAG
Definition: vcdu.h:39
@ VCDU_REPLAY_TRUE
Definition: vcdu.h:41
@ VCDU_REPLAY_FALSE
Definition: vcdu.h:40
VCDU_VER VCDU_get_ver(const VCDU *vcdu)
Definition: vcdu.c:61
uint32_t VCDU_calc_next_counter(uint32_t prev)
Definition: vcdu.c:218
void VCDU_set_vcid(VCDU *vcdu, VCDU_VCID vcid)
Definition: vcdu.c:141
void VCDU_generate_byte_stream(const VCDU *vcdu, uint8_t byte_stream[VCDU_LEN])
Definition: vcdu.c:9
#define VCDU_LEN
Definition: vcdu.h:8
VCDU_SCID VCDU_get_scdi(const VCDU *vcdu)
Definition: vcdu.c:89
void VCDU_set_scid(VCDU *vcdu, VCDU_SCID scid)
Definition: vcdu.c:109
void VCDU_set_vcdu_counter(VCDU *vcdu, uint32_t counter)
Definition: vcdu.c:164
#define VCDU_HEADER_SIZE
Definition: vcdu.h:6
VCDU_VER
Definition: vcdu.h:19
@ VCDU_VER_2
Definition: vcdu.h:20
@ VCDU_VER_UNKNOWN
Definition: vcdu.h:21
void VCDU_set_replay_flag(VCDU *vcdu, VCDU_REPLAY_FLAG flag)
Definition: vcdu.c:182
VCDU_VCID VCDU_get_vcid(const VCDU *vcdu)
Definition: vcdu.c:122