// $RCSfile: cmd_seq.h,v $Revision: 1.28 $Date: 2005/03/11 15:08:57 #ifndef __CMD_SEQ_H__ #define __CMD_SEQ_H__ //---- tasks -------------------------------------------------------- extern void cmd_seq (void); //---- Global variables -------------------------------------------------------- extern unsigned int SubsysStatus, Active_spectr, HK_SubsysStatus, LCU_non_interaction; //------ Defines --------------------------------------------------------------- // list of service types and subtypes // Memory Management, service type 6 #define TY_MEM_MAN 6 #define ST_MM_LOAD_MEM 2 // Load Memory #define ST_MM_DUMP_MEM 5 // Dump memory #define ST_MM_CHCK_MEM 9 // Check memory #define ST_MM_ABORT_DUMP_MEM 11 // Abort mem dump // Function management #define TY_FUN_MAN 8 #define ST_FUN_MAN_STOP_FN 2 // Stop a Function #define ST_FUN_MAN_PERF_AC 4 // Performing an activity of a function // Time management #define TY_TIM_MAN 9 #define ST_TIM_MAN_TIME_VERI 7 // Enable Time verification // Packet tranmission control #define TY_PKT_TRA 14 #define ST_PKT_TRA_ENA 1 // Enable TM transmission #define ST_PKT_TRA_DIS 2 // Disable TM transmission #define ST_PKT_TRA_REP 3 // Report enabled tramission // Test Command #define TY_TST_CMD 17 #define ST_TST_CMD_PCT 1 // Perform connection test // Allowable function IDs: #define TC_FUNMAN_OBSID_FID 1 // Observation identification FID 1 AID 0 #define TC_FUNMAN_OBSID_AID 0 // #define TC_FUNMAN_INSTA_FID 2 // Instrument Status FID 2 AID 0 (NYI) #define TC_FUNMAN_INSTA_AID 0 // #define TC_FUNMAN_GOTOSAFE_FID 17 /* HIFI goto safe */ #define TC_FUNMAN_NOOP_FID 18 /* HIFI no operation */ #define TC_FUNMAN_CLEAR_LCU_COMM_LOCK_FID 25 /* HIFI clear LCU comm lock */ #define TC_FUNMAN_HK_FID 3 // Hk services FID - subtype 4 start, subtype 2 stop #define TC_FUNMAN_PER_HK_AID 1 // Periodic HK AID - subtype 4 start, subtype 2 stop #define TC_FCU_NONPER_HK_AID 2 // FCU Non periodic HK AID - subtype 4 start, #define TC_LCU_NONPER_HK_AID 3 // FCU Non periodic HK AID - subtype 4 start, #define TC_LCU_NONPER_MEM_HK_AID 4 // FCU Non periodic HK AID for LCU memory dump #define TC_LCU_VERIFY_CRC_AID 5 // verify CRC of LCU #define TC_LCU_VERIFY_CRC_MEMPART_AID 6 // verify CRC of LCU segments #define TC_FUNMAN_LIMCK_FID 4 // limit checking FID 4 AID 0 - subtype 4 start, subtype 2 stop #define TC_FUNMAN_FCU_CHECK_AID 5 /* Autonomous functioning: Check of the FCU responses and errors */ #define TC_FUNMAN_WBSH_LIMCK_AID 1 /* Check limits for wbsh */ #define TC_FUNMAN_WBSV_LIMCK_AID 2 /* Check limits for wbsv */ #define TC_FUNMAN_HTRH_LIMCK_AID 3 /* Check limits for htrh */ #define TC_FUNMAN_HTRV_LIMCK_AID 4 /* Check limits for htrv */ #define TC_FUNMAN_LCU_T_LIMCK_AID 6 /* Check limits for lcu temperature */ #define TC_FUNMAN_LCU_NONRESP_AID 7 /* Check for lcu non response */ #define TC_FUNMAN_LCU_MODE_AID 8 /* Check for lcu mode */ #define TC_FUNMAN_LCU_MEMCHK_AID 9 /* Check for lcu crc */ // Peak Up #define TC_FUNMAN_PEAKUP_FID 13 // FID for peakup #define TC_FUNMAN_CONFIGURE_PEAKUP_AID 1 // AID for configure peakup #define TC_FUNMAN_ACQUIRE_PEAKUP_HRS_AID 2 // AID for acquire peakup hrs #define TC_FUNMAN_ACQUIRE_PEAKUP_WBS_AID 3 // AID for acquire peakup wbs #define TC_FUNMAN_CORRECTION_AOCS_AID 5 // AID for peakup correction AOCS // Configure subsystems #define TC_FUNMAN_CFSSYS_FID 5 // Configure SS FID 5 #define TC_FUNMAN_CFSSYS_NEW_FID 12 // Configure Subsystem: alternative (simplified) implementation #define TC_FUNMAN_CFFCU_AID 1 // Configure FCU AID 1 #define TC_FUNMAN_CFFCU_POWER_AID 11 // Configure FCU Power, AID 11 #define TC_FUNMAN_CFWBS_H_AID 4 // Configure WBS-H AID 4 #define TC_FUNMAN_CFWBS_V_AID 5 // Configure WBS-V AID 5 #define TC_FUNMAN_CFLCU_AID 6 // Configure LCU AID #define TC_FUNMAN_CFHRS_H_AID 7 // Configure HRS-H #define TC_FUNMAN_CFHRS_V_AID 9 // Configure HRS-V #define TC_FUNMAN_CFHRS_H_BL_AID 8 // Configure HRS-H blocks #define TC_FUNMAN_CFHRS_V_BL_AID 10 // Configure HRS-V blocks #define TC_FUNMAN_CFLCU_1A_AID 12 // Configure LCU1a AID #define TC_FUNMAN_CFLCU_1B_AID 13 // Configure LCU1b AID #define TC_FUNMAN_CFLCU_2A_AID 14 // Configure LCU2a AID #define TC_FUNMAN_CFLCU_2B_AID 15 // Configure LCU2b AID #define TC_FUNMAN_CFLCU_3A_AID 16 // Configure LCU3a AID #define TC_FUNMAN_CFLCU_3B_AID 17 // Configure LCU3b AID #define TC_FUNMAN_CFLCU_4A_AID 18 // Configure LCU4a AID #define TC_FUNMAN_CFLCU_4B_AID 19 // Configure LCU4b AID #define TC_FUNMAN_CFLCU_5A_AID 20 // Configure LCU5a AID #define TC_FUNMAN_CFLCU_5B_AID 21 // Configure LCU5b AID #define TC_FUNMAN_CFLCU_6A_AID 22 // Configure LCU6a AID #define TC_FUNMAN_CFLCU_6B_AID 23 // Configure LCU6b AID #define TC_FUNMAN_CFLCU_7A_AID 24 // Configure LCU7a AID #define TC_FUNMAN_CFLCU_7B_AID 25 // Configure LCU7b AID #define TC_FUNMAN_CFLCU_NOMIN_AID 30 // Configure LCU nominal #define TC_FUNMAN_CFLCU_DIAGN_AID 31 // Configure LCU diagnostic #define TC_FUNMAN_CFLCU_TABLES_AID 32 // Configure LCU tables #define TC_FUNMAN_CFFCU_RESTR_AID 33 // Configure LCU tables #define TC_FUNMAN_VM_UPLOAD_AID 7 // Upload VM code has FID 16 AID 7 #define TC_FUNMAN_PARSCAN_FID 7 // Parameter scan FID 7 AID 1 #define TC_FUNMAN_PARSCAN_AID 1 // Parameter scan regular AID 1 #define TC_FUNMAN_DIPSCAN_NOIF_AID 2 // aid of diplexer scan without IF power #define TC_FUNMAN_DIPSCAN_IF_AID 3 // aid of diplexer scan with IF power #define TC_FUNMAN_ENGSCAN_IF_AID 4 // aid of the engineering scan #define TC_FUNMAN_LCU_FID 8 // Local oscillator FID 8 #define TC_FUNMAN_LOAD_VEC_SCAN_AID 1 // Load vector scan AID 1 #define TC_FUNMAN_VEC_SCAN_AID 2 // Vector scan AID 2 #define TC_FUNMAN_TUNE_LO_MXCH_AID 3 // Local Oscllator tuning use H current #define TC_FUNMAN_TUNE_LO_MXCV_AID 4 // Local Oscllator tuning use V current #define TC_FUNMAN_LOAD_VEC_SCAN_NOM_AID 5 // Load vector scan nominal AID 5 #define TC_FUNMAN_LOAD_VEC_SCAN_DIAG_AID 6 // Load vector scan diagnostic AID 6 #define TC_FUNMAN_RETUNE_LO_AID 7 // Local Oscllator tuning using last tune results #define TC_FUNMAN_TUNE_FID 9 // Tune Procedure FID 9 #define TC_FUNMAN_TUNHRS_AID 1 // Tune HRS-H AID 1 #define TC_FUNMAN_TUNWBS_AID 2 // Tune HRS-V AID 2 #define TC_FUNMAN_MXMAGHRS_AID 3 // Tune mixmagnet current with HRS #define TC_FUNMAN_MXMAGWBS_AID 4 // Tune mixmagnet current with WBS #define TC_FUNMAN_CALIB_FID 10 #define TC_FUNMAN_WBSCOMB_AID 2 #define TC_FUNMAN_WBSZERO_AID 3 #define TC_FUNMAN_HRS_FUNCTEST_AID 4 #define TC_FUNMAN_NEW_WBSCOMB_AID 5 #define TC_FUNMAN_SPECTSPY_FID 11 // Spectroscopy FID 11 #define TC_FUNMAN_CFSPCTR_AID 16 // configure spectroscopy AID #define TC_FUNMAN_CFSPCTR_NEW_AID 17 // new configure spectroscopy AID #define TC_FUNMAN_SPCTRTP_AID 1 // Spectroscopy Total Power AID 1 #define TC_FUNMAN_SPCTRFC_AID 2 // Spectroscopy Fast Chop AID 2 #define TC_FUNMAN_SPCTRSC_AID 3 // Spectroscopy Slow Chop FID 11 AID 3 #define TC_FUNMAN_SPCTRFS_AID 4 // Spectroscopy Frequency Switch FID 11 AID 4 #define TC_FUNMAN_ABRT_SP_FID 11 // Abort Spectroscopy FID = 11 AID = 0 #define TC_FUNMAN_SBRT_SP_AID 0 // #define TC_FUNMAN_SINGLEC_AID 26 // AID 26: send single command #define TC_FUNMAN_SET_CH1_DHTR_AID 27 // AID 27 #define TC_FUNMAN_SET_CV1_DHTR_AID 28 // AID 28 #define TC_FUNMAN_HL_SWITCH_ON_AID 29 // AID 29 #define TC_FUNMAN_LCUIV_FID 15 // Measure LCU IV curve FID 15 AID 1 #define TC_FUNMAN_LCUIV_AID 1 // #define TC_FUNMAN_IFUNCT_FID 16 // Start VM or EEPROM has FID 16 #define TC_FUNMAN_IFUNVM_AID 1 // Start VM AID 1 #define TC_FUNMAN_EEPROM_AID 2 // EEprom Write has AID 2 #define TC_FUNMAN_ICURESET_AID 3 #define TC_FUNMAN_CALL_BOOT_AID 4 #define TC_FUNMAN_SIM_PEAKUP_REQ_AID 126 // Simulate Peakup Request #define TC_FUNMAN_SPCTRSM_AID 127 // Simulated Spectroscopy FID 16 AID 127 #define TC_FUNMAN_CHCK_PM_AID 5 // Check Program Memory #define TC_FUNMAN_COPY_OBS_AID 6 // Copy OBS // Bit Masks to decode TC packets: #define TC_MSK_APID 0x000007FF // 0000 0111 1111 1111 #define TC_MSK_TYPE 0x000000FF // 0000 0000 1111 1111 #define TC_MSK_SUBTY 0x0000FF00 // 1111 1111 0000 0000 // Fixed allowed values #define TC_APID_OK 1024 /* This definition is used by all the services if the result is OK */ #define SERVICE_OK 0xFF //ADG - Constant parameters for other TM reports #define TM_TYPE_EVNT 5 // Time verification report #define TM_TYPE_TIME 9 // Time verification report #define TM_SUBTY_TIME 9 #define TM_TYPE_MCHK 6 // Memory Check report #define TM_SUBTY_MCHK 10 #define TM_TYPE_MDUMP 6 // Memory Dump report #define TM_SUBTY_MDUMP 6 // TC Constants #define TC_DATA_MAX 118 // Max size (in 16 bits words) of Application Data #define TC_DATA_IDX 5 // Index where application data start in TCs #define TC_FUNACT_IDX 0 // Index of Function & Activity ID (they are 8 bit values packed-up) #define TC_STRUC_IDX 1 // Index of Structure ID in TC data #define TC_BBID_IDX 2 // Index of Building Block ID in TC data (2 values for 32 bits total) #define TC_FUN_FIRSTDATA_IDX 4 // Index of first useful data afetr Fun,Act, Struct, BB IDs. #define TC_OBS_IDX 4 // Index of Observation ID in TC data #define TC_TABL_IDX 4 // Index of start of uploadable tables n TC data #define TC_SINGCMD_IDX 4 // Index of Single command start (32 bit) in TC data #define TC_HKRATE_IDX 2 // Index of HK rate in TC data #define TC_HK_SEL_IDX 3 // Index of HK selection in TC data #define TC_SSSTAT_IDX 2 // Index of Subsystems status in TC data #define TC_SIMSPONOFF_IDX 1 // Index of Simulated Spectroscopy on or off parameter #define TC_ATTF_IDX 4 // Index of start of uploadable tables n TC data #define TC_STEPTIME_IDX 4 #define TC_NMAGNET_IDX 5 #define TC_CH1_C0_IDX 6 #define TC_CV1_C0_IDX 7 #define TC_STEPSIZE_IDX 8 // diplexer scan #define TC_N_DIPLEXER_IDX 4 // Slow chop: chop positions #define TC_SPECSC_ROT1_IDX 4 #define TC_SPECSC_ROT2_IDX 6 // FAST chop: extra info on the number of loops #define TC_SPECSC_N_WBS1_IDX 8 #define TC_SPECSC_N_HRS_TRANS_IDX 9 // Frequency switch: frequencies #define TC_SPECFS_FREQ1_IDX 4 #define TC_SPECFS_FREQ2_IDX 6 //position of service 8,4 FID 7 parameters in TC #define TC_NVOL_IDX 4 #define TC_NMAG_IDX 5 #define TC_STEP_TIME_IDX 6 #define TC_CH1MXB_IDX 7 #define TC_CH2MXB_IDX 8 #define TC_MXBSTEP_IDX 9 #define TC_CH1MXC_IDX 10 #define TC_CH2MXC_IDX 11 #define TC_MXCSTEP_IDX 12 //position of service 6 parameters in TC #define TC_MEMID_IDX 0 #define TC_MEMSTARTADD_IDX 1 #define TC_MEMLENGTH_IDX 2 #define TC_MEMDATA_IDX 3 #endif // __CMD_SEQ_H__