# HG changeset patch # User paul # Date 2015-04-17 06:47:32 # Node ID 6bdc5b11627464ef4deb6f10379ff6c04f26fd4b # Parent dabba9bc155e52751597b4fad9e425f7033c73f5 sync diff --git a/ccsds_types.h b/ccsds_types.h --- a/ccsds_types.h +++ b/ccsds_types.h @@ -106,12 +106,15 @@ #define TC_LEN_LOAD_FBINS 60 #define TC_LEN_UPDT_TIME 18 +// PACKET CODES +#define TM_CODE_K_DUMP 0xb5600b00 // 181 (0xb5) ** 96 (0x60) ** 11 (0x0b) ** 0 (0x00) + // TM TYPES #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_KCOEFFICIENT_DUMP 181 +#define TM_TYPE_K_DUMP 181 // TM SUBTYPES #define TM_SUBTYPE_EXE_OK 7 @@ -692,24 +695,48 @@ typedef struct { unsigned char sy_lfr_s2_bp_p1; // 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; + unsigned char sy_lfr_fbins_f0_word1[4]; + unsigned char sy_lfr_fbins_f0_word2[4]; + unsigned char sy_lfr_fbins_f0_word3[4]; + unsigned char sy_lfr_fbins_f0_word4[4]; // 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; + unsigned char sy_lfr_fbins_f1_word1[4]; + unsigned char sy_lfr_fbins_f1_word2[4]; + unsigned char sy_lfr_fbins_f1_word3[4]; + unsigned char sy_lfr_fbins_f1_word4[4]; // 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; + unsigned char sy_lfr_fbins_f2_word1[4]; + unsigned char sy_lfr_fbins_f2_word2[4]; + unsigned char sy_lfr_fbins_f2_word3[4]; + unsigned char sy_lfr_fbins_f2_word4[4]; // SPARE unsigned char source_data_spare; } Packet_TM_LFR_PARAMETER_DUMP_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; + unsigned char pkt_cnt; + unsigned char pkt_nr; + unsigned char blk_nr; + + //****************** + // SOURCE DATA repeated N times with N in [0 .. PA_LFR_KCOEFF_BLK_NR] + unsigned char kcoeff_blks[3900]; // one blk is 2 + 4 * 32 = 130 bytes, 30 blks max in one packet (30 * 130 = 3900) + +} Packet_TM_LFR_KCOEFFICIENTS_DUMP_t; #endif // CCSDS_TYPES_H_INCLUDED diff --git a/fsw_params_nb_bytes.h b/fsw_params_nb_bytes.h --- a/fsw_params_nb_bytes.h +++ b/fsw_params_nb_bytes.h @@ -35,18 +35,8 @@ #define BYTE_POS_CP_LFR_ENTER_MODE_TIME 12 //TC_LFR_LOAD_FBINS_MASK -#define DATAFIELD_POS_SY_LFR_FBINS_F0_WORD1 18 // 35 - 17 -#define DATAFIELD_POS_SY_LFR_FBINS_F0_WORD2 22 -#define DATAFIELD_POS_SY_LFR_FBINS_F0_WORD3 26 -#define DATAFIELD_POS_SY_LFR_FBINS_F0_WORD4 30 -#define DATAFIELD_POS_SY_LFR_FBINS_F1_WORD1 34 -#define DATAFIELD_POS_SY_LFR_FBINS_F1_WORD2 38 -#define DATAFIELD_POS_SY_LFR_FBINS_F1_WORD3 42 -#define DATAFIELD_POS_SY_LFR_FBINS_F1_WORD4 46 -#define DATAFIELD_POS_SY_LFR_FBINS_F2_WORD1 50 -#define DATAFIELD_POS_SY_LFR_FBINS_F2_WORD2 54 -#define DATAFIELD_POS_SY_LFR_FBINS_F2_WORD3 58 -#define DATAFIELD_POS_SY_LFR_FBINS_F2_WORD4 62 // 79 - 17 +#define NB_FBINS_MASKS 12 +#define NB_BYTES_PER_FBINS_MASK 4 // TC_LFR_LOAD_KCOEFFICIENTS #define NB_BYTES_PER_FLOAT 4