ccsds_types.h
708 lines
| 24.6 KiB
| text/x-c
|
CLexer
paul
|
r0 | #ifndef CCSDS_TYPES_H_INCLUDED | ||
#define CCSDS_TYPES_H_INCLUDED | ||||
#define CCSDS_PROTOCOLE_EXTRA_BYTES 4 | ||||
#define CCSDS_TC_TM_PACKET_OFFSET 7 | ||||
#define CCSDS_TELEMETRY_HEADER_LENGTH 16+4 | ||||
#define CCSDS_TM_PKT_MAX_SIZE 4412 | ||||
#define CCSDS_TELECOMMAND_HEADER_LENGTH 10+4 | ||||
#define CCSDS_TC_PKT_MAX_SIZE 256 | ||||
#define CCSDS_TC_PKT_MIN_SIZE 16 | ||||
#define CCSDS_PROCESS_ID 76 | ||||
#define CCSDS_PACKET_CATEGORY 12 | ||||
#define CCSDS_NODE_ADDRESS 0xfe | ||||
#define CCSDS_USER_APP 0x00 | ||||
#define DEFAULT_SPARE1_PUSVERSION_SPARE2 0x10 | ||||
#define DEFAULT_RESERVED 0x00 | ||||
#define DEFAULT_HKBIA 0x1e // 0001 1110 | ||||
// PACKET ID | ||||
#define APID_TM_TC_EXE 0x0cc1 // PID 76 CAT 1 | ||||
#define APID_TM_HK 0x0cc4 // PID 76 CAT 4 | ||||
#define APID_TM_SCIENCE_NORMAL_BURST 0x0ccc // PID 76 CAT 12 | ||||
#define APID_TM_SCIENCE_SBM1_SBM2 0x0cfc // PID 79 CAT 12 | ||||
paul
|
r13 | #define APID_TM_PARAMETER_DUMP 0x0cc6 // PID 76 CAT 6 | ||
#define APID_TM_KCOEFFICIENTS_DUMP 0x0cc6 // PID 76 CAT 6 | ||||
paul
|
r0 | |||
// PACKET SEQUENCE CONTROL | ||||
#define TM_PACKET_SEQ_CTRL_CONTINUATION 0x00 // [0000 0000] | ||||
#define TM_PACKET_SEQ_CTRL_FIRST 0x40 // [0100 0000] | ||||
#define TM_PACKET_SEQ_CTRL_LAST 0x80 // [1000 0000] | ||||
#define TM_PACKET_SEQ_CTRL_STANDALONE 0xc0 // [1100 0000] | ||||
#define TM_PACKET_SEQ_CNT_DEFAULT 0x00 // [0000 0000] | ||||
// DESTINATION ID | ||||
paul
|
r13 | #define TM_DESTINATION_ID_GROUND 0 | ||
#define TM_DESTINATION_ID_MISSION_TIMELINE 110 | ||||
#define TM_DESTINATION_ID_TC_SEQUENCES 111 | ||||
#define TM_DESTINATION_ID_RECOVERY_ACTION_COMMAND 112 | ||||
#define TM_DESTINATION_ID_BACKUP_MISSION_TIMELINE 113 | ||||
#define TM_DESTINATION_ID_DIRECT_CMD 120 | ||||
#define TM_DESTINATION_ID_SPARE_GRD_SRC1 121 | ||||
#define TM_DESTINATION_ID_SPARE_GRD_SRC2 122 | ||||
#define TM_DESTINATION_ID_OBCP 15 | ||||
#define TM_DESTINATION_ID_SYSTEM_CONTROL 14 | ||||
#define TM_DESTINATION_ID_AOCS 11 | ||||
paul
|
r0 | |||
paul
|
r13 | //********************************************************* | ||
//*** /!\ change CCSDS_DESTINATION_ID before flight /!\ *** | ||||
//********************************************************* | ||||
paul
|
r0 | #ifdef LPP_DPU_DESTID | ||
#define CCSDS_DESTINATION_ID 32 | ||||
#else | ||||
#define CCSDS_DESTINATION_ID 0x01 | ||||
#endif | ||||
#define CCSDS_PROTOCOLE_ID 0x02 | ||||
#define CCSDS_RESERVED 0x00 | ||||
#define CCSDS_USER_APP 0x00 | ||||
#define SIZE_TM_LFR_TC_EXE_NOT_IMPLEMENTED 24 | ||||
#define SIZE_TM_LFR_TC_EXE_CORRUPTED 32 | ||||
#define SIZE_HK_PARAMETERS 112 | ||||
// TC TYPES | ||||
paul
|
r13 | #define TC_TYPE_GEN 181 | ||
#define TC_TYPE_TIME 9 | ||||
paul
|
r0 | |||
// TC SUBTYPES | ||||
paul
|
r13 | #define TC_SUBTYPE_RESET 1 | ||
#define TC_SUBTYPE_LOAD_COMM 11 | ||||
#define TC_SUBTYPE_LOAD_NORM 13 | ||||
#define TC_SUBTYPE_LOAD_BURST 19 | ||||
#define TC_SUBTYPE_LOAD_SBM1 25 | ||||
#define TC_SUBTYPE_LOAD_SBM2 27 | ||||
#define TC_SUBTYPE_DUMP 31 | ||||
#define TC_SUBTYPE_ENTER 41 | ||||
#define TC_SUBTYPE_UPDT_INFO 51 | ||||
#define TC_SUBTYPE_EN_CAL 61 | ||||
#define TC_SUBTYPE_DIS_CAL 63 | ||||
#define TC_SUBTYPE_LOAD_K 93 | ||||
#define TC_SUBTYPE_DUMP_K 95 | ||||
#define TC_SUBTYPE_LOAD_FBINS 91 | ||||
#define TC_SUBTYPE_UPDT_TIME 129 | ||||
paul
|
r0 | |||
// TC LEN | ||||
paul
|
r13 | #define TC_LEN_RESET 12 | ||
#define TC_LEN_LOAD_COMM 14 | ||||
#define TC_LEN_LOAD_NORM 22 | ||||
#define TC_LEN_LOAD_BURST 14 | ||||
#define TC_LEN_LOAD_SBM1 14 | ||||
#define TC_LEN_LOAD_SBM2 14 | ||||
#define TC_LEN_DUMP 12 | ||||
#define TC_LEN_ENTER 20 | ||||
#define TC_LEN_UPDT_INFO 46 | ||||
#define TC_LEN_EN_CAL 12 | ||||
#define TC_LEN_DIS_CAL 12 | ||||
#define TC_LEN_LOAD_K 142 | ||||
#define TC_LEN_DUMP_K 12 | ||||
#define TC_LEN_LOAD_FBINS 60 | ||||
#define TC_LEN_UPDT_TIME 18 | ||||
paul
|
r0 | |||
// TM TYPES | ||||
paul
|
r13 | #define TM_TYPE_TC_EXE 1 | ||
#define TM_TYPE_HK 3 | ||||
#define TM_TYPE_LFR_SCIENCE 21 | ||||
#define TM_TYPE_PARAMETER_DUMP 181 | ||||
#define TM_TYPE_KCOEFFICIENTD_DUMP 181 | ||||
paul
|
r0 | |||
// TM SUBTYPES | ||||
paul
|
r13 | #define TM_SUBTYPE_EXE_OK 7 | ||
#define TM_SUBTYPE_EXE_NOK 8 | ||||
#define TM_SUBTYPE_HK 25 | ||||
#define TM_SUBTYPE_LFR_SCIENCE_3 3 // TM packets with fixed size | ||||
#define TM_SUBTYPE_LFR_SCIENCE_6 6 // TM packets with variable size | ||||
#define TM_SUBTYPE_PARAMETER_DUMP 32 | ||||
#define TM_SUBTYPE_K_DUMP 96 | ||||
paul
|
r0 | |||
// FAILURE CODES | ||||
#define ILLEGAL_APID 0 | ||||
#define WRONG_LEN_PKT 1 | ||||
#define INCOR_CHECKSUM 2 | ||||
#define ILL_TYPE 3 | ||||
#define ILL_SUBTYPE 4 | ||||
#define WRONG_APP_DATA 5 // 0x00 0x05 | ||||
#define TC_NOT_EXE 42000 // 0xa4 0x10 | ||||
#define WRONG_SRC_ID 42001 // 0xa4 0x11 | ||||
#define FUNCT_NOT_IMPL 42002 // 0xa4 0x12 | ||||
#define FAIL_DETECTED 42003 // 0xa4 0x13 | ||||
#define NOT_ALLOWED 42004 // 0xa4 0x14 | ||||
#define CORRUPTED 42005 // 0xa4 0x15 | ||||
#define CCSDS_TM_VALID 7 | ||||
// TC SID | ||||
#define SID_TC_GROUND 0 | ||||
#define SID_TC_MISSION_TIMELINE 110 | ||||
#define SID_TC_TC_SEQUENCES 111 | ||||
#define SID_TC_RECOVERY_ACTION_CMD 112 | ||||
#define SID_TC_BACKUP_MISSION_TIMELINE 113 | ||||
#define SID_TC_DIRECT_CMD 120 | ||||
#define SID_TC_SPARE_GRD_SRC1 121 | ||||
#define SID_TC_SPARE_GRD_SRC2 122 | ||||
#define SID_TC_OBCP 15 | ||||
#define SID_TC_SYSTEM_CONTROL 14 | ||||
#define SID_TC_AOCS 11 | ||||
#define SID_TC_RPW_INTERNAL 254 | ||||
enum apid_destid{ | ||||
GROUND, | ||||
MISSION_TIMELINE, | ||||
TC_SEQUENCES, | ||||
RECOVERY_ACTION_CMD, | ||||
BACKUP_MISSION_TIMELINE, | ||||
DIRECT_CMD, | ||||
SPARE_GRD_SRC1, | ||||
SPARE_GRD_SRC2, | ||||
OBCP, | ||||
SYSTEM_CONTROL, | ||||
AOCS, | ||||
RPW_INTERNAL | ||||
}; | ||||
// SEQUENCE COUNTERS | ||||
#define SEQ_CNT_MAX 16383 | ||||
#define SEQ_CNT_NB_DEST_ID 12 | ||||
// TM SID | ||||
#define SID_HK 1 | ||||
paul
|
r13 | #define SID_NORM_SWF_F0 3 | ||
#define SID_NORM_SWF_F1 4 | ||||
#define SID_NORM_SWF_F2 5 | ||||
#define SID_NORM_CWF_F3 1 | ||||
#define SID_BURST_CWF_F2 2 | ||||
#define SID_SBM1_CWF_F1 24 | ||||
#define SID_SBM2_CWF_F2 25 | ||||
#define SID_NORM_ASM_F0 11 | ||||
#define SID_NORM_ASM_F1 12 | ||||
#define SID_NORM_ASM_F2 13 | ||||
#define SID_NORM_BP1_F0 14 | ||||
#define SID_NORM_BP1_F1 15 | ||||
#define SID_NORM_BP1_F2 16 | ||||
#define SID_NORM_BP2_F0 19 | ||||
#define SID_NORM_BP2_F1 20 | ||||
#define SID_NORM_BP2_F2 21 | ||||
#define SID_BURST_BP1_F0 17 | ||||
#define SID_BURST_BP2_F0 22 | ||||
#define SID_BURST_BP1_F1 18 | ||||
#define SID_BURST_BP2_F1 23 | ||||
#define SID_SBM1_BP1_F0 28 | ||||
#define SID_SBM1_BP2_F0 31 | ||||
#define SID_SBM2_BP1_F0 29 | ||||
#define SID_SBM2_BP2_F0 32 | ||||
#define SID_SBM2_BP1_F1 30 | ||||
#define SID_SBM2_BP2_F1 33 | ||||
paul
|
r0 | #define SID_NORM_CWF_LONG_F3 34 | ||
paul
|
r13 | #define SID_PARAMETER_DUMP 10 | ||
#define SID_K_DUMP 11 | ||||
paul
|
r0 | |||
// HEADER_LENGTH | ||||
#define TM_HEADER_LEN 16 | ||||
#define HEADER_LENGTH_TM_LFR_SCIENCE_ASM 28 | ||||
// PACKET_LENGTH | ||||
#define PACKET_LENGTH_TC_EXE_SUCCESS (20 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_TC_EXE_INCONSISTENT (26 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_TC_EXE_NOT_EXECUTABLE (26 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_TC_EXE_NOT_IMPLEMENTED (24 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_TC_EXE_ERROR (24 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_TC_EXE_CORRUPTED (32 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
paul
|
r13 | #define PACKET_LENGTH_HK (136 - CCSDS_TC_TM_PACKET_OFFSET) | ||
#define PACKET_LENGTH_PARAMETER_DUMP (84 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
#define PACKET_LENGTH_K_DUMP (3920 - CCSDS_TC_TM_PACKET_OFFSET) | ||||
// SCIENCE ASM | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F0 (3230 - CCSDS_TC_TM_PACKET_OFFSET) // 32 * 25 * 4 + 30 => 88 bins (32 + 32 + 24 ), 3 packets | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F1 (3630 - CCSDS_TC_TM_PACKET_OFFSET) // 52 * 25 * 2 + 30 => 104 bins (36 + 36 + 32 ), 3 packets | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F2 (3230 - CCSDS_TC_TM_PACKET_OFFSET) // 32 * 25 * 4 + 30 => 96 bins (32 + 32 + 32 ), 3 packets | ||||
// SCIENCE NORM | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 (150 - CCSDS_TC_TM_PACKET_OFFSET) // 11 * 11 + 29 (1 spare byte in the header) | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 (172 - CCSDS_TC_TM_PACKET_OFFSET) // 13 * 11 + 29 (1 spare byte in the header) | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 (160 - CCSDS_TC_TM_PACKET_OFFSET) // 12 * 11 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 (358 - CCSDS_TC_TM_PACKET_OFFSET) // 11 * 30 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 (418 - CCSDS_TC_TM_PACKET_OFFSET) // 13 * 30 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 (388 - CCSDS_TC_TM_PACKET_OFFSET) // 12 * 30 + 28 | ||||
// SCIENCE SBM | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 (270 - CCSDS_TC_TM_PACKET_OFFSET) // 22 * 11 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 (688 - CCSDS_TC_TM_PACKET_OFFSET) // 22 * 30 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 (314 - CCSDS_TC_TM_PACKET_OFFSET) // 26 * 11 + 28 | ||||
#define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 (808 - CCSDS_TC_TM_PACKET_OFFSET) // 26 * 30 + 28 | ||||
paul
|
r0 | |||
#define PACKET_LENGTH_DELTA 11 // 7 + 4 | ||||
#define SPARE1_PUSVERSION_SPARE2 0x10 | ||||
paul
|
r13 | // R3 | ||
// one snapshot = 2048 samples = 6 packets * 304 + 224 | ||||
#define TM_LEN_SCI_SWF_304 (3678 - CCSDS_TC_TM_PACKET_OFFSET) // 304 * 12 + 30 | ||||
#define TM_LEN_SCI_SWF_224 (2718 - CCSDS_TC_TM_PACKET_OFFSET) // 224 * 12 + 30 | ||||
// one continuous buffer = 2688 samples = 8 packets * 336 | ||||
#define TM_LEN_SCI_CWF_336 (4060 - CCSDS_TC_TM_PACKET_OFFSET) // 336 * 12 + 28 | ||||
#define TM_LEN_SCI_CWF_672 (4060 - CCSDS_TC_TM_PACKET_OFFSET) // 672 * 6 + 28 | ||||
paul
|
r0 | // | ||
#define DEFAULT_PKTCNT 0x07 | ||||
#define BLK_NR_304 0x0130 | ||||
#define BLK_NR_224 0x00e0 | ||||
#define BLK_NR_CWF 0x0150 // 336 | ||||
#define BLK_NR_CWF_SHORT_F3 0x02a0 // 672 | ||||
enum TM_TYPE{ | ||||
TM_LFR_TC_EXE_OK, | ||||
TM_LFR_TC_EXE_ERR, | ||||
TM_LFR_HK, | ||||
TM_LFR_SCI, | ||||
TM_LFR_SCI_SBM, | ||||
TM_LFR_PAR_DUMP | ||||
}; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
} Packet_TM_LFR_TC_EXE_SUCCESS_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char tc_failure_code[2]; | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
unsigned char tc_service; | ||||
unsigned char tc_subtype; | ||||
unsigned char byte_position; | ||||
unsigned char rcv_value; | ||||
} Packet_TM_LFR_TC_EXE_INCONSISTENT_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char tc_failure_code[2]; | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
unsigned char tc_service; | ||||
unsigned char tc_subtype; | ||||
unsigned char lfr_status_word[2]; | ||||
} Packet_TM_LFR_TC_EXE_NOT_EXECUTABLE_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char tc_failure_code[2]; | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
unsigned char tc_service; | ||||
unsigned char tc_subtype; | ||||
} Packet_TM_LFR_TC_EXE_NOT_IMPLEMENTED_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char tc_failure_code[2]; | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
unsigned char tc_service; | ||||
unsigned char tc_subtype; | ||||
} Packet_TM_LFR_TC_EXE_ERROR_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
// PACKET HEADER | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// | ||||
unsigned char tc_failure_code[2]; | ||||
unsigned char telecommand_pkt_id[2]; | ||||
unsigned char pkt_seq_control[2]; | ||||
unsigned char tc_service; | ||||
unsigned char tc_subtype; | ||||
unsigned char pkt_len_rcv_value[2]; | ||||
unsigned char pkt_datafieldsize_cnt[2]; | ||||
unsigned char rcv_crc[2]; | ||||
unsigned char computed_crc[2]; | ||||
} Packet_TM_LFR_TC_EXE_CORRUPTED_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// AUXILIARY HEADER | ||||
unsigned char sid; | ||||
unsigned char hkBIA; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters_spare; | ||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | unsigned char pktCnt; | ||
unsigned char pktNr; | ||||
unsigned char acquisitionTime[6]; | ||||
unsigned char blkNr[2]; | ||||
} Header_TM_LFR_SCIENCE_SWF_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// AUXILIARY DATA HEADER | ||||
unsigned char sid; | ||||
unsigned char hkBIA; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters_spare; | ||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | unsigned char acquisitionTime[6]; | ||
unsigned char blkNr[2]; | ||||
} Header_TM_LFR_SCIENCE_CWF_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// AUXILIARY HEADER | ||||
unsigned char sid; | ||||
unsigned char biaStatusInfo; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters_spare; | ||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | unsigned char pa_lfr_pkt_cnt_asm; | ||
unsigned char pa_lfr_pkt_nr_asm; | ||||
unsigned char acquisitionTime[6]; | ||||
unsigned char pa_lfr_asm_blk_nr[2]; | ||||
} Header_TM_LFR_SCIENCE_ASM_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// AUXILIARY HEADER | ||||
unsigned char sid; | ||||
unsigned char biaStatusInfo; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters_spare; | ||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | unsigned char acquisitionTime[6]; | ||
unsigned char source_data_spare; | ||||
unsigned char pa_lfr_bp_blk_nr[2]; | ||||
} Header_TM_LFR_SCIENCE_BP_with_spare_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
// AUXILIARY HEADER | ||||
unsigned char sid; | ||||
unsigned char biaStatusInfo; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters_spare; | ||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | unsigned char acquisitionTime[6]; | ||
unsigned char pa_lfr_bp_blk_nr[2]; | ||||
} Header_TM_LFR_SCIENCE_BP_t; | ||||
typedef struct { | ||||
//targetLogicalAddress is removed by the grspw module | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char headerFlag_pusVersion_Ack; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char sourceID; | ||||
unsigned char dataAndCRC[CCSDS_TC_PKT_MAX_SIZE-10]; | ||||
} ccsdsTelecommandPacket_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
unsigned char sid; | ||||
//************** | ||||
// HK PARAMETERS | ||||
unsigned char lfr_status_word[2]; | ||||
unsigned char lfr_sw_version[4]; | ||||
unsigned char lfr_fpga_version[3]; | ||||
// ressource statistics | ||||
unsigned char hk_lfr_cpu_load; | ||||
unsigned char hk_lfr_cpu_load_max; | ||||
unsigned char hk_lfr_cpu_load_aver; | ||||
paul
|
r13 | unsigned char hk_lfr_q_sd_fifo_size_max; | ||
unsigned char hk_lfr_q_sd_fifo_size; | ||||
unsigned char hk_lfr_q_rv_fifo_size_max; | ||||
unsigned char hk_lfr_q_rv_fifo_size; | ||||
unsigned char hk_lfr_q_p0_fifo_size_max; | ||||
unsigned char hk_lfr_q_p0_fifo_size; | ||||
unsigned char hk_lfr_q_p1_fifo_size_max; | ||||
unsigned char hk_lfr_q_p1_fifo_size; | ||||
unsigned char hk_lfr_q_p2_fifo_size_max; | ||||
unsigned char hk_lfr_q_p2_fifo_size; | ||||
paul
|
r0 | // tc statistics | ||
unsigned char hk_lfr_update_info_tc_cnt[2]; | ||||
unsigned char hk_lfr_update_time_tc_cnt[2]; | ||||
unsigned char hk_lfr_exe_tc_cnt[2]; | ||||
unsigned char hk_lfr_rej_tc_cnt[2]; | ||||
unsigned char hk_lfr_last_exe_tc_id[2]; | ||||
unsigned char hk_lfr_last_exe_tc_type[2]; | ||||
unsigned char hk_lfr_last_exe_tc_subtype[2]; | ||||
unsigned char hk_lfr_last_exe_tc_time[6]; | ||||
unsigned char hk_lfr_last_rej_tc_id[2]; | ||||
unsigned char hk_lfr_last_rej_tc_type[2]; | ||||
unsigned char hk_lfr_last_rej_tc_subtype[2]; | ||||
unsigned char hk_lfr_last_rej_tc_time[6]; | ||||
// anomaly statistics | ||||
unsigned char hk_lfr_le_cnt[2]; | ||||
unsigned char hk_lfr_me_cnt[2]; | ||||
unsigned char hk_lfr_he_cnt[2]; | ||||
unsigned char hk_lfr_last_er_rid[2]; | ||||
unsigned char hk_lfr_last_er_code; | ||||
unsigned char hk_lfr_last_er_time[6]; | ||||
// vhdl_blk_status | ||||
unsigned char hk_lfr_vhdl_aa_sm; | ||||
unsigned char hk_lfr_vhdl_fft_sr; | ||||
unsigned char hk_lfr_vhdl_cic_hk; | ||||
unsigned char hk_lfr_vhdl_iir_cal; | ||||
// spacewire_if_statistics | ||||
unsigned char hk_lfr_dpu_spw_pkt_rcv_cnt[2]; | ||||
unsigned char hk_lfr_dpu_spw_pkt_sent_cnt[2]; | ||||
unsigned char hk_lfr_dpu_spw_tick_out_cnt; | ||||
unsigned char hk_lfr_dpu_spw_last_timc; | ||||
// ahb error statistics | ||||
unsigned char hk_lfr_last_fail_addr[4]; | ||||
// temperatures | ||||
unsigned char hk_lfr_temp_scm[2]; | ||||
unsigned char hk_lfr_temp_pcb[2]; | ||||
unsigned char hk_lfr_temp_fpga[2]; | ||||
// spacecraft potential | ||||
unsigned char hk_lfr_sc_v_f3[2]; | ||||
unsigned char hk_lfr_sc_e1_f3[2]; | ||||
unsigned char hk_lfr_sc_e2_f3[2]; | ||||
paul
|
r13 | // lfr common parameters | ||
unsigned char sy_lfr_common_parameters_spare; | ||||
unsigned char sy_lfr_common_parameters; | ||||
paul
|
r0 | // error counters | ||
unsigned char hk_lfr_dpu_spw_parity; | ||||
unsigned char hk_lfr_dpu_spw_disconnect; | ||||
unsigned char hk_lfr_dpu_spw_escape; | ||||
unsigned char hk_lfr_dpu_spw_credit; | ||||
unsigned char hk_lfr_dpu_spw_write_sync; | ||||
unsigned char hk_lfr_dpu_spw_rx_ahb; | ||||
unsigned char hk_lfr_dpu_spw_tx_ahb; | ||||
unsigned char hk_lfr_dpu_spw_early_eop; | ||||
unsigned char hk_lfr_dpu_spw_invalid_addr; | ||||
unsigned char hk_lfr_dpu_spw_eep; | ||||
unsigned char hk_lfr_dpu_spw_rx_too_big; | ||||
// timecode | ||||
unsigned char hk_lfr_timecode_erroneous; | ||||
unsigned char hk_lfr_timecode_missing; | ||||
unsigned char hk_lfr_timecode_invalid; | ||||
// time | ||||
unsigned char hk_lfr_time_timecode_it; | ||||
unsigned char hk_lfr_time_not_synchro; | ||||
unsigned char hk_lfr_time_timecode_ctr; | ||||
// hk_lfr_buffer_dpu_ | ||||
unsigned char hk_lfr_buffer_dpu_tc_fifo; | ||||
unsigned char hk_lfr_buffer_dpu_tm_fifo; | ||||
// hk_lfr_ahb_ | ||||
unsigned char hk_lfr_ahb_correctable; | ||||
unsigned char hk_lfr_ahb_uncorrectable; | ||||
// spare | ||||
unsigned char parameters_spare; | ||||
} Packet_TM_LFR_HK_t; | ||||
typedef struct { | ||||
unsigned char targetLogicalAddress; | ||||
unsigned char protocolIdentifier; | ||||
unsigned char reserved; | ||||
unsigned char userApplication; | ||||
unsigned char packetID[2]; | ||||
unsigned char packetSequenceControl[2]; | ||||
unsigned char packetLength[2]; | ||||
// DATA FIELD HEADER | ||||
unsigned char spare1_pusVersion_spare2; | ||||
unsigned char serviceType; | ||||
unsigned char serviceSubType; | ||||
unsigned char destinationID; | ||||
unsigned char time[6]; | ||||
unsigned char sid; | ||||
//****************** | ||||
// COMMON PARAMETERS | ||||
unsigned char unused0; | ||||
paul
|
r13 | unsigned char sy_lfr_common_parameters; | ||
paul
|
r0 | |||
//****************** | ||||
// NORMAL PARAMETERS | ||||
unsigned char sy_lfr_n_swf_l[2]; | ||||
unsigned char sy_lfr_n_swf_p[2]; | ||||
unsigned char sy_lfr_n_asm_p[2]; | ||||
unsigned char sy_lfr_n_bp_p0; | ||||
unsigned char sy_lfr_n_bp_p1; | ||||
unsigned char sy_lfr_n_cwf_long_f3; | ||||
unsigned char lfr_normal_parameters_spare; | ||||
//***************** | ||||
// BURST PARAMETERS | ||||
unsigned char sy_lfr_b_bp_p0; | ||||
unsigned char sy_lfr_b_bp_p1; | ||||
//**************** | ||||
// SBM1 PARAMETERS | ||||
unsigned char sy_lfr_s1_bp_p0; | ||||
unsigned char sy_lfr_s1_bp_p1; | ||||
//**************** | ||||
// SBM2 PARAMETERS | ||||
unsigned char sy_lfr_s2_bp_p0; | ||||
unsigned char sy_lfr_s2_bp_p1; | ||||
paul
|
r13 | // mask F0 | ||
unsigned int sy_lfr_fbins_f0_word1; | ||||
unsigned int sy_lfr_fbins_f0_word2; | ||||
unsigned int sy_lfr_fbins_f0_word3; | ||||
unsigned int sy_lfr_fbins_f0_word4; | ||||
// mask F1 | ||||
unsigned int sy_lfr_fbins_f1_word1; | ||||
unsigned int sy_lfr_fbins_f1_word2; | ||||
unsigned int sy_lfr_fbins_f1_word3; | ||||
unsigned int sy_lfr_fbins_f1_word4; | ||||
// mask F2 | ||||
unsigned int sy_lfr_fbins_f2_word1; | ||||
unsigned int sy_lfr_fbins_f2_word2; | ||||
unsigned int sy_lfr_fbins_f2_word3; | ||||
unsigned int sy_lfr_fbins_f2_word4; | ||||
paul
|
r0 | // SPARE | ||
unsigned char source_data_spare; | ||||
} Packet_TM_LFR_PARAMETER_DUMP_t; | ||||
#endif // CCSDS_TYPES_H_INCLUDED | ||||