/******************************************************************************* * モジュール名称 :アプリケーション02 - HK read & anaylses - MPPE/HEP * * 参考 : app02_DPU.c を参照 * * 注意 : EDIT権限は、MPPE/HEP組 * * 作成日・作成者 :2010/07/02 Y.K. * * :2012/1/7 rev. by YK * * : 2013/01/14 T.T. * *******************************************************************************/ #include "app_common.h" #include "app_MPPE-HEP.h" #define d_SIZEhk_HEPE 128 // HK-size 32 #define d_SIZEhk_HEPI 128 // HK-size 32 #define d_Lcl_HEPE_ASIC_adr 2 // 暫定値 #define d_Lcl_HEPE_TEMP_adr1 (2+72) // 暫定値 #define d_Lcl_HEPE_TEMP_adr2 (2+72+24) // 暫定値 #define d_Lcl_HEPI_ASIC_adr 618 // 暫定値 #define d_Lcl_HEPI_TEMP_adr1 (618+72) // 暫定値 #define d_Lcl_HEPI_TEMP_adr2 (618+72+24) // 暫定値 // ******************************************************************** // *** HEPE : HK analyses, HW CMD production, HK packet production *** // ******************************************************************** int app02_HEPE ( unsigned char uc_dataHK[], unsigned int ui_counter, unsigned char uc_link ) { // unsigned char uc_dpuSwHk[0x100]; // ----- corrected by YK: 以降すべてG2uc_packetに差し替え ----- int i_dpuSwHK_size = 0; int i; int i_flag; char uc_flag; // ************************* // *** HW HK analyses *** // ************************* if ( uc_link ) { // --- HW-ON --- } else { // --- HW-OFF --- for (i=0; i5){ // 20130503 Guc_HEPE_INIT_TEMP_para_flag=0; Guc_HEPE_INIT_TEMP_para_cnt=0; }else{ if(Guc_HEPE_INIT_TEMP_para_cnt==0){ i_flag = app_readROM(Gd_HEP_RomAdr + d_Lcl_HEPE_TEMP_adr1,24,&Guc_HEPE_TEMP_para[0]) ; uc_flag = app_PiCmd(Gd_N_HEPE, &(Guc_HEPE_TEMP_para[0]),24); // Guc_HEPE_INIT_TEMP_para_cnt++; }else{ i_flag = app_readROM(Gd_HEP_RomAdr + d_Lcl_HEPE_TEMP_adr2+104*(Guc_HEPE_INIT_TEMP_para_cnt-1),104,&Guc_HEPE_TEMP_para[0]) ; uc_flag = app_PiCmd(Gd_N_HEPE, &Guc_HEPE_TEMP_para[0],104); } Guc_HEPE_INIT_TEMP_para_cnt++; } } // timer counter // add 20180108 Gus_HEP_timer_counter++; if(Gus_HEP_timer_counter > 14400 ) { // after 4Hour then reset Gus_HEP_timer_counter = 0; Guc_HEP_TLM_stack_num_max = 15; // set nominal stack number } // ************************* // *** SW/HK production *** // ************************* if ( uc_link ) { // --- HW-ON --- } else { // --- HW-OFF --- } // Soft HK G2uc_packet[0] = Guc_HEPE_INIT_ASIC_flag; G2uc_packet[1] = Guc_HEPE_INIT_ASIC_cnt; G2uc_packet[2] = Guc_HEPE_INIT_TEMP_para_flag; G2uc_packet[3] = Guc_HEPE_INIT_TEMP_para_cnt; G2uc_packet[4] = Guc_HEPE_CAL_flag; G2uc_packet[5] = Guc_HEPE_CAL_counter; i_dpuSwHK_size = 6; // ***************************** // *** HK Packet production *** // ***************************** if ( i_dpuSwHK_size > 0) memcpy( &uc_dataHK[d_SIZEhk_HEPE], G2uc_packet, i_dpuSwHK_size ); else i_dpuSwHK_size = 0; // ****************************** // *** HK Production in 'OFF *** // ****************************** if ( uc_link == 0 ) return( 0 ); else return( d_SIZEhk_HEPE+i_dpuSwHK_size ); } // ******************************************************************** // *** HEPI : HK analyses, HW CMD production, HK packet production *** // ******************************************************************** int app02_HEPI ( unsigned char uc_dataHK[], unsigned int ui_counter, unsigned char uc_link ) { // unsigned char uc_dpuSwHk[0x100]; // ----- corrected by YK: 以降すべてG2uc_packetに差し替え ----- int i_dpuSwHK_size = 0; int i; int i_flag; unsigned char uc_flag; // ************************* // *** HW HK analyses *** // ************************* if ( uc_link ) { // --- HW-ON --- // Latch-up check & REQ to DMC if(Guc_HEPI_USR_REQ_COM_flg == 1){ app_DmcRequestCmd(0x0D); Guc_HEPI_USR_REQ_COM_flg = 0; } } else { // --- HW-OFF --- for (i=0; i5) { // 20130503 Guc_HEPI_INIT_TEMP_para_flag=0; Guc_HEPI_INIT_TEMP_para_cnt=0; }else{ if(Guc_HEPI_INIT_TEMP_para_cnt==0){ i_flag = app_readROM(Gd_HEP_RomAdr + d_Lcl_HEPI_TEMP_adr1+24*Guc_HEPI_INIT_TEMP_para_cnt,24,&Guc_HEPI_TEMP_para[0]) ; uc_flag = app_PiCmd(Gd_N_HEPI, &Guc_HEPI_TEMP_para[0],24); // Guc_HEPI_INIT_TEMP_para_cnt++; }else{ i_flag = app_readROM(Gd_HEP_RomAdr + d_Lcl_HEPI_TEMP_adr2+104*(Guc_HEPI_INIT_TEMP_para_cnt-1),104,&Guc_HEPI_TEMP_para[0]) ; uc_flag = app_PiCmd(Gd_N_HEPI, &Guc_HEPI_TEMP_para[0],104); } Guc_HEPI_INIT_TEMP_para_cnt++; } } //// Soft HK 今後追加 // // // G2uc_packet[0] = Guc_HEPI_INIT_ASIC_flag; G2uc_packet[1] = Guc_HEPI_INIT_ASIC_cnt; G2uc_packet[2] = Guc_HEPI_INIT_TEMP_para_flag; G2uc_packet[3] = Guc_HEPI_INIT_TEMP_para_cnt; G2uc_packet[4] = Guc_HEPI_CAL_flag; G2uc_packet[5] = Guc_HEPI_CAL_counter; i_dpuSwHK_size = 6; // ************************* // ***************************** // *** HK Packet production *** // ***************************** if ( i_dpuSwHK_size > 0) memcpy( &uc_dataHK[d_SIZEhk_HEPI], G2uc_packet, i_dpuSwHK_size ); else i_dpuSwHK_size = 0; // ****************************** // *** HK Production in 'OFF *** // ****************************** if ( uc_link == 0 ) return( 0 ); else return( d_SIZEhk_HEPI+i_dpuSwHK_size ); }