/******************************************************************************* * モジュール名称 :Application Header * * モジュールラベル :app_common.h * * タスク区分 :ヘッダ - User-Taskが参照を要するものの集合 * * 機能 :define/Struct/Variable/Prototype * * 使用上の注意 :特になし * * 作成日・作成者 :2017/7/13 Y.Kasaba * *******************************************************************************/ #ifndef _APP_COMMON_H_ #define _APP_COMMON_H_ // ---------------------------- #include #include // ---------------------------- #include "dpu_api.h" #include "app_common_math.h" #include "app15_api.h" // ---------------------------- // ********************************************************* // * DEFINITIONS * // ********************************************************* // ----------------------------------------- // Communication // ----------------------------------------- // *** Node-ID = Head-ID *** (3.2.1 & 3.2.4) [Not-USED in H] 3:DPU1 4:DPU2 B:ENA E:MDM F:MSAS 11- #define Gd_N_EWOE Gd_N_EWO // HEAD-ID: EWOE:0x10 #define Gd_N_AM2P 0x00 // HEAD-ID: AM2P:0x01 #define Gd_N_EFD 0x01 // HEAD-ID: EFD :0x02 #define Gd_N_EWOB 0x02 // HEAD-ID: EWOB:0x03 // #define Gd_N_DPU1 0x03 // 0x19 (<<3)+1 #define Gd_N_DPU2 0x04 // 0x21 (<<3)+1 #define Gd_N_MEA1 0x05 // 0x28 (<<3) #define Gd_N_MEA2 0x06 // 0x30 (<<3) #define Gd_N_MIA 0x07 // 0x38 (<<3) #define Gd_N_MSA 0x08 // 0x40 (<<3) #define Gd_N_HEPE 0x09 // 0x48 (<<3) #define Gd_N_HEPI 0x0A // 0x50 (<<3) #define Gd_N_ENA 0x0B // 0x58 (<<3) #define Gd_N_MGFO 0x0C // 0x60 (<<3) #define Gd_N_MGFI 0x0D // 0x68 (<<3) #define Gd_N_MDM 0x0E // 0x70 (<<3) #define Gd_N_MSAS 0x0F // 0x78 (<<3) #define Gd_N_EWO 0x10 // 0x80 (<<3)+ EWOE:0 AM2P:0 EFD:2 EWOB:3 // 0x11 #define Gd_N_SOR 0x12 // 0x90 (<<3) #define Gd_N_MEF 0x13 // 0x98 (<<3) #define Gd_N_MWE 0x14 // 0xA0 (<<3) #define Gd_N_COM 0x17 // COMMON // // #define Gd_D_EWOE 0x00 // Data-ID EWOE:0 #define Gd_D_AM2P 0x01 // Data-ID AM2P:1 #define Gd_D_EFD 0x02 // Data-ID EFD :2 #define Gd_D_EWOB 0x03 // Data-ID EWOB:3 // ----------------------------------------- // Mission Data Buffer (SDRAM) // ----------------------------------------- // *** Block Size **** #define Gd_Blk_MEA1 19008 // 2sec分 18 * (12+ 1032 + 1 + 11) 1056 = 19008 #define Gd_Blk_MEA2 19008 // 2sec分 18 * (12+ 1032 + 1 + 11) 1056 = 19008 #define Gd_Blk_MIA 132000 // 4sec分 25 * (12+ 5260 + 1 + 7) 5280 = 132000 #define Gd_Blk_MSA 35360 // 1sec分 34 * (12+ 1024 + 1 + 3) 1040 = 35360 #define Gd_Blk_HEPE 15232 // 4sec分 34 * (12+ 420 + 1 + 15) 448 = 15232 #define Gd_Blk_HEPI 69088 // 1sec分 34 * (12+ 2016 + 1 + 3) 2032 = 69088 #define Gd_Blk_ENA 49408 // 4sec分 16 * (12+ 3072 + 1 + 3) 3088 = 49408 #define Gd_Blk_MGFO 2016 // 1sec分 9 * (12+ 202 + 1 + 9) 224 = 2016 #define Gd_Blk_MGFI 2016 // 1sec分 9 * (12+ 202 + 1 + 9) 224 = 2016 #define Gd_Blk_MDM 144 // 60sec分 1 * (12+ 120 + 1 + 11) 144 = 144 #define Gd_Blk_MSAS 209408 // 4sec分 32 * (12+ 6528 + 1 + 3) 6544 = 209408 #define Gd_Blk_EWOE 1331200 // 4-5sec分 640 * (16+ 2058 + 1 + 5) 2080 = 1331200 (1spin) #define Gd_Blk_AM2P 1331200 // 4-5sec分 640 * (16+ 2058 + 1 + 5) 2080 = 1331200 (1spin) #define Gd_Blk_EFD 5632 // 4-5sec分 2 * (16+ 2570 + 1 + 5) 2592 = 5184 (1spin) --> 5632 #define Gd_Blk_EWOB 1986560 // 4-5sec分 640 * (16+ 3082 + 1 + 5) 3104 = 1986560 (1spin) #define Gd_Blk_SOR 4112 // 4sec分 1 * (12+ 4096 + 1 + 3) 4112 = 4112 // *** Packet Size **** #define Gd_Pac_MEA1 1056 // Num Pac: 18 #define Gd_Pac_MEA2 1056 // Num Pac: 18 #define Gd_Pac_MIA 5280 // Num Pac: 25 #define Gd_Pac_MSA 1040 // Num Pac: 34 #define Gd_Pac_HEPE 448 // Num Pac: 34 #define Gd_Pac_HEPI 2032 // Num Pac: 34 #define Gd_Pac_ENA 3088 // Num Pac: 16 #define Gd_Pac_MGFO 224 // Num Pac: 9 #define Gd_Pac_MGFI 224 // Num Pac: 9 #define Gd_Pac_MDM Gd_Blk_MDM // Num Pac: 1 #define Gd_Pac_MSAS 6544 // Num Pac: 32 #define Gd_Pac_EWOE 2080 // Num Pac: 640 #define Gd_Pac_AM2P 2080 // Num Pac: 640 #define Gd_Pac_EFD 2592 // Num Pac: 2 #define Gd_Pac_EWOB 3104 // Num Pac: 640 #define Gd_Pac_SOR Gd_Blk_SOR // Num Pac: 1 // *** ROM table: head address (0x1FC00000H〜0x1FCFFFFF) #define Gd_EWO_RomAdr 0x1FCFA720 // > 0x1FCFA6A0 > 0xBFCF64B0 // EWO 278B = 0x116[隙間あり] [5252B = 0x1484[隙間あり] #define Gd_EWOEFD_RomAdr 0x1FCFA840 // > 0x1FCFA7C0 > 0xBFCF7940 // EWO-EFD 516B = 0x204[隙間あり] #define Gd_MEF_RomAdr 0x1FCFAA50 // > 0x1FCFA9D0 > 0xBFCF7B50 // MEFISTO 512B = 0x200 #define Gd_MEA_RomAdr 0x1FCFAC50 // > 0x1FCFABD0 > 0xBFCF7D50 // MEA1/2 1440B = 0x5A0 #define Gd_MIA_RomAdr 0x1FCFB1F0 // > 0x1FCFB170 > 0xBFCF82F0 // MIA 1296B = 0x510 #define Gd_HEP_RomAdr 0x1FCFB700 // > 0x1FCFB680 > 0xBFCF8800 // HEP-e/i 2048B = 0x800 --> 1906B 0x780[隙間あり] #define Gd_ENA_RomAdr 0x1FCFBE80 // > 0x1FCFBE80 > 0xBFCF9000 // ENA 16768B = 0x4180 // LAST 0x1FD00000 // ********************************************************* // * VARIABLES - PARAMETERS * // ********************************************************* // ---------------------------- // Operation Status // ---------------------------- extern volatile unsigned char Guc_OpeMode; // 0:NRM 1:Cruise (1bit) // ---------------------------- // <<<< APP02 >>>> - HK (start) // ---------------------------- extern volatile unsigned char Guc_HK_link [0x15]; // (no in DPU-HK) HK Link status (1bit) extern volatile unsigned char Guc_HK_link0 [0x15]; // (no in DPU-HK) HK Link status (1bit) extern volatile unsigned char Guc_TLMhk_cmp [0x15]; // TLM-LM Dump: Compress [0:non 1:JPEG-rev 2:Math 3-7:After-User-COMP] // ----------------------------------------- // <<<< APP03/04 >>>> Mission-TLM: L/M // ----------------------------------------- extern volatile unsigned char Guc_TLMm_cmp [0x13]; // TLM-LM Dump: Compress [0:non 1:JPEG-rev 2:Math 3-7:After-User-COMP] extern volatile unsigned int Gui_TLMm_blockTime[0x13]; // TLM-LM Dump: Processed TI (LSB:31.25msec) // ----------------------------------------- // <<<< APP05 >>>> Mission-TLM: H // ----------------------------------------- extern unsigned char Guc_TLMh_enadis [0x11]; // TLM-H Dump: ENA/DIS (1bit) extern volatile unsigned char Guc_TLMh_cmp [0x13]; // TLM-H Dump: Compress [0:non 1:JPEG-rev 2:Math 3-7:After-User-COMP] extern volatile unsigned int Gui_TLMh_blockTime[0x13]; // TLM-H Dump: Processed TI (LSB:31.25msec) // ----------------------------------------- // <<<< APP03 >>>> TRIGGER DATA // ----------------------------------------- #define Gd_TRG_MAX 64 // 20 spin (80-100sec) (0:latest) #define Gd_TRG_CALC 10 #define Gd_TRG_SET 4 #define Gd_TRG_DPU1_MAX 0x530 // 41*32+9 = 1321B 0x529 #define Gd_TRG_DPU2_MAX 0x510 // 40*32+9 = 1291B 0x50B // *** DPU1 *** [TOTAL: 44B] extern unsigned int Gui_TRG1_Cnt; // Counter extern unsigned int Gui_TRG1_SpTI [Gd_TRG_MAX]; // TI at Sun Pulse (LSB:31.25 msec) 10B extern unsigned int Gui_TRG1_SpTI_s [Gd_TRG_MAX]; // TI at Sun Pulse (LSB: 1.925msec) extern unsigned short Gus_TRG1_Score [Gd_TRG_MAX]; // DPU1 - SCORE // extern short Gs_TRG1_MGFO_Bx [Gd_TRG_MAX]; // MGFO - Bx 8B extern short Gs_TRG1_MGFO_By [Gd_TRG_MAX]; // MGFO - By extern short Gs_TRG1_MGFO_Bz [Gd_TRG_MAX]; // MGFO - Bz extern unsigned short Gus_TRG1_MGFO_Brms [Gd_TRG_MAX]; // MGFO - Brms // extern unsigned short Gus_TRG1_MIA_N [Gd_TRG_MAX]; // MIA - N 17B extern short Gs_TRG1_MIA_Vx [Gd_TRG_MAX]; // MIA - Vx extern short Gs_TRG1_MIA_Vy [Gd_TRG_MAX]; // MIA - Vy extern short Gs_TRG1_MIA_Vz [Gd_TRG_MAX]; // MIA - Vz extern unsigned short Gus_TRG1_MIA_T [Gd_TRG_MAX]; // MIA - T extern unsigned char Guc_TRG1_MIA_Esp [Gd_TRG_MAX][7]; // MIA - ET // extern unsigned short Gus_TRG1_MEA_T [Gd_TRG_MAX]; // MEA - T 3B extern char Gc_TRG1_MSA_HIon [Gd_TRG_MAX]; // MSA - HeavyIon (0 or 1) // extern char Gc_TRG1_ENA [Gd_TRG_MAX]; // ENA - Trigger // extern unsigned short Gus_TRG1_HEPE_Flux [Gd_TRG_MAX]; // HEPE - FLUX 6B extern unsigned short Gus_TRG1_HEPE_FluxH[Gd_TRG_MAX]; // HEPE - FLUX //extern unsigned short Gus_TRG1_HEPI_Flux [Gd_TRG_MAX]; // HEPI - FLUX // *** DPU2 *** [TOTAL: 42B] extern unsigned int Gui_TRG2_Cnt; // Counter extern unsigned int Gui_TRG2_SpTI [Gd_TRG_MAX]; // TI at Sun Pulse (LSB:31.25 msec) 10B extern unsigned int Gui_TRG2_SpTI_s [Gd_TRG_MAX]; // TI at Sun Pulse (LSB: 1.925msec) extern unsigned short Gus_TRG2_Score [Gd_TRG_MAX]; // DPU1 - SCORE // extern short Gs_TRG2_EFD_Pot [Gd_TRG_MAX]; // EFD - Potential (+-100V 0->+MAX:0000->7FFF -1->-MAX:FFFF->8000 20B extern unsigned short Gus_TRG2_EFD_E [Gd_TRG_MAX]; // EFD - |E| (0-500mV/m) 0->+MAX:0000->FFFF extern unsigned short Gus_TRG2_EFD_Erms [Gd_TRG_MAX]; // EFD - |E|rms (0-500mV/m) 0->+MAX:0000->FFFF extern unsigned char Guc_TRG2_EWO_Esp [Gd_TRG_MAX][8]; // EWO - Spectrum (LOG dB) 0:-128dB FF:0dB (V/m/Hz) // Freq: 2step in 1 order (10Hz - 10k) extern unsigned char Guc_TRG2_EWO_Bsp [Gd_TRG_MAX][8]; // EWO - Spectrum (LOG dB) 0:-128dB FF:0dB (V/m/Hz) // Freq: 2step in 1 order (10Hz - 10k) // extern unsigned char Guc_TRG2_SOR_N [Gd_TRG_MAX]; // SORBET e- N Fp = (value) x 10Hz [DEC?] 4B extern unsigned char Guc_TRG2_SOR_T [Gd_TRG_MAX]; // SORBET e- Temp index QTN = (value) x 1dB [DEC?] // extern short Gs_TRG2_MGFI_Bx [Gd_TRG_MAX]; // MGFI - Bx 8B extern short Gs_TRG2_MGFI_By [Gd_TRG_MAX]; // MGFI - By extern short Gs_TRG2_MGFI_Bz [Gd_TRG_MAX]; // MGFI - Bz extern unsigned short Gus_TRG2_MGFI_Brms [Gd_TRG_MAX]; // MGFI - Brms // // ----------------------------------------- // EXCHANGE DATA // ----------------------------------------- // --- DATA EXCHANGE: MDM (to PWI) --- extern unsigned int Gui_MDM_data_TI; // MDM (for PWI): TI of DATA extern unsigned short Gus_MDM_data_dt; // MDM (for PWI): TI of DATA extern unsigned char Guc_MDM_data_priority; // MDM (for PWI): Priority B7(MSB) 1:event 0:noise extern unsigned char Guc_MDM_data[960]; // MDM - data extern int Gi_MDM_numPacket; // MDM - stored packet num. // SOR extern unsigned char Guc_SOR_LM; // ********************************************************* // * VARIABLES - WORK AREA * // ********************************************************* // --- Common Work area in APP02/03/04/05 --- #define Gd_dataHkLen 1280 // SDRAM-HK max length ***FM version (100804) [MDP-MW:408B]*** #define Gd_dataPacLen 0x2000 // Packet edit max length 8kB - max [Packet size to DMC: 1kB- max] #define Gd_dataRawLen 0xD000 // SDRAM-Block max length DPU1: max -- 49408B [ENA] (1 block) // DPU2: max -- 12416B [EWOB] (4 Packet) extern unsigned char G2uc_packet [Gd_dataHkLen ]; // for APP02: HK data reduction (overwritten by others!) extern unsigned char G03uc_packet[Gd_dataPacLen]; // for APP03: Packet data etc. (overwritten by others!) extern unsigned char G13uc_packet[Gd_dataPacLen]; // for APP13: Packet data etc. (overwritten by others!) extern unsigned char G04uc_packet[Gd_dataPacLen]; // for APP04: Packet data etc. (overwritten by others!) extern unsigned char G14uc_packet[Gd_dataPacLen]; // for APP14: Packet data etc. (overwritten by others!) extern unsigned char G5uc_packet [Gd_dataPacLen]; // for APP05: Packet data etc. (overwritten by others!) extern unsigned char G6uc_packet [Gd_dataPacLen]; // for APP06: Packet data etc. (overwritten by others!) // extern unsigned char G2uc_data [Gd_dataHkLen ]; // for APP02: HK data read (overwritten by others!) extern unsigned char G03uc_data [Gd_dataRawLen]; // for APP03: Block data etc. (overwritten by others!) extern unsigned char G13uc_data [Gd_dataRawLen]; // for APP13: Block data etc. (overwritten by others!) extern unsigned char G04uc_data [Gd_dataRawLen]; // for APP04: Block data etc. (overwritten by others!) extern unsigned char G14uc_data [Gd_dataRawLen]; // for APP14: Block data etc. (overwritten by others!) extern unsigned char G5uc_data [Gd_dataRawLen]; // for APP05: Block data etc. (overwritten by others!) // extern unsigned char Guc_cmdDummy[266]; // (no in DPU-HK) CMD buffer clear dummy // ********************************************************* // * 共有関数 [in Common.c] * // ********************************************************* // ************* Bit切り出し *************** // =========================================================================== // app_uc2bit **** Bit切り出し読出 **** // [INPUT] unsigned char uc_data original data // unsigned char uc_location bit location (0:LSB 7:MSB) // unsigned char uc_mask bit mask (0x01-0xFF) // unsigned char uc_shift output bit shift (0:at LSB 7:at MSB) // [return] unsigned char return value // =========================================================================== extern unsigned char app_uc2bit( unsigned char , unsigned char , unsigned char , unsigned char ); extern unsigned char app_1bit ( unsigned char uc_data ); /* // =========================================================================== // app_bit2uc **** Bit切り出し書込 **** // [INPUT] unsigned char uc_info Write data // unsigned char uc_mask bit mask (0x01-0xFF) // unsigned char uc_location bit location (0:LSB 7:MSB) // [OUTPUT] unsigned int uc_data modified from original data // =========================================================================== extern void app_bit2uc( unsigned char , unsigned char , unsigned char , unsigned char * ); */ // ************************************** // ************* TI:CALC *************** // ************************************** // =========================================================================== // app_ti_spinRate **** そのTIに該当するSpin Rate & Counter を返す **** // [INPUT] unsigned int ui_ti (LSB:1/512sec) // unsigned char uc_nodeId Node Id // unsigned int ui_spinCounter // [return] unsigned int Sun Pulse interval (LSB:1/512sec) // =========================================================================== extern unsigned int app_ti_spinRate ( unsigned int , unsigned char , unsigned int * ); // =========================================================================== // app_tiTrgSearch **** TIがマッチするTrigger timingを探す **** // [INPUT] unsigned int ui_ti (LSB:1/512sec) // unsigned char uc_nodeId Node Id // [return] int trigger ID counter (error: -1) // =========================================================================== extern int app_tiTrgSearch ( unsigned int , unsigned char ); // ************* HK:読出し *************** // =========================================================================== // app_HkRead **** 特定Node-IDのHK読出し **** // [INPUT] unsigned char uc_nodeId 対象Node-ID // [OUTPUT] unsigned char uc_data[] HKデータ(DPU以外:128) // [return] int 0:nrm それ以外:error // =========================================================================== extern int app_HkRead ( unsigned char, unsigned char [] ); // ************* CMD: 送信 *************** // =========================================================================== // app_PiCmd **** 特定Node-IDへのCMD発行 **** // [INPUT] unsigned char uc_nodeId 対象Node-ID // unsigned char uc_cmdBuff[163] CMD内容 (最大:162B) // int i_cmdSize CMDサイズ (最大:162B) // [return] int 0:nrm それ以外:error // =========================================================================== extern int app_PiCmd ( unsigned char, unsigned char [163], int ); /* // =========================================================================== // app_PiCmdAtOnce **** 複数Node-IDへのCMD準同時発行 **** // [INPUT] int i_nodeId [8] 対象Node-ID (最大:8へ) ***注意: intである*** // unsigned char uc_cmdBuff[8][163] CMD内容 (最大:8へ 最大:162B) // int i_cmdSize [8] CMDサイズ (最大:8へ 最大:162B) // [return] int 0:nrm それ以外:error // =========================================================================== extern int app_PiCmdAtOnce ( int [8], unsigned char [8][163], int [8] ); */ // =========================================================================== // app_DmcRequestCmd **** DMCへのRequestCMD発行 **** // [INPUT] unsigned char Request Code // PCD-MEA1-PSU-OFF 0x08 PCD-MSAS-PSU-OFF 0x18 // PCD-MEA2-PSU-OFF 0x09 PCD-MGFI-PSU-OFF 0x19 // PCD-MIA-PSU-OFF 0x0A PCD-MDM-PSU-OFF 0x1A // PCD-MSA-PSU-OFF 0x0B PCD-MTR-PSU-OFF 0x1B // PCD-HEPE-PSU-OFF 0x0C PCD-PME-PSU-OFF 0x1C // PCD-HEPI-PSU-OFF 0x0D MDP2-IPD-ALL-OFF 0x1D // PCD-ENA-PSU-OFF 0x0E MDP2-IPD-MEF-OFF 0x1E // MDP1-IPD-ALL-OFF 0x0F MDP2-IPD-MWE-OFF 0x1F // [return] int 0:OK -1:Code error! // =========================================================================== extern int app_DmcRequestCmd ( unsigned char ); // ************* DS: SDRAM操作 *************** // =========================================================================== // app_CheckNonProcBlock *** "ui_TLM_blockTime" 直後のTIを持ったBlockを有するバッファを探す (Long or Short or Nothing) // [INPUT] unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // unsigned int ui_TLM_blockTime 処理済データ(等)のTI // [OUTPUT] unsigned int *uip_TLM_blockTimeNew 当該バッファ最新ブロックのTI // [return] int 選ばれたBuffer-ID (0:L, 1:S, -1:no data) // =========================================================================== extern int app_CheckNonProcBlock ( unsigned char, unsigned char, unsigned int, unsigned int *); // =========================================================================== // app_SetNonProcBlock ***FUNC*** "ui_TLM_blockTime" 直後のTIを持ったBlockをみつける *** // [INPUT] unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // int i_bufId Buffer-ID // unsigned int ui_TLM_blockTime 処理済データ(等)のTI // [OUTPUT] M_T_BLOCK_INFO *tp_blockInfo Block Info // [return] int >0:Num of blocks, <=0:error // =========================================================================== extern int app_SetNonProcBlock ( unsigned char, unsigned char, int, unsigned int, M_T_BLOCK_INFO *); // =========================================================================== // app_SetTlmhBlock *** "ui_startTI" のTIを持ったBlockをみつける *** // [INPUT] unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // unsigned int ui_startTI 指定のBlock TI [0xFFFFFFFF: NEWEST] // [OUTPUT] M_T_BLOCK_INFO *tp_blockInfo Block Info // unsigned int ui_createTime Block 生成開始時衛星時刻(1LSB=31,25ms) // int i_replyNum Block 登録Read-Reply個数 // char c_invalidFlg Block 内データ異常 [0:異常なし 1:異常あり] // unsigned int ui_blockIndex LongBuffer/ShortBuffer 内Block特定番号 (先頭Block:0) // (return) >0:Num of blocks, <=0:No data (error) // =========================================================================== extern int app_SetTlmHBlock ( unsigned char, unsigned char, unsigned int, M_T_BLOCK_INFO *); // =========================================================================== // app_NextBlock *** 次の Block へ移動 *** // [INPUT] unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // int i_bufId Buffer-ID // [OUTPUT] M_T_BLOCK_INFO *tp_blockInfo Block Info // [return] int 0:nrm others:error // =========================================================================== extern int app_NextBlock ( unsigned char, unsigned char, int, M_T_BLOCK_INFO *); // =========================================================================== // app_GetBlock *** Block DataのSRAM展開 *** // [INPUT] unsigned char uc_appNum Application number (02-05) // unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // int i_bufId Buffer-ID // M_T_BLOCK_INFO *tp_blockInfo Block Info // [OUTPUT] unsigned char uc_data[] Block data // [return] int 0:nrm others:error // =========================================================================== extern int app_GetBlock ( unsigned char, unsigned char, unsigned char, int, M_T_BLOCK_INFO *, unsigned char []); // =========================================================================== // app_GetPacket *** Block Data内の「Packetデータ」の一部SRAM展開 *** // [INPUT] unsigned char uc_appNum Application number (02-05) // unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // int i_bufId Buffer-ID // M_T_BLOCK_INFO *tp_blockInfo Block Info // int i_packetNo Packet No (先頭:0) // int i_offset 読出開始番地(8の倍数) // int i_dataSize 読出サイズ (8の倍数) // [OUTPUT] unsigned char uc_data[] Block data // [return] int 0:nrm others:error // =========================================================================== extern int app_GetPacket ( unsigned char, unsigned char, unsigned char, int, M_T_BLOCK_INFO *, int, int, int, unsigned char []); // =========================================================================== // app_ReleaseBlock // **************************************************************** // ***FUNC*** 古い順から「i_blockCnt」個のBlockを削除 // **************************************************************** // [INPUT] unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // int i_bufId Buffer-ID // int i_blockCnt Num of released blocks // [return] int 0:nrm others:error // =========================================================================== extern int app_ReleaseBlock( unsigned char uc_nodeId, unsigned char uc_dataId, int i_bufId, int i_blockCnt ); // ************* TLM: 送信 *************** // =========================================================================== // app_PutTlm ---- Non-Compressed / JPEG-REV / Pre-compressed telemetry ---- // **************************************************************** // ***FUNC*** Non-Compressed / JPEG-REV / Pre-compressed telemetry // **************************************************************** // [INPUT] unsigned char uc_appNum Application number (02-05) // unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // unsigned char uc_headId Header-ID (for PID-ID, CAT-ID setting) // unsigned char uc_drId DR-ID (for CAT-ID) [0:HK 1:OS 2:L 3:M 4-9:H(0-5)] // unsigned char uc_cmp Comp mode [0:non 1:JPEG-rev 2:Math 3-7:After-User-COMP] // unsigned char uc_pacId Packet ID <<<< USER-DEF: 0x00- 0xFF >>>> // unsigned int ui_time Data TI <<<< USER-DEF: 0x00000000-0xFFFFFFFF >>>> // unsigned char uc_comment[], Comment <<<< USER-DEF: <128B >>>> // unsigned char uc_sizeComment Comment - Size <<<< USER-DEF: <128B >>>> // unsigned char uc_data[] Data <<<< USER-DEF: <0x1E00 >>>> // int i_sizeData Data - Size <<<< USER-DEF: <0x1E00 >>>> // [return] int 0:nrm others:error // =========================================================================== extern int app_PutTlm ( unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char [], unsigned char, unsigned char [], int ); /* // =========================================================================== // app_PutTlmJpegNR ---- JPEG Non-Reversible telemetry ---- // **************************************************************** // ***FUNC*** JPEG Non-Reversible Compressed TLM // **************************************************************** // [INPUT] unsigned char uc_appNum Application number (02-05) // unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // unsigned char uc_headId Header-ID (for PID-ID, CAT-ID setting) // unsigned char uc_drId DR-ID (for CAT-ID) [0:HK 1:OS 2:L 3:M 4-9:H(0-5)] // unsigned char uc_pacId Packet ID <<<< USER-DEF: 0x00- 0xFF >>>> // unsigned int ui_time Data TI <<<< USER-DEF: 0x00000000-0xFFFFFFFF >>>> // unsigned char uc_comment[], Comment <<<< USER-DEF: <128B >>>> // unsigned char uc_sizeComment Comment - Size <<<< USER-DEF: <128B >>>> // unsigned char uc_data[] Data <<<< USER-DEF: <0x2000 >>>> // int i_sizeData Data - Size <<<< USER-DEF: <0x2000 >>>> // int i_sizeX Data Size: X,Y [X*Y: <0x2000 X,Y:8N] // int i_sizeY // [return] int 0:nrm others:error // =========================================================================== extern int app_PutTlmJpegNR ( unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char [], unsigned char, unsigned char [], int, int, int ); */ /* // =========================================================================== // app_PutTlmJpegUs ---- JPEG REV/Non-Rev: Unsigned-Short version ---- // [pre-sorted by USER] // [INPUT] unsigned char uc_appNum Application number (02-05) // unsigned char uc_nodeId Node-ID // unsigned char uc_dataId Data-ID // unsigned char uc_headId Header-ID (for PID-ID, CAT-ID setting) // unsigned char uc_drId DR-ID (for CAT-ID) [0:HK 1:OS 2:L 3:M 4-9:H(0-5)] // unsigned char uc_cmp Comp mode [0:non 1:JPEG-rev 2:Math 3-7:After-User-COMP] // unsigned char uc_pacId Packet ID <<<< USER-DEF: 0x00- 0xFF >>>> // unsigned int ui_time Data TI <<<< USER-DEF: 0x00000000-0xFFFFFFFF >>>> // unsigned char uc_comment[], Comment <<<< USER-DEF: <128B >>>> // unsigned char uc_sizeComment Comment - Size <<<< USER-DEF: <128B >>>> // unsigned short us_data[] Data <<<< USER-DEF: <0x2000 >>>> // int i_sizeData Data - Size <<<< USER-DEF: <0x2000 >>>> // int i_sizeX Data Size: X,Y [X*Y: <0x2000 X,Y:8N] // int i_sizeY // [return] int 0:nrm others:error // =========================================================================== extern int app_PutTlmJpegUs ( unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char [], unsigned char, unsigned short [], int, int, int ); */ // ************* MEM load *************** // =========================================================================== // int app_readROM **** E2PROM読み出し **** // [INPUT] unsigned int ui_romAddress, ROM address [0 - 0xFFFFF] // unsigned int ui_sizeData data size // unsigned char uc_romData[] ROM data // [return] int 0:nrm それ以外:error // =========================================================================== extern int app_readROM ( unsigned int, unsigned int, unsigned char [] ); // =========================================================================== // int app_PiMemLoad **** PI機器へ任意アドレスMemory Load **** // [INPUT] unsigned char uc_nodeId 対象Node-ID // unsigned int ui_memAddress, Load address // unsigned char uc_memData[239], Load data (239B max) // int i_sizeData) Load data size // [return] int 0:nrm それ以外:error // =========================================================================== extern int app_PiMemLoad ( unsigned char, unsigned int, unsigned char [239], int ); // =========================================================================== // app_WhoWhere **** 特定Node-IDのHK読出し **** // [INPUT] unsigned char uc_appNum Application番号 // unsigned char uc_who Who? [Head-ID] // unsigned char uc_where Where [Any] // =========================================================================== void app_WhoWhere ( unsigned char, unsigned char, unsigned char uc_where ); // ********************************************************* // * 共有関数 [in app01_DPU.c] * // ********************************************************* extern unsigned char app01_BufCollectSet ( unsigned char, unsigned char ); // MD*U_BUFF_CLCTSET (node-ID) (1:ENA 0:DIS) extern unsigned char app01_BufOvwSet ( unsigned char, unsigned char ); // MD*U_BUFF_OVWSET (node-ID) (0*:Long 1*: Short / *1:ENA *0:DIS) extern unsigned char app01_BufChange ( unsigned char, unsigned char ); // MD*U_BUFF_SHORT/LONG (node-ID) (data-ID) // *** Macro: APP01 *** extern unsigned char app01_MEA1 ( unsigned int , unsigned char *, int ); extern unsigned char app01_MEA2 ( unsigned int , unsigned char *, int ); extern unsigned char app01_MIA ( unsigned int , unsigned char *, int ); extern unsigned char app01_MSA ( unsigned int , unsigned char *, int ); extern unsigned char app01_HEPE ( unsigned int , unsigned char *, int ); extern unsigned char app01_HEPI ( unsigned int , unsigned char *, int ); extern unsigned char app01_ENA ( unsigned int , unsigned char *, int ); extern unsigned char app01_MGFO ( unsigned int , unsigned char *, int ); extern unsigned char app01_MGFI ( unsigned int , unsigned char *, int ); extern unsigned char app01_EWO ( unsigned int , unsigned char *, int ); extern unsigned char app01_MEF ( unsigned int , unsigned char *, int ); extern unsigned char app01_MWE ( unsigned int , unsigned char *, int ); // extern unsigned char app01_DPU ( unsigned int, unsigned char *, int ); // *** Macro: APP02 *** extern int app02_MEA1 ( unsigned char *, unsigned int, unsigned char); extern int app02_MEA2 ( unsigned char *, unsigned int, unsigned char); extern int app02_MIA ( unsigned char *, unsigned int, unsigned char); extern int app02_MSA ( unsigned char *, unsigned int, unsigned char); extern int app02_HEPE ( unsigned char *, unsigned int, unsigned char); extern int app02_HEPI ( unsigned char *, unsigned int, unsigned char); extern int app02_ENA ( unsigned char *, unsigned int, unsigned char); extern int app02_MGFO ( unsigned char *, unsigned int, unsigned char); extern int app02_MGFI ( unsigned char *, unsigned int, unsigned char); //int app02_MDM ( unsigned char *, unsigned int, unsigned char); extern int app02_MSAS ( unsigned char *, unsigned int, unsigned char); extern int app02_EWO ( unsigned char *, unsigned int, unsigned char); extern int app02_SOR ( unsigned char *, unsigned int, unsigned char); extern int app02_MEF ( unsigned char *, unsigned int, unsigned char); extern int app02_MWE ( unsigned char *, unsigned int, unsigned char); // extern int app02_DPU ( unsigned char *, unsigned int, unsigned char); // *** Macro: app03_* *** extern void app03_MEA1 ( unsigned int ); // SunPulse-Counter extern void app03_MEA2 ( unsigned int ); // SunPulse-Counter extern void app03_MIA ( unsigned int ); // SunPulse-Counter extern void app03_MSA ( unsigned int ); // SunPulse-Counter extern void app03_HEPE ( unsigned int ); // SunPulse-Counter extern void app03_HEPI ( unsigned int ); // SunPulse-Counter extern void app03_MGFO ( unsigned int ); // SunPulse-Counter // extern void app03_DPU1 ( unsigned int ); // SunPulse-Counter extern void app03_DPU1_SPIN ( unsigned int, unsigned int, unsigned int ); extern int app03_DPU1_sync ( void ); // *** Macro: app04_* *** extern void app04_ENA ( unsigned int, unsigned int ); // *** Macro: app05_* *** extern int app05_MEA1 ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_MEA2 ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_MIA ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_MSA ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_HEPE ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_HEPI ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_MGFO ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_MGFI ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_EWOE ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_EWOB ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_EFD ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID extern int app05_AM2P ( unsigned int, unsigned int, unsigned char ); // start-TI, end-TI, DR-ID // *** Macro: app13_* *** extern void app13_MGFI ( unsigned int ); // SunPulse-Counter extern void app13_MDM ( unsigned int ); // SunPulse-Counter extern void app13_EWOE ( unsigned int ); // SunPulse-Counter extern void app13_EWOB ( unsigned int ); // SunPulse-Counter extern void app13_EFD ( unsigned int ); // SunPulse-Counter extern void app13_AM2P ( unsigned int ); // SunPulse-Counter extern void app13_SOR ( unsigned int ); // SunPulse-Counter // extern void app13_DPU2 ( unsigned int ); // SunPulse-Counter extern void app13_DPU2_SPIN ( unsigned int, unsigned int, unsigned int ); extern int app13_DPU2_sync ( void ); // *** Macro: app14_* *** extern void app14_MSASI ( unsigned int ); extern void app14_ENA ( unsigned int ); extern void app14_AM2P ( unsigned int ); extern void app14_EWO_CAL ( unsigned int ); extern void app14_EWO_WFC ( unsigned int ); #endif /* _DPU_API_COMMON_H_ */