|
@@ -1011,7 +1011,7 @@ static void* power_thread(void* arg)
|
|
|
// __globalDeviceManage.single_mmap->total_current
|
|
// __globalDeviceManage.single_mmap->total_current
|
|
|
// ,__globalDeviceManage.single_mmap->total_power);
|
|
// ,__globalDeviceManage.single_mmap->total_power);
|
|
|
__globalDeviceManage.single_mmap->dev_chn = __globalDeviceManage._globalDevInfo.product.pwr_type << 8 | _chn;
|
|
__globalDeviceManage.single_mmap->dev_chn = __globalDeviceManage._globalDevInfo.product.pwr_type << 8 | _chn;
|
|
|
-
|
|
|
|
|
|
|
+ memcpy(&__globalDeviceManage.pCtrlBoard[0]._globalPowerInManger._PowerInfo[0],&_globalTotalPowerInfo._power_info,sizeof(PowerInfo));
|
|
|
}
|
|
}
|
|
|
//输入数据再处理(三项)
|
|
//输入数据再处理(三项)
|
|
|
//memset(_pTreeACPowerMangerTemp,0,sizeof(GlobalTreeACManager));
|
|
//memset(_pTreeACPowerMangerTemp,0,sizeof(GlobalTreeACManager));
|
|
@@ -1039,6 +1039,7 @@ static void* power_thread(void* arg)
|
|
|
if (_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].voltage != 0)
|
|
if (_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].voltage != 0)
|
|
|
{
|
|
{
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.voltage = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].voltage;
|
|
_pTreeACPowerMangerTemp->_PowerInfo.voltage = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].voltage;
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.current += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].current;
|
|
_pTreeACPowerMangerTemp->_PowerInfo.current += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].current;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.power += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
_pTreeACPowerMangerTemp->_PowerInfo.power += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
@@ -1066,6 +1067,7 @@ static void* power_thread(void* arg)
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
|
|
|
+ memcpy(&__globalDeviceManage.pCtrlBoard[0]._globalPowerInManger._PowerInfo[nTreeACType],&_pTreeACPowerMangerTemp->_PowerInfo,sizeof(PowerInfo));
|
|
|
#ifdef NORTH_USER_SPECILS
|
|
#ifdef NORTH_USER_SPECILS
|
|
|
__globalDeviceManage.north_user.wire_voltage[nTreeACType] =
|
|
__globalDeviceManage.north_user.wire_voltage[nTreeACType] =
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage * 1.732 / 100;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage * 1.732 / 100;
|
|
@@ -1104,6 +1106,7 @@ static void* power_thread(void* arg)
|
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq > _globalDeviceManager->_globalPowerManger._PowerInfo.freq ? _pTreeACPowerMangerTemp->_PowerInfo.freq:_globalDeviceManager->_globalPowerManger._PowerInfo.freq;
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq > _globalDeviceManager->_globalPowerManger._PowerInfo.freq ? _pTreeACPowerMangerTemp->_PowerInfo.freq:_globalDeviceManager->_globalPowerManger._PowerInfo.freq;
|
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
_globalDeviceManager->_globalPowerManger._PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
|
|
|
+ memcpy(&__globalDeviceManage.pCtrlBoard[0]._globalPowerInManger._PowerInfo[nTreeACType],&_pTreeACPowerMangerTemp->_PowerInfo,sizeof(PowerInfo));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
@@ -1141,6 +1144,7 @@ static void* power_thread(void* arg)
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
|
|
|
+ __globalDeviceManage.pCtrlBoard[0]._globalPowerInManger._PowerInfo[nTreeACType]=_globalTotalPowerInfo._power_info;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
time_t now;
|
|
time_t now;
|
|
@@ -1794,7 +1798,7 @@ static void* sensor_thread(void* arg)
|
|
|
if (_globalSensorMangerTemp->sensor_interface_type==2)//干节点传感器
|
|
if (_globalSensorMangerTemp->sensor_interface_type==2)//干节点传感器
|
|
|
{
|
|
{
|
|
|
int nStatus=0;
|
|
int nStatus=0;
|
|
|
- g_switch_get_gpio_status(_globalSensorMangerTemp->sensor_addr+GPIO_PD11,&nStatus);
|
|
|
|
|
|
|
+ g_switch_get_gpio_status(_globalSensorMangerTemp->sensor_addr+GPIO_PE14,&nStatus);
|
|
|
_globalSensorInfo.val1=nStatus;
|
|
_globalSensorInfo.val1=nStatus;
|
|
|
_globalSensorInfo.val2=-1;
|
|
_globalSensorInfo.val2=-1;
|
|
|
if (nStatus == 0)
|
|
if (nStatus == 0)
|
|
@@ -1976,18 +1980,19 @@ static void* shm_thread(void *arg)
|
|
|
fd = shm_open("/smartPDU_shm", O_RDWR, 0666);
|
|
fd = shm_open("/smartPDU_shm", O_RDWR, 0666);
|
|
|
if (fd < 0)
|
|
if (fd < 0)
|
|
|
{
|
|
{
|
|
|
- printf("error open shm object\n");
|
|
|
|
|
|
|
+ log_e("error open shm object\n");
|
|
|
sleep(5); // 延时5秒后再次创建
|
|
sleep(5); // 延时5秒后再次创建
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
_globalDeviceManager->g_shm_Data = (smartPDU_shm_data *)mmap(NULL, sizeof(smartPDU_shm_data), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
|
_globalDeviceManager->g_shm_Data = (smartPDU_shm_data *)mmap(NULL, sizeof(smartPDU_shm_data), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
|
|
if (!_globalDeviceManager->g_shm_Data)
|
|
if (!_globalDeviceManager->g_shm_Data)
|
|
|
{
|
|
{
|
|
|
- printf("mmap failed!\n");
|
|
|
|
|
|
|
+ log_e("mmap failed!\n");
|
|
|
close(fd);
|
|
close(fd);
|
|
|
sleep(5); // 延时5秒后再次创建
|
|
sleep(5); // 延时5秒后再次创建
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
+ log_i("QT_shm_Init ok\n");
|
|
|
while (_globalDeviceManager->dev_samp_flag)
|
|
while (_globalDeviceManager->dev_samp_flag)
|
|
|
{
|
|
{
|
|
|
if (_globalDeviceManager->g_shm_Data)
|
|
if (_globalDeviceManager->g_shm_Data)
|
|
@@ -2146,10 +2151,11 @@ static int shm_New_CtrlBoard(void *arg)
|
|
|
int shm_fd = shm_open(SHM_NAME_5_inch_screen, O_CREAT | O_RDWR, 0666);
|
|
int shm_fd = shm_open(SHM_NAME_5_inch_screen, O_CREAT | O_RDWR, 0666);
|
|
|
|
|
|
|
|
if (shm_fd == -1) {
|
|
if (shm_fd == -1) {
|
|
|
|
|
+ log_i("shm_CtrlBoard OpenError\n");
|
|
|
perror("shm_open");
|
|
perror("shm_open");
|
|
|
return 1;
|
|
return 1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ log_i("shm_CtrlBoard OpenEnd\n");
|
|
|
/* 设置共享内存对象的大小 */
|
|
/* 设置共享内存对象的大小 */
|
|
|
size_t nSize= sizeof(GlobalPowerCtrlBoard)*(_globalDeviceManager->brdMax+1)+sizeof(int)+sizeof(size_t);
|
|
size_t nSize= sizeof(GlobalPowerCtrlBoard)*(_globalDeviceManager->brdMax+1)+sizeof(int)+sizeof(size_t);
|
|
|
if (ftruncate(shm_fd,nSize) == -1) {
|
|
if (ftruncate(shm_fd,nSize) == -1) {
|