|
|
@@ -129,23 +129,23 @@ static bool select_channel(uint8_t ch_x)
|
|
|
{
|
|
|
case CH1_out:
|
|
|
{
|
|
|
- SEL_0_H;
|
|
|
- SEL_1_H;
|
|
|
- SEL_2_H;
|
|
|
+ SEL_0_L;
|
|
|
+ SEL_1_L;
|
|
|
+ SEL_2_L;
|
|
|
}
|
|
|
break;
|
|
|
case CH2_out:
|
|
|
{
|
|
|
- SEL_0_L;
|
|
|
- SEL_1_H;
|
|
|
- SEL_2_H;
|
|
|
+ SEL_0_H;
|
|
|
+ SEL_1_L;
|
|
|
+ SEL_2_L;
|
|
|
}
|
|
|
break;
|
|
|
case CH3_out:
|
|
|
{
|
|
|
- SEL_0_H;
|
|
|
- SEL_1_L;
|
|
|
- SEL_2_H;
|
|
|
+ SEL_0_L;
|
|
|
+ SEL_1_H;
|
|
|
+ SEL_2_L;
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
@@ -493,6 +493,7 @@ static void key_io_control()
|
|
|
|
|
|
int main(void)
|
|
|
{
|
|
|
+ AC3PPDU_active_chn = Output_ChN_default;
|
|
|
app_init(&meta_data);
|
|
|
InitSysTick();
|
|
|
InitLED();
|
|
|
@@ -511,10 +512,9 @@ int main(void)
|
|
|
{
|
|
|
hlw8110_init(i);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
ReadEeprom();
|
|
|
- AC3PPDU_active_chn = Output_ChN_default;
|
|
|
+
|
|
|
strcpy(infomation.date,__DATE__);
|
|
|
strcat(infomation.date," ");
|
|
|
strcat(infomation.date,__TIME__);
|
|
|
@@ -553,13 +553,13 @@ int main(void)
|
|
|
AC3PPDU_RL_N_time.RL_ontime = AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr]; // add by liyi
|
|
|
orderFlag_N = true;
|
|
|
#endif
|
|
|
- AC3PPDU_active_chn = Output_ChN_default; //bug
|
|
|
|
|
|
|
|
|
AC3PPDU_Modbus_Reg[Mb_Dbuff_FT_ST_Addr] = AC3PPDU_APlack_Fault + AC3PPDU_BPlack_Fault;
|
|
|
AC3PPDU_Modbus_Reg[Mb_Dbuff_FT_ST_Addr] += AC3PPDU_CPlack_Fault;
|
|
|
+#if SUPPORT_DETECTION
|
|
|
detection_value = get_detection();
|
|
|
-
|
|
|
+#endif
|
|
|
Fwdgt_Init();
|
|
|
|
|
|
uint32_t write_eep_count = 0;
|
|
|
@@ -574,7 +574,9 @@ int main(void)
|
|
|
if(flash_flag == 1){
|
|
|
LEDFlicker2();
|
|
|
flash_flag = 0;
|
|
|
+#if SUPPORT_DETECTION
|
|
|
detection_value = get_detection();
|
|
|
+#endif
|
|
|
for(int j = 0 ; j < Hlw8110_CS;j++)
|
|
|
read_Hlw8110(j,0);
|
|
|
normal_running_time+=2;
|
|
|
@@ -749,10 +751,13 @@ static void MODbus_CMD_New(void)
|
|
|
temp_addr = i << 1;
|
|
|
Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] = Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] | 0x41;
|
|
|
AC3PPDU_RL_time[i + CH1_out].LT_state = Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr];
|
|
|
+ orderFlag[i]=true;
|
|
|
}
|
|
|
+ orderFlag_N = true;
|
|
|
AT24CxxWrite(ERom_CH1LT_ST_Addr,(Eeprom_Rbuf + ERom_CH1LT_ST_Addr),(2*Output_ChN_default));
|
|
|
Eeprom_Rbuf[ERom_CHNLT_ST_Addr] = Eeprom_Rbuf[ERom_CHNLT_ST_Addr] | 0x41;
|
|
|
AC3PPDU_RL_N_time.LT_state = Eeprom_Rbuf[ERom_CHNLT_ST_Addr];
|
|
|
+
|
|
|
AT24CxxWrite(ERom_CHNLT_ST_Addr,(Eeprom_Rbuf + ERom_CHNLT_ST_Addr),2);
|
|
|
}
|
|
|
break;
|
|
|
@@ -765,7 +770,9 @@ static void MODbus_CMD_New(void)
|
|
|
Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] = Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] | 0x80;
|
|
|
Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] = Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr] & 0xfe;
|
|
|
AC3PPDU_RL_time[i + CH1_out].LT_state = Eeprom_Rbuf[ERom_CH1LT_ST_Addr + temp_addr];
|
|
|
+ orderFlag[i]=true;
|
|
|
}
|
|
|
+ orderFlag_N = true;
|
|
|
AT24CxxWrite(ERom_CH1LT_ST_Addr,(Eeprom_Rbuf + ERom_CH1LT_ST_Addr),(2*Output_ChN_default));
|
|
|
Eeprom_Rbuf[ERom_CHNLT_ST_Addr] = Eeprom_Rbuf[ERom_CHNLT_ST_Addr] | 0x80;
|
|
|
Eeprom_Rbuf[ERom_CHNLT_ST_Addr] = Eeprom_Rbuf[ERom_CHNLT_ST_Addr] & 0xfe;
|
|
|
@@ -788,6 +795,7 @@ static void MODbus_CMD_New(void)
|
|
|
|
|
|
if(temp_addr == 9) { //Ch N
|
|
|
AC3PPDU_RL_N_time.LT_state = data;
|
|
|
+ orderFlag_N = true;
|
|
|
}else{
|
|
|
|
|
|
if(AC3PPDU_Modbus_Reg[Mb_Dbuff_VLit1_max_Addr + temp_addr] <= THRESHOULD_JUDGMENT)
|
|
|
@@ -812,7 +820,7 @@ static void MODbus_CMD_New(void)
|
|
|
}
|
|
|
|
|
|
AC3PPDU_RL_time[temp_addr + CH1_out].LT_state = data;
|
|
|
-
|
|
|
+ orderFlag[temp_addr]=true;
|
|
|
LimiT_enable_check((temp_addr + CH1_out),AC3PPDU_RL_time[temp_addr + CH1_out].LT_state);
|
|
|
|
|
|
}
|
|
|
@@ -852,7 +860,11 @@ static void MODbus_CMD_New(void)
|
|
|
AC3PPDU_RL_time[temp_addr + CH1_out].LT_state = data;
|
|
|
AC3PPDU_RL_time[temp_addr + CH2_out].LT_state = data;
|
|
|
AC3PPDU_RL_time[temp_addr + CH3_out].LT_state = data;
|
|
|
-
|
|
|
+ for(int i=0;i<Output_ChN_default;i++)
|
|
|
+ {
|
|
|
+ orderFlag[i]=true;
|
|
|
+ }
|
|
|
+ //orderFlag_N = true;
|
|
|
LimiT_enable_check((temp_addr + CH1_out),AC3PPDU_RL_time[temp_addr + CH1_out].LT_state);
|
|
|
LimiT_enable_check((temp_addr + CH2_out),AC3PPDU_RL_time[temp_addr + CH2_out].LT_state);
|
|
|
LimiT_enable_check((temp_addr + CH3_out),AC3PPDU_RL_time[temp_addr + CH3_out].LT_state);
|