Quellcode durchsuchen

开关检测模块最大支持16个

liyi vor 1 Jahr
Ursprung
Commit
bfd3bc462e
1 geänderte Dateien mit 29 neuen und 18 gelöschten Zeilen
  1. 29 18
      pro/src/app.c

+ 29 - 18
pro/src/app.c

@@ -1586,20 +1586,26 @@ static void* breaker_thread(void *arg)
                         if(_globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_AC 
                             || _globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_DC)
                         {
-                            if(temp->breaker_status){
-                                _globalDeviceManager->single_mmap->breaker_value |= (1 << (temp->breaker_id-1));
-                            }
-                            else{
-                               
-                                _globalDeviceManager->single_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                            if(temp->breaker_id <= 16)
+                            {
+                                if(temp->breaker_status){
+                                    _globalDeviceManager->single_mmap->breaker_value |= (1 << (temp->breaker_id-1));
+                                }
+                                else{
+                                
+                                    _globalDeviceManager->single_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                                }
                             }
                                 
                         }else
                         {
-                            if(temp->breaker_status)
-                                _globalDeviceManager->triphasic_mmap->breaker_value |= (1 << (temp->breaker_id-1));
-                            else
-                                _globalDeviceManager->triphasic_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                            if(temp->breaker_id <= 16)
+                            {
+                                if(temp->breaker_status)
+                                    _globalDeviceManager->triphasic_mmap->breaker_value |= (1 << (temp->breaker_id-1));
+                                else
+                                    _globalDeviceManager->triphasic_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                            }
                         }
 #if USE_SMART_DETECTION_CTRL
                         if( temp->breaker_status == 0 && chn >=2 && chn <= 5)               //close
@@ -1668,17 +1674,22 @@ static void* breaker_thread(void *arg)
                 if(_globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_AC 
                     || _globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_DC )
                 {
-                    if(temp->breaker_status)
-                        _globalDeviceManager->single_mmap->breaker_value |= (1 << (temp->breaker_id-1));
-                    else
-                        _globalDeviceManager->single_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                    if(temp->breaker_id <= 16)
+                    {
+                        if(temp->breaker_status)
+                            _globalDeviceManager->single_mmap->breaker_value |= (1 << (temp->breaker_id-1));
+                        else
+                            _globalDeviceManager->single_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                    }
                     
                 }else
                 {
-                    if(temp->breaker_status)
-                        _globalDeviceManager->triphasic_mmap->breaker_value |= (1 << (temp->breaker_id-1));
-                    else
-                        _globalDeviceManager->triphasic_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                    if(temp->breaker_id <= 16){
+                        if(temp->breaker_status)
+                            _globalDeviceManager->triphasic_mmap->breaker_value |= (1 << (temp->breaker_id-1));
+                        else
+                            _globalDeviceManager->triphasic_mmap->breaker_value &= (~(1 << (temp->breaker_id-1)));
+                    }
                     
                 }