/******************************************************************************* * モジュール名称 :Application Header * * モジュールラベル :app_rdn_core.h * * タスク区分 :MDP-コア部 ヘッダ * * 機能 :define/Struct/Variable/Prototype * * 使用上の注意 :特になし * * 作成日・作成者 :2013/5/16 Y.K. * *******************************************************************************/ #ifndef _APP_RDN_CORE_H_ #define _APP_RDN_CORE_H_ #include "rap_api.h" #include "dpu_api.h" #include "app_core.h" #include "app_rdn_core.h" #include "rap_define.h" extern char Gc_CHID[ 0x15 ]; #ifdef _APP_RDN_ // *** Redundancy table: head address (0x08100000 - 0x17F00000 -- 2MB interval [total:132MB] ) #define Gd_DPU_RdnStart 0x08200000 #define Gd_DPU_RdnLen 0x04200000 // END: 0C220000 #define Gd_DPU_RdnAdr 0x0C400000 // #define Gd_DPU_ErrLogAdr 0x0C500000 // ERR-LOG (4kB) // --- DPU1 case (32sec) --- #define Gd_MEA1_RdnAdr 0x08200000 // Data-4spin/8block: 152064B --> 32s/16block 19008x16 = 4A400z #define Gd_MEA2_RdnAdr 0x08400000 // Data-4spin/8block: 152064B --> 32s/16block 19008x16 = 4A400 #define Gd_MIA_RdnAdr 0x08600000 // Data-4spin/4block: 528000B --> 32s/ 8block 132000x 8 = 101D00 #define Gd_MSA_RdnAdr 0x08800000 // Data-4spin/16block: 565760B --> 32s/32block 35360x32 = 114400 #define Gd_HEPE_RdnAdr 0x08A00000 // Data-4spin/4block): 60928B --> 32s/ 8block 15232x 8 = 1DC00 #define Gd_HEPI_RdnAdr 0x08C00000 // Data-4spin/16block: 1105408B --> 32s/32block 69008x32 = 21B200 #define Gd_ENA_RdnAdr 0x09000000 // Data-4spin/4block: 197632B --> 32s/16block 49408x 8 = 60800 #define Gd_MGFO_RdnAdr 0x09200000 // Data-16sec/16block: 32256B --> 32s/ 8block 2016x32 = FC00 #define Gd_MGFO_RdnAdrE 0x09400000 // // // --- DPU2 case (32sec) --- #define Gd_MGFI_RdnAdr 0x08200000 // Data-16sec/16block: 32256B --> 32s/ 8block 2016x32 = FC00 #define Gd_MDM_RdnAdr 0x08400000 // Data-4min/4block: 576BB --> 16m/16block 144x16 = 1BD8 #define Gd_MSAS_RdnAdr 0x08600000 // Data-16spin/16block: 3350528B --> 40s/ 8block 209408x 8 = 199000 [209408x117 = 175DA00] // #define Gd_EWO_RdnAdr 0x09E00000 // Data-16sec/4block: EWOE+AM2P+EFD+EWOB #define Gd_SOR_RdnAdr 0x0C400000 // Data-16sec/4block: 16448B --> 32s/ 8block 4112x 8 = 8080 #define Gd_MEF_RdnAdr 0x0C600000 // HK-only #define Gd_MWE_RdnAdr 0x0C800000 // HK-only #define Gd_MWE_RdnAdrE 0x0CA00000 // #define Gd_EWOE_RdnAdr 0x09E20000 // Data-16sec/5block: [6684672 / 1331200 = 5.0 ] x8 A28000 --> 10682368 / 1331200 = 8.0 #define Gd_EWOE_RdnAdrE 0x0A850000 #define Gd_AM2P_RdnAdr 0x0A860000 // Data-16sec/5block: [6684672 / 1331200 = 5.0 ] x8 A28000 --> 10682368 / 1331200 = 8.0 #define Gd_AM2P_RdnAdrE 0x0B290000 #define Gd_EFD_RdnAdr 0x0B2A0000 // Data-16sec/5block: [65536 / 5184 = 12.6 ] x8 A200 --> 65536 / 5184 = 12 #define Gd_EFD_RdnAdrE 0x0B2B0000 #define Gd_EWOB_RdnAdr 0x0B2C0000 // Data-16sec/5block: [9961472 / 1986560 = 5.1 ] x8 F28000 --> 15925248 / 1986560 = 8.0 #define Gd_EWOB_RdnAdrE 0x0C1F0000 #define Gd_DPU_EWOLogAdr 0x0C200000 // EWO-LOG (64kB) /* #define Gd_EWO_RdnAdr 0x08A00000 // Data-16sec/4block: EWOE+AM2P+EFD+EWOB #define Gd_SOR_RdnAdr 0x0A200000 // Data-16sec/4block: 16448B --> 32s/ 8block 4112x 8 = 8080 #define Gd_MEF_RdnAdr 0x0A400000 // HK-only #define Gd_MWE_RdnAdr 0x0A600000 // HK-only #define Gd_MWE_RdnAdrE 0x0A800000 // #define Gd_EWOE_RdnAdr 0x08A20000 // Data-16sec/5block: [6684672 / 1331200 = 5.0 ] #define Gd_EWOE_RdnAdrE 0x09080000 #define Gd_AM2P_RdnAdr 0x09100000 // Data-16sec/5block: [6684672 / 1331200 = 5.0 ] #define Gd_AM2P_RdnAdrE 0x09760000 #define Gd_EFD_RdnAdr 0x09780000 // Data-16sec/5block: [65536 / 5184 = 12.6 ] #define Gd_EFD_RdnAdrE 0x09790000 #define Gd_EWOB_RdnAdr 0x09800000 // Data-16sec/5block: [9961472 / 1986560 = 5.1 ] #define Gd_EWOB_RdnAdrE 0x0A180000 #define Gd_DPU_EWOLogAdr 0x0A1A0000 // EWO-LOG (64kB) */ // ********************************************************* // * VARIABLES - PARAMETERS * // ********************************************************* extern unsigned char Guc_rdn_MwHK [200]; // HK-DATA in RDN-DPU (non in DPU-HK) extern unsigned char Guc_rdn_PiHK [8][128]; // HK-DATA in RDN-DPU (non in DPU-HK) extern unsigned char Guc_rdn_HK [144]; // HK-DATA in RDN-DPU (non in DPU-HK) extern unsigned char Guc_rdn_missionClct [0x13]; // Mission Collect in RDN-DPU ( in Sys-HK) extern unsigned char Guc_rdn_missionOvw [0x13]; // Mission OverWrite in RDN-DPU ****TBA in DPU-HK // extern unsigned char Guc_rdn_EWOClctStatus[80]; // EWO-CLCT-STATUS (from 0x12) // extern unsigned short Gus_rdn_TlmCnt[0x13]; // Mission Collect counter extern unsigned int Gui_rdn_TlmTi [0x13]; // Mission Collect TI (min:1/32sec) extern unsigned short Gus_rdn_TlmDT [0x13]; // Mission Collect TI interval (min:1/32sec) // ---------------------------- // <<<< APP06 >>>> - Redundancy // ---------------------------- // *** CMD *** // MEM-LOAD extern unsigned char Guc_RDN_MemLoad_NID; // (in RDN-SysHK) extern unsigned int Gui_RDN_MemLoad_Address; // --- extern unsigned char Guc_RDN_MemLoad_Size; // --- extern unsigned char Guc_RDN_MemLoad_Data[163]; // --- extern int Gi_RDN_MemLoad_Ena; // MEM-DUMP extern unsigned char Guc_RDN_MemDump_NID; // (in RDN-SysHK) extern unsigned char Guc_RDN_MemDump_Times; // --- extern unsigned int Gui_RDN_MemDump_Address; // --- // CMD // #define Gd_rdn_CMDBUFF_SIZE 266 // CMD-Buffer : size ****Changed for FM (100804)**** // #define Gd_rdn_CMDBUFF_NO 0x10 // CMD-Buffer : number typedef struct { unsigned char uc_NID [Gd_CMDBUFF_NO]; // --- unsigned char uc_size[Gd_CMDBUFF_NO]; // --- unsigned char uc_buff[Gd_CMDBUFF_NO][Gd_CMDBUFF_SIZE]; // --- unsigned char uc_Num; // --- unsigned char uc_GetErr; // --- } RDN_CMD_BUFF; extern RDN_CMD_BUFF Gt_RDN_cmd; // ---- // Init Counter extern unsigned int Gui_InitRdn; // *** Block cntl # define Gd_rdn_MaxBlock 117 typedef struct M_T_RDN_BLOCK { unsigned int ui_createTime[Gd_rdn_MaxBlock]; // TI of each Block int i_replyNum [Gd_rdn_MaxBlock]; // Reply Num of each Block char c_invalidFlg [Gd_rdn_MaxBlock]; // Invalid Flag of each Block // unsigned int ui_AddStart; // Block address of each Block unsigned char uc_BlockNumMax; // Max block num unsigned short us_BlockPacNum; // Packet Num. in 1 block // unsigned char uc_BlockLatest; // Latest block num unsigned char uc_BlockOldest; // Oldest block num unsigned char uc_BlockWrite; // Write block num } M_T_RDN_BLOCK; extern M_T_RDN_BLOCK Gt_rdnBLOCK [0x13]; // extern M_T_RDN_BLOCK Gt_rdnBLOCK2[0x13]; // ****TMP**** // ************************************** // * 共有関数 * // ************************************** // APP01 extern unsigned char app01_InitVar_rdn(); // extern unsigned char app01_ErrClr_rdn(); // [app_rdn_core.c] extern int app_Rdn_nodeId ( unsigned char ); extern int app_Rdn_EWOclctStart ( int ); // extern int app_Rdn_EWOclct (); // extern int app_Rdn_MissionClct ( unsigned char, int ); // extern int app_Rdn_getBlockNo ( unsigned char, unsigned char, int * ); extern int app_Rdn_seekNewestOldestBlock( unsigned char, unsigned char, int, M_T_BLOCK_INFO * ); extern int app_Rdn_shiftBlock ( unsigned char, unsigned char, int, M_T_BLOCK_INFO * ); // extern int app_Rdn_getBlock ( unsigned char, unsigned char, M_T_BLOCK_INFO *, unsigned char []); extern int app_Rdn_getReply ( unsigned char, unsigned char, M_T_BLOCK_INFO *, int, int, int, unsigned char []); // extern int app_Rdn_getData ( unsigned int, int, unsigned char * ); extern int app_Rdn_memDump ( int, unsigned char * ); #endif // _APP_RDN_ #endif /* _APP_RDN_CORE_H_ */