GrpcPrint/PrintS/SystemInfo.cpp

224 lines
5.4 KiB
C++
Raw Normal View History

#include "SystemInfo.h"
2024-03-19 17:45:12 +08:00
#include <vector>
#include "config/ConfigManager.h"
SystemInfo::SystemInfo()
{
InitializeCriticalSection(&m_MStatueCS);
InitializeCriticalSection(&m_InfoCs);
m_TestOutputState = 65535;
m_TestInputState = 65535;
m_TestExtout1State = 65535;
m_TestExtin1State = 65535;
m_WindValue = 0.0f;
m_PlatformTemp = 0.0f;
m_PlatformTempSettingValue = 0.0f;
m_PrintRemainTime = 0;
m_PauseRemainTime = 0;
m_MoldMainPos = 0.0f;
m_MoldSlavePos = 0.0f;
m_ArmPos = 0.0f;
m_IsDedustingStopAlarm = false;
m_IsOxygenSensorConnect = false;
m_IsHeatingConnect = false;
//m_LinearEncoderPos = 0.0f;
m_PowderQtyPos = 0.0f;
m_FanFrequency = 0.0f;
m_PrintAirEvacuationNeedOpen = false;
m_PurifierCtrlPrintAirEvacuation = false;
m_PrintTemp = 0.0f;
m_PrintHumidity = 0.0f;
m_WaterTemp = 0.0f;
m_PipeWaterTemp = 0.0f;
2024-03-19 17:45:12 +08:00
//m_PowderJarCabinPressureVoltage=0.0f;
//m_PowderJarCabinPressure=0.0f;
}
SystemInfo::~SystemInfo()
{
DeleteCriticalSection(&m_MStatueCS);
DeleteCriticalSection(&m_InfoCs);
}
void SystemInfo::SetDedustingStopAlarm(bool bvalue)
{
LockInfo();
m_IsDedustingStopAlarm = bvalue;
UnlockInfo();
}
bool SystemInfo::IsDedustingStopAlarm()
{
bool rel = false;
LockInfo();
rel = m_IsDedustingStopAlarm;
UnlockInfo();
return rel;
}
void SystemInfo::LockInfo()
{
EnterCriticalSection(&m_InfoCs);
}
void SystemInfo::UnlockInfo()
{
LeaveCriticalSection(&m_InfoCs);
}
float SystemInfo::GetPowderQty()
{
float value = 0.0f;
LockInfo();
value = m_PowderQtyPos;
UnlockInfo();
return value;
}
void SystemInfo::GetEnvInfo(EnvInfo& envInfo)
{
LockInfo();
envInfo.m_OxygenRealTimeValue1 = m_ComPrintOxygen1;
envInfo.m_OxygenRealTimeValue2 = m_ComPrintOxygen2;
envInfo.m_WindValue = m_WindValue;
envInfo.m_AnaWindValue = m_WindValue;
envInfo.m_InnerTemp = m_PrintTemp;
2024-03-19 17:45:12 +08:00
envInfo.m_PlatformTemp = m_PlatformTemp;
envInfo.m_PlatformTempSettingValue = m_PlatformTempSettingValue;
envInfo.m_MoldPos = m_MoldMainPos;
envInfo.m_ArmPos = m_ArmPos;
envInfo.m_PowderPos = 0.0f;
envInfo.m_FanFrequency = m_FanFrequency;
envInfo.m_IsDedustingStopAlarm = m_IsDedustingStopAlarm;
envInfo.jobCostMil = m_StateBean.jobCostMil;
envInfo.remainMil = m_StateBean.remainMil;
envInfo.realCostSeconds = m_StateBean.realCostSeconds;
envInfo.m_IsOxygenSensorConnect = m_IsOxygenSensorConnect;
envInfo.m_IsHeatingConnect = m_IsHeatingConnect;
envInfo.m_RemainPowder = m_RemainPowder;
envInfo.m_PipeWaterTemp = m_PipeWaterTemp;
2024-03-19 17:45:12 +08:00
envInfo.m_EnvState = m_EnvState;
UnlockInfo();
}
#if 0
void SystemInfo::SetTestOutput(int index, bool flag)
{
IOCfgWrapper* ioCfgWrapper = ConfigManager::GetInstance()->GetIoCfgWrapper();
if (!ioCfgWrapper)return;
vector<IOCfg*>* cfgs = &ioCfgWrapper->m_OutputCfgs;
for (size_t i = 0; i < cfgs->size(); ++i) {
IOCfg* cfg = (*cfgs)[i];
if (cfg->m_index == index) {
if (cfg->m_isLowEffective) {
if (flag) {
m_TestOutputState = m_TestOutputState&(~(1 << (cfg->m_index - 1)));
}
else {
m_TestOutputState = m_TestOutputState | (1 << (cfg->m_index - 1));
}
}
else {
if (flag) {
m_TestOutputState = m_TestOutputState | (1 << (cfg->m_index - 1));
}
else {
m_TestOutputState = m_TestOutputState&(~(1 << (cfg->m_index - 1)));
}
}
break;
}
}
}
void SystemInfo::SetTestInput(int index, bool flag)
{
IOCfgWrapper* ioCfgWrapper = ConfigManager::GetInstance()->GetIoCfgWrapper();
vector<IOCfg*>* cfgs = &ioCfgWrapper->m_InputCfgs;
for (size_t i = 0; i < cfgs->size(); ++i) {
IOCfg* cfg = (*cfgs)[i];
if (cfg->m_index == index) {
if (cfg->m_isLowEffective) {
if (flag) {
m_TestInputState = m_TestInputState&(~(1 << (cfg->m_index - 1)));
}
else {
m_TestInputState = m_TestInputState | (1 << (cfg->m_index - 1));
}
}
else {
if (flag) {
m_TestInputState = m_TestInputState | (1 << (cfg->m_index - 1));
}
else {
m_TestInputState = m_TestInputState&(~(1 << (cfg->m_index - 1)));
}
}
break;
}
}
}
void SystemInfo::SetTestExtOut1(int index, bool flag)
{
IOCfgWrapper* ioCfgWrapper = ConfigManager::GetInstance()->GetIoCfgWrapper();
vector<IOCfg*>* cfgs = &ioCfgWrapper->m_Extout1Cfgs;
for (size_t i = 0; i < cfgs->size(); ++i) {
IOCfg* cfg = (*cfgs)[i];
if (cfg->m_index == index) {
if (cfg->m_isLowEffective) {
if (flag) {
m_TestExtout1State = m_TestExtout1State&(~(1 << (cfg->m_index - 1)));
}
else {
m_TestExtout1State = m_TestExtout1State | (1 << (cfg->m_index - 1));
}
}
else {
if (flag) {
m_TestExtout1State = m_TestExtout1State | (1 << (cfg->m_index - 1));
}
else {
m_TestExtout1State = m_TestExtout1State&(~(1 << (cfg->m_index - 1)));
}
}
break;
}
}
}
void SystemInfo::SetTestExtIn1(int index, bool flag)
{
IOCfgWrapper* ioCfgWrapper = ConfigManager::GetInstance()->GetIoCfgWrapper();
vector<IOCfg*>* cfgs = &ioCfgWrapper->m_Extin1Cfgs;
for (size_t i = 0; i < cfgs->size(); ++i) {
IOCfg* cfg = (*cfgs)[i];
if (cfg->m_index == index) {
if (cfg->m_isLowEffective) {
if (flag) {
m_TestExtin1State = m_TestExtin1State&(~(1 << (cfg->m_index - 1)));
}
else {
m_TestExtin1State = m_TestExtin1State | (1 << (cfg->m_index - 1));
}
}
else {
if (flag) {
m_TestExtin1State = m_TestExtin1State | (1 << (cfg->m_index - 1));
}
else {
m_TestExtin1State = m_TestExtin1State&(~(1 << (cfg->m_index - 1)));
}
}
break;
}
}
}
#endif