Forráskód Böngészése

西安 switch 控制 bug !!!!!

liyi 2 éve%!(EXTRA string=óta)
szülő
commit
e1d3e803c9
1 módosított fájl, 22 hozzáadás és 3 törlés
  1. 22 3
      pro/src/cascade_slave.c

+ 22 - 3
pro/src/cascade_slave.c

@@ -196,7 +196,7 @@ static void slave_read(slave_handle_t *sh, uint32_t addr,int num,uint32_t reg_ty
             {
                 uint32_t *base_addr = (uint32_t *)modbus_single[reg_type].addr;
                 uint32_t step = addr - sh->map->start_registers;
-                base_addr = base_addr + (addr - modbus_single[reg_type].offset);
+                base_addr = base_addr + (addr - modbus_single[reg_type].offset) / 2;
                 uint32_t *map_addr = (uint32_t *)&(sh->map->tab_registers[step]);
                 if(num < 126)
                 {
@@ -448,6 +448,7 @@ void cascade_slave_write(uint32_t addr, uint16_t val)
                         ||__globalDeviceManage._global_device_info->product_pwr_type == SmartPDU_Tree_AC_One_B
                         )
                         {
+                            printf("hwllo every one stop time !!!!\n");
                             ret = g_switch_set_t_ac_start_time_delay(&__globalDeviceManage._globalRelaySampManger, 
                                                         _globalPowerMangerTemp->product_saddr, (_globalPowerMangerTemp->product_ch_addr - 1) * 3, val / 1000);
                             ret = g_switch_set_t_ac_start_time_delay(&__globalDeviceManage._globalRelaySampManger, 
@@ -518,7 +519,7 @@ void cascade_slave_write(uint32_t addr, uint16_t val)
                     {
                         int t_ac_CtrlType=0;
                         int nRet = 0;
-
+                        
                         _globalPowerMangerTemp->product_ch_status = val;
 
                         GlobalTreeACManager *_globalTACManager = NULL;
@@ -530,6 +531,25 @@ void cascade_slave_write(uint32_t addr, uint16_t val)
                         ||__globalDeviceManage._global_device_info->product_pwr_type == SmartPDU_Tree_AC_One
                         ||__globalDeviceManage._global_device_info->product_pwr_type == SmartPDU_Tree_AC_One_B))
                         {
+                            if(_globalPowerMangerTemp->product_ch_type == AC_SINGLE_S_TYPE || _globalPowerMangerTemp->product_ch_type == AC_SINGLE_B_TYPE)
+                            {
+                                if (val == 1)
+                                {
+                                    if (_globalPowerMangerTemp->global_over_manager->product_vol_upper_enable == 1)
+                                        val |= ENABLE_TAC_V_UP;
+                                    if (_globalPowerMangerTemp->global_over_manager->product_vol_lower_enable == 1)
+                                        val |= ENABLE_TAC_V_DOWN;
+                                    if (_globalPowerMangerTemp->global_over_manager->product_cur_upper_enable == 1)
+                                        val |= ENABLE_TAC_A_UP;
+                                    if (_globalPowerMangerTemp->global_over_manager->product_pwr_upper_enable == 1)
+                                        val |= ENABLE_TAC_W_UP;
+                                    if (_globalPowerMangerTemp->global_over_manager->product_pwrcon_upper_enable == 1)
+                                        val |= ENABLE_TAC_P_UP;
+                                }
+                                g_switch_set_ac_single_s_chn_ctrl(&__globalDeviceManage._globalRelaySampManger,  _globalPowerMangerTemp->product_saddr, 
+                                                (_globalPowerMangerTemp->product_ch_addr- 1), val);
+                                break;
+                            }
                             unsigned short phsts=0;
                             list_for_each_entry(_globalTACManager, &_globalPowerMangerTemp->list_Tree_AC, list_Tree_AC)
                             {
@@ -549,7 +569,6 @@ void cascade_slave_write(uint32_t addr, uint16_t val)
                                 }else{
                                     phsts=0;
                                 }
-
                                 nRet= g_switch_set_t_ac_phchn_ctrl(&__globalDeviceManage._globalRelaySampManger,
                                                      _globalTACManager->product_saddr, 
                                                      _globalTACManager->product_ch_addr - 1,