1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,142 +1,142 | |||||
1 | #ifndef CCSDS_H_INCLUDED |
|
1 | #ifndef CCSDS_H_INCLUDED | |
2 | #define CCSDS_H_INCLUDED |
|
2 | #define CCSDS_H_INCLUDED | |
3 |
|
3 | |||
4 | #define CCSDS_TELEMETRY_HEADER_LENGTH 16+4 |
|
4 | #define CCSDS_TELEMETRY_HEADER_LENGTH 16+4 | |
5 | #define CCSDS_TM_PKT_MAX_SIZE 4412 |
|
5 | #define CCSDS_TM_PKT_MAX_SIZE 4412 | |
6 | #define CCSDS_TELECOMMAND_HEADER_LENGTH 10+4 |
|
6 | #define CCSDS_TELECOMMAND_HEADER_LENGTH 10+4 | |
7 | #define CCSDS_TC_PKT_MAX_SIZE 50 // size of the TC_LFR_UPDATE_INFO packet |
|
7 | #define CCSDS_TC_PKT_MAX_SIZE 50 // size of the TC_LFR_UPDATE_INFO packet | |
8 | #define CCSDS_TC_TM_PACKET_OFFSET 7 |
|
8 | #define CCSDS_TC_TM_PACKET_OFFSET 7 | |
9 | #define CCSDS_PROCESS_ID 76 |
|
9 | #define CCSDS_PROCESS_ID 76 | |
10 | #define CCSDS_PACKET_CATEGORY 12 |
|
10 | #define CCSDS_PACKET_CATEGORY 12 | |
11 | #define CCSDS_NODE_ADDRESS 0x01 // SY_DPU_LFR_LA 1 is not allowed by the StarDundee brick, use 101 instead 0x65 |
|
11 | #define CCSDS_NODE_ADDRESS 0xfe | |
12 | #define CCSDS_DESTINATION_ID 0x02 // SY_LFR_DPU_LA 2 is not allowed by the StarDundee brick, use 102 instead 0x66 |
|
12 | #define CCSDS_DESTINATION_ID 0x01 | |
13 | #define CCSDS_PROTOCOLE_ID 0x02 |
|
13 | #define CCSDS_PROTOCOLE_ID 0x02 | |
14 | #define CCSDS_USER_APP 0x00 |
|
14 | #define CCSDS_USER_APP 0x00 | |
15 |
|
15 | |||
16 | #define SIZE_TM_LFR_TC_EXE_NOT_IMPLEMENTED 24 |
|
16 | #define SIZE_TM_LFR_TC_EXE_NOT_IMPLEMENTED 24 | |
17 | #define SIZE_TM_LFR_TC_EXE_CORRUPTED 32 |
|
17 | #define SIZE_TM_LFR_TC_EXE_CORRUPTED 32 | |
18 |
|
18 | |||
19 | #define ILLEGAL_APID 0 |
|
19 | #define ILLEGAL_APID 0 | |
20 | #define WRONG_LEN_PACKET 1 |
|
20 | #define WRONG_LEN_PACKET 1 | |
21 | #define INCOR_CHECKSUM 2 |
|
21 | #define INCOR_CHECKSUM 2 | |
22 | #define ILL_TYPE 3 |
|
22 | #define ILL_TYPE 3 | |
23 | #define ILL_SUBTYPE 4 |
|
23 | #define ILL_SUBTYPE 4 | |
24 | #define WRONG_APP_DATA 5 |
|
24 | #define WRONG_APP_DATA 5 | |
25 | #define WRONG_CMD_CODE 6 |
|
25 | #define WRONG_CMD_CODE 6 | |
26 | #define CCSDS_TM_VALID 7 |
|
26 | #define CCSDS_TM_VALID 7 | |
27 | // |
|
27 | // | |
28 | #define TC_NOT_EXE 40000 |
|
28 | #define TC_NOT_EXE 40000 | |
29 | #define WRONG_SRC_ID 40001 |
|
29 | #define WRONG_SRC_ID 40001 | |
30 | #define FUNCT_NOT_IMPL 40002 |
|
30 | #define FUNCT_NOT_IMPL 40002 | |
31 | #define FAIL_DETECTED 40003 |
|
31 | #define FAIL_DETECTED 40003 | |
32 | #define NOT_ALLOWED 40004 |
|
32 | #define NOT_ALLOWED 40004 | |
33 | #define CORRUPTED 40005 |
|
33 | #define CORRUPTED 40005 | |
34 |
|
34 | |||
35 | // // TC SUBTYPES |
|
35 | // // TC SUBTYPES | |
36 | #define TC_SUBTYPE_RESET 3 |
|
36 | #define TC_SUBTYPE_RESET 3 | |
37 | #define TC_SUBTYPE_LOAD_COMM 20 |
|
37 | #define TC_SUBTYPE_LOAD_COMM 20 | |
38 | #define TC_SUBTYPE_LOAD_NORM 21 |
|
38 | #define TC_SUBTYPE_LOAD_NORM 21 | |
39 | #define TC_SUBTYPE_LOAD_BURST 24 |
|
39 | #define TC_SUBTYPE_LOAD_BURST 24 | |
40 | #define TC_SUBTYPE_LOAD_SBM1 27 |
|
40 | #define TC_SUBTYPE_LOAD_SBM1 27 | |
41 | #define TC_SUBTYPE_LOAD_SBM2 28 |
|
41 | #define TC_SUBTYPE_LOAD_SBM2 28 | |
42 | #define TC_SUBTYPE_DUMP 30 |
|
42 | #define TC_SUBTYPE_DUMP 30 | |
43 | #define TC_SUBTYPE_ENTER 40 |
|
43 | #define TC_SUBTYPE_ENTER 40 | |
44 | #define TC_SUBTYPE_UPDT_INFO 50 |
|
44 | #define TC_SUBTYPE_UPDT_INFO 50 | |
45 | #define TC_SUBTYPE_EN_CAL 60 |
|
45 | #define TC_SUBTYPE_EN_CAL 60 | |
46 | #define TC_SUBTYPE_DIS_CAL 61 |
|
46 | #define TC_SUBTYPE_DIS_CAL 61 | |
47 | #define TC_SUBTYPE_UPDT_TIME 129 |
|
47 | #define TC_SUBTYPE_UPDT_TIME 129 | |
48 |
|
48 | |||
49 | #define SID_DEFAULT 0 |
|
49 | #define SID_DEFAULT 0 | |
50 | #define SID_EXE_INC 5 |
|
50 | #define SID_EXE_INC 5 | |
51 | #define SID_NOT_EXE 40000 |
|
51 | #define SID_NOT_EXE 40000 | |
52 | #define SID_NOT_IMP 40002 |
|
52 | #define SID_NOT_IMP 40002 | |
53 | #define SID_EXE_ERR 40003 |
|
53 | #define SID_EXE_ERR 40003 | |
54 | #define SID_EXE_CORR 40005 |
|
54 | #define SID_EXE_CORR 40005 | |
55 |
|
55 | |||
56 | #define SID_NORM_SWF_F0 3 |
|
56 | #define SID_NORM_SWF_F0 3 | |
57 | #define SID_NORM_SWF_F1 4 |
|
57 | #define SID_NORM_SWF_F1 4 | |
58 | #define SID_NORM_SWF_F2 5 |
|
58 | #define SID_NORM_SWF_F2 5 | |
59 | #define SID_NORM_CWF_F3 1 |
|
59 | #define SID_NORM_CWF_F3 1 | |
60 | #define SID_BURST_CWF_F2 2 |
|
60 | #define SID_BURST_CWF_F2 2 | |
61 | #define SID_SBM1_CWF_F1 24 |
|
61 | #define SID_SBM1_CWF_F1 24 | |
62 | #define SID_SBM2_CWF_F2 25 |
|
62 | #define SID_SBM2_CWF_F2 25 | |
63 | #define SID_NORM_ASM_F0 11 |
|
63 | #define SID_NORM_ASM_F0 11 | |
64 | #define SID_NORM_ASM_F1 12 |
|
64 | #define SID_NORM_ASM_F1 12 | |
65 | #define SID_NORM_ASM_F2 13 |
|
65 | #define SID_NORM_ASM_F2 13 | |
66 | #define SID_NORM_BP1_F0 14 |
|
66 | #define SID_NORM_BP1_F0 14 | |
67 | #define SID_NORM_BP1_F1 15 |
|
67 | #define SID_NORM_BP1_F1 15 | |
68 | #define SID_NORM_BP1_F2 16 |
|
68 | #define SID_NORM_BP1_F2 16 | |
69 | #define SID_NORM_BP2_F0 19 |
|
69 | #define SID_NORM_BP2_F0 19 | |
70 | #define SID_NORM_BP2_F1 20 |
|
70 | #define SID_NORM_BP2_F1 20 | |
71 | #define SID_NORM_BP2_F2 21 |
|
71 | #define SID_NORM_BP2_F2 21 | |
72 | #define SID_BURST_BP1_F0 17 |
|
72 | #define SID_BURST_BP1_F0 17 | |
73 | #define SID_BURST_BP2_F0 22 |
|
73 | #define SID_BURST_BP2_F0 22 | |
74 | #define SID_BURST_BP1_F1 18 |
|
74 | #define SID_BURST_BP1_F1 18 | |
75 | #define SID_BURST_BP2_F1 23 |
|
75 | #define SID_BURST_BP2_F1 23 | |
76 | #define SID_SBM1_BP1_F0 28 |
|
76 | #define SID_SBM1_BP1_F0 28 | |
77 | #define SID_SBM1_BP2_F0 31 |
|
77 | #define SID_SBM1_BP2_F0 31 | |
78 | #define SID_SBM2_BP1_F0 29 |
|
78 | #define SID_SBM2_BP1_F0 29 | |
79 | #define SID_SBM2_BP2_F0 32 |
|
79 | #define SID_SBM2_BP2_F0 32 | |
80 | #define SID_SBM1_BP1_F1 30 |
|
80 | #define SID_SBM1_BP1_F1 30 | |
81 | #define SID_SBM1_BP2_F1 33 |
|
81 | #define SID_SBM1_BP2_F1 33 | |
82 |
|
82 | |||
83 | #define TM_LEN_EXE 20 - CCSDS_TC_TM_PACKET_OFFSET |
|
83 | #define TM_LEN_EXE 20 - CCSDS_TC_TM_PACKET_OFFSET | |
84 | #define TM_LEN_NOT_EXE 26 - CCSDS_TC_TM_PACKET_OFFSET |
|
84 | #define TM_LEN_NOT_EXE 26 - CCSDS_TC_TM_PACKET_OFFSET | |
85 | #define TM_LEN_NOT_IMP 24 - CCSDS_TC_TM_PACKET_OFFSET |
|
85 | #define TM_LEN_NOT_IMP 24 - CCSDS_TC_TM_PACKET_OFFSET | |
86 | #define TM_LEN_EXE_ERR 24 - CCSDS_TC_TM_PACKET_OFFSET |
|
86 | #define TM_LEN_EXE_ERR 24 - CCSDS_TC_TM_PACKET_OFFSET | |
87 | #define TM_LEN_EXE_CORR 32 - CCSDS_TC_TM_PACKET_OFFSET |
|
87 | #define TM_LEN_EXE_CORR 32 - CCSDS_TC_TM_PACKET_OFFSET | |
88 | #define TM_HEADER_LEN 16 |
|
88 | #define TM_HEADER_LEN 16 | |
89 | #define TM_LEN_SCI_NORM_SWF_340 340 * 12 + 6 + 10 - 1 |
|
89 | #define TM_LEN_SCI_NORM_SWF_340 340 * 12 + 6 + 10 - 1 | |
90 | #define TM_LEN_SCI_NORM_SWF_8 8 * 12 + 6 + 10 - 1 |
|
90 | #define TM_LEN_SCI_NORM_SWF_8 8 * 12 + 6 + 10 - 1 | |
91 |
|
91 | |||
92 | enum TM_TYPE{ |
|
92 | enum TM_TYPE{ | |
93 | TM_LFR_TC_EXE_OK, |
|
93 | TM_LFR_TC_EXE_OK, | |
94 | TM_LFR_TC_EXE_ERR, |
|
94 | TM_LFR_TC_EXE_ERR, | |
95 | TM_LFR_HK, |
|
95 | TM_LFR_HK, | |
96 | TM_LFR_SCI, |
|
96 | TM_LFR_SCI, | |
97 | TM_LFR_SCI_SBM, |
|
97 | TM_LFR_SCI_SBM, | |
98 | TM_LFR_PAR_DUMP |
|
98 | TM_LFR_PAR_DUMP | |
99 | }; |
|
99 | }; | |
100 |
|
100 | |||
101 | struct TMHeader_str |
|
101 | struct TMHeader_str | |
102 | { |
|
102 | { | |
103 | volatile unsigned char targetLogicalAddress; |
|
103 | volatile unsigned char targetLogicalAddress; | |
104 | volatile unsigned char protocolIdentifier; |
|
104 | volatile unsigned char protocolIdentifier; | |
105 | volatile unsigned char reserved; |
|
105 | volatile unsigned char reserved; | |
106 | volatile unsigned char userApplication; |
|
106 | volatile unsigned char userApplication; | |
107 | volatile unsigned char packetID[2]; |
|
107 | volatile unsigned char packetID[2]; | |
108 | volatile unsigned char packetSequenceControl[2]; |
|
108 | volatile unsigned char packetSequenceControl[2]; | |
109 | volatile unsigned char packetLength[2]; |
|
109 | volatile unsigned char packetLength[2]; | |
110 | volatile unsigned char dataFieldHeader[10]; |
|
110 | volatile unsigned char dataFieldHeader[10]; | |
111 | }; |
|
111 | }; | |
112 | typedef struct TMHeader_str TMHeader_t; |
|
112 | typedef struct TMHeader_str TMHeader_t; | |
113 |
|
113 | |||
114 | struct ExtendedTMHeader_str |
|
114 | struct ExtendedTMHeader_str | |
115 | { |
|
115 | { | |
116 | volatile unsigned char targetLogicalAddress; |
|
116 | volatile unsigned char targetLogicalAddress; | |
117 | volatile unsigned char protocolIdentifier; |
|
117 | volatile unsigned char protocolIdentifier; | |
118 | volatile unsigned char reserved; |
|
118 | volatile unsigned char reserved; | |
119 | volatile unsigned char userApplication; |
|
119 | volatile unsigned char userApplication; | |
120 | volatile unsigned char packetID[2]; |
|
120 | volatile unsigned char packetID[2]; | |
121 | volatile unsigned char packetSequenceControl[2]; |
|
121 | volatile unsigned char packetSequenceControl[2]; | |
122 | volatile unsigned char packetLength[2]; |
|
122 | volatile unsigned char packetLength[2]; | |
123 | volatile unsigned char dataFieldHeader[10]; |
|
123 | volatile unsigned char dataFieldHeader[10]; | |
124 | volatile unsigned char auxiliaryHeader[6]; |
|
124 | volatile unsigned char auxiliaryHeader[6]; | |
125 | }; |
|
125 | }; | |
126 | typedef struct ExtendedTMHeader_str ExtendedTMHeader_t; |
|
126 | typedef struct ExtendedTMHeader_str ExtendedTMHeader_t; | |
127 |
|
127 | |||
128 | struct ccsdsTelecommandPacket_str |
|
128 | struct ccsdsTelecommandPacket_str | |
129 | { |
|
129 | { | |
130 | //unsigned char targetLogicalAddress; // removed by the grspw module |
|
130 | //unsigned char targetLogicalAddress; // removed by the grspw module | |
131 | volatile unsigned char protocolIdentifier; |
|
131 | volatile unsigned char protocolIdentifier; | |
132 | volatile unsigned char reserved; |
|
132 | volatile unsigned char reserved; | |
133 | volatile unsigned char userApplication; |
|
133 | volatile unsigned char userApplication; | |
134 | volatile unsigned char packetID[2]; |
|
134 | volatile unsigned char packetID[2]; | |
135 | volatile unsigned char packetSequenceControl[2]; |
|
135 | volatile unsigned char packetSequenceControl[2]; | |
136 | volatile unsigned char packetLength[2]; |
|
136 | volatile unsigned char packetLength[2]; | |
137 | volatile unsigned char dataFieldHeader[4]; |
|
137 | volatile unsigned char dataFieldHeader[4]; | |
138 | volatile unsigned char dataAndCRC[CCSDS_TC_PKT_MAX_SIZE-10]; |
|
138 | volatile unsigned char dataAndCRC[CCSDS_TC_PKT_MAX_SIZE-10]; | |
139 | }; |
|
139 | }; | |
140 | typedef struct ccsdsTelecommandPacket_str ccsdsTelecommandPacket_t; |
|
140 | typedef struct ccsdsTelecommandPacket_str ccsdsTelecommandPacket_t; | |
141 |
|
141 | |||
142 | #endif // CCSDS_H_INCLUDED |
|
142 | #endif // CCSDS_H_INCLUDED |
General Comments 0
You need to be logged in to leave comments.
Login now