|
|
@@ -131,9 +131,21 @@ void EXTI4_15_IRQHandler(void){
|
|
|
if(board)
|
|
|
{
|
|
|
if(gpio_input_bit_get(KEY_TEST_IO,KEY_TEST) != 0)
|
|
|
- {
|
|
|
+ {
|
|
|
+ async_data da = {0};
|
|
|
+ da.fire_or_zero = _FIRE;
|
|
|
+ da.w_eep_flag = FLAG_W_EEP;
|
|
|
+ for(uint8_t j = 0; j < PT_SUB_COUNT;j++)
|
|
|
+ {
|
|
|
+// if(board->md_data.r_data.state.state[j].state == RELAY_CLOSE)
|
|
|
+// continue;
|
|
|
+ da.channel = j;
|
|
|
+ da.method = DELAY_CTRL;
|
|
|
+ da.reg = &board->relay_staging_staus[j];
|
|
|
+ da.status = RELAY_CLOSE;
|
|
|
+ set_relay_sta_async(&da);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
@@ -161,18 +173,47 @@ void EXTI2_3_IRQHandler(void)
|
|
|
{
|
|
|
if(gpio_input_bit_get(KEY_RST_IO,KEY_RST) != 0)
|
|
|
{
|
|
|
-// for(uint8_t k = 0; k < RelaySlaveChaNum;k++)
|
|
|
-// {
|
|
|
-// async_data da = {0};
|
|
|
-// da.channel =k;
|
|
|
-// da.fire_or_zero = _FIRE;
|
|
|
-// da.method = DELAY_CTRL;
|
|
|
-// da.reg = &board->relay_staging_staus[k];
|
|
|
-// da.status = RELAY_OPEN;
|
|
|
-// da.w_eep_flag = FLAG_W_EEP;
|
|
|
-// set_relay_sta_async(&da);
|
|
|
-// }
|
|
|
+#if SUPPORT_DETECTION
|
|
|
+ if(board->md_data.r_data.detection & 0x1)
|
|
|
+#endif
|
|
|
+ {
|
|
|
+ async_data da = {0};
|
|
|
+ da.fire_or_zero = _FIRE;
|
|
|
+ da.method = DELAY_CTRL;
|
|
|
+ da.w_eep_flag = FLAG_W_EEP;
|
|
|
+ for(uint8_t k = 0; k < PT_SUB_COUNT;k++)
|
|
|
+ {
|
|
|
+// if(board->md_data.r_data.state.state[k].state ==RELAY_OPEN)
|
|
|
+// continue;
|
|
|
+ da.channel =k;
|
|
|
+ da.reg = &board->relay_staging_staus[k];
|
|
|
+ da.status = RELAY_OPEN;
|
|
|
+ set_relay_sta_async(&da);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+#if SURPPORT_2_PT
|
|
|
+
|
|
|
+ #if SUPPORT_DETECTION
|
|
|
+ if(board->md_data.r_data.detection & 0x2)
|
|
|
+ #endif
|
|
|
+ {
|
|
|
+ async_data da = {0};
|
|
|
+ da.fire_or_zero = _FIRE;
|
|
|
+ da.method = DELAY_CTRL;
|
|
|
+ da.w_eep_flag = FLAG_W_EEP;
|
|
|
+ for(uint8_t k = PT_SUB_COUNT; k < RelaySlaveChaNum;k++)
|
|
|
+ {
|
|
|
+ if(board->md_data.r_data.state.state[k].state ==RELAY_OPEN)
|
|
|
+ continue;
|
|
|
+ da.channel =k;
|
|
|
+ da.reg = &board->relay_staging_staus[k];
|
|
|
+ da.status = RELAY_OPEN;
|
|
|
+ set_relay_sta_async(&da);
|
|
|
+ }
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
#endif
|