|
|
@@ -1811,6 +1811,40 @@ static void* breaker_thread(void *arg)
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ }else if( temp->breaker_status == 1 && chn >=2 && chn <= 5)
|
|
|
+ {
|
|
|
+ if(pre_breaker_status == 0)
|
|
|
+ {
|
|
|
+ uint16_t open_id = temp->breaker_id;
|
|
|
+ if(open_id > 6)
|
|
|
+ {
|
|
|
+ open_id -= 2; // 2 路断路器
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ open_id -= 1; // 1 路断路器
|
|
|
+ }
|
|
|
+ GlobalPowerManger* _globalPowerMangerTemp = NULL ;
|
|
|
+ list_for_each_entry(_globalPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list, list)
|
|
|
+ {
|
|
|
+ if((open_id == _globalPowerMangerTemp->product_ch_id) && (_globalPowerMangerTemp->product_ch_status== 0))
|
|
|
+ {
|
|
|
+ int ret= g_switch_set_all_chn_ctrl(&__globalDeviceManage._globalRelaySampManger,
|
|
|
+ _globalPowerMangerTemp,
|
|
|
+ _globalPowerMangerTemp->product_saddr,
|
|
|
+ _globalPowerMangerTemp->product_ch_addr,
|
|
|
+ 1,false);
|
|
|
+ if(ret < 0)
|
|
|
+ {
|
|
|
+ ret= g_switch_set_all_chn_ctrl(&__globalDeviceManage._globalRelaySampManger,
|
|
|
+ _globalPowerMangerTemp,
|
|
|
+ _globalPowerMangerTemp->product_saddr,
|
|
|
+ _globalPowerMangerTemp->product_ch_addr,
|
|
|
+ 1,false);
|
|
|
+ }
|
|
|
+ log_d("open channel = %d\n",open_id);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
#endif
|
|
|
}
|