细化传感器电源控制

TempBranch
陈曦 8 months ago
parent 3aa81b4ed1
commit 73fd656cb6

@ -3076,75 +3076,91 @@ int CPhoneDevice::GetWData(IDevice::WEATHER_INFO *weatherInfo)
}
#ifdef USING_N938
bool CPhoneDevice::OpenSensors()
bool CPhoneDevice::OpenSensors(int sensortype)
{
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, true ? 1 : 0);
GpioControl::setInt(CMD_SET_485_EN_STATE, true ? 1 : 0);
int igpio;
GpioControl::setInt(CMD_SET_WTH_POWER, 1);
GpioControl::setInt(CMD_SET_PULL_POWER, 1);
GpioControl::setInt(CMD_SET_ANGLE_POWER, 1);
GpioControl::setInt(CMD_SET_OTHER_POWER, 1);
GpioControl::setInt(CMD_SET_PIC1_POWER, 1);
igpio = GpioControl::getInt(CMD_SET_WTH_POWER);
igpio = GpioControl::getInt(CMD_SET_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER);
igpio = GpioControl::getInt(CMD_SET_OTHER_POWER);
igpio = GpioControl::getInt(CMD_SET_PIC1_POWER);
if(sensortype == CAMERA_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_PIC1_POWER, 1);
igpio = GpioControl::getInt(CMD_SET_PIC1_POWER);
GpioControl::setInt(CMD_SET_485_en4, 1);
igpio = GpioControl::getInt(CMD_SET_485_en4);
}else if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_WTH_POWER, 1);
igpio = GpioControl::getInt(CMD_SET_WTH_POWER);
GpioControl::setInt(CMD_SET_485_en0, 1);
igpio = GpioControl::getInt(CMD_SET_485_en0);
}
if(sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_PULL_POWER, 1);
GpioControl::setInt(CMD_SET_ANGLE_POWER, 1);
igpio = GpioControl::getInt(CMD_SET_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER);
GpioControl::setInt(CMD_SET_485_en1, 1);
GpioControl::setInt(CMD_SET_485_en2, 1);
igpio = GpioControl::getInt(CMD_SET_485_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2);
}
GpioControl::setInt(CMD_SET_OTHER_POWER, 1);
igpio = GpioControl::getInt(CMD_SET_OTHER_POWER);
GpioControl::setInt(CMD_SET_SPI_POWER, 1);
GpioControl::setInt(CMD_SET_485_en0, 1);
GpioControl::setInt(CMD_SET_485_en1, 1);
GpioControl::setInt(CMD_SET_485_en2, 1);
GpioControl::setInt(CMD_SET_485_en3, 1);
GpioControl::setInt(CMD_SET_485_en4, 1);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_SET_485_en0);
igpio = GpioControl::getInt(CMD_SET_485_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2);
igpio = GpioControl::getInt(CMD_SET_485_en3);
igpio = GpioControl::getInt(CMD_SET_485_en4);
return 0;
}
bool CPhoneDevice::CloseSensors()
bool CPhoneDevice::CloseSensors(int sensortype)
{
GpioControl::setInt(CMD_SET_12V_EN_STATE, false ? 1 : 0);
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, false ? 1 : 0);
GpioControl::setInt(CMD_SET_485_EN_STATE, false ? 1 : 0);
int igpio;
GpioControl::setInt(CMD_SET_WTH_POWER, 0);
GpioControl::setInt(CMD_SET_PULL_POWER, 0);
GpioControl::setInt(CMD_SET_ANGLE_POWER, 0);
GpioControl::setInt(CMD_SET_OTHER_POWER, 0);
GpioControl::setInt(CMD_SET_PIC1_POWER, 0);
if(sensortype == CAMERA_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_PIC1_POWER, 0);
igpio = GpioControl::getInt(CMD_SET_PIC1_POWER);
GpioControl::setInt(CMD_SET_485_en4, 0);
igpio = GpioControl::getInt(CMD_SET_485_en4);
}else if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_WTH_POWER, 0);
igpio = GpioControl::getInt(CMD_SET_WTH_POWER);
GpioControl::setInt(CMD_SET_485_en0, 0);
igpio = GpioControl::getInt(CMD_SET_485_en0);
}
if(sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_SET_PULL_POWER, 0);
GpioControl::setInt(CMD_SET_ANGLE_POWER, 0);
igpio = GpioControl::getInt(CMD_SET_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER);
GpioControl::setInt(CMD_SET_485_en1, 0);
GpioControl::setInt(CMD_SET_485_en2, 0);
igpio = GpioControl::getInt(CMD_SET_485_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2);
}
igpio = GpioControl::getInt(CMD_SET_WTH_POWER);
igpio = GpioControl::getInt(CMD_SET_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER);
igpio = GpioControl::getInt(CMD_SET_OTHER_POWER);
igpio = GpioControl::getInt(CMD_SET_PIC1_POWER);
GpioControl::setInt(CMD_SET_OTHER_POWER, 0);
igpio = GpioControl::getInt(CMD_SET_OTHER_POWER);
GpioControl::setInt(CMD_SET_SPI_POWER, 0);
GpioControl::setInt(CMD_SET_485_en0, 0);
GpioControl::setInt(CMD_SET_485_en1, 0);
GpioControl::setInt(CMD_SET_485_en2, 0);
GpioControl::setInt(CMD_SET_485_en3, 0);
GpioControl::setInt(CMD_SET_485_en4, 0);
//sleep(3);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_SET_485_en0);
igpio = GpioControl::getInt(CMD_SET_485_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2);
igpio = GpioControl::getInt(CMD_SET_485_en3);
igpio = GpioControl::getInt(CMD_SET_485_en4);
return 0;
}
#else
bool CPhoneDevice::OpenSensors()
bool CPhoneDevice::OpenSensors(int sensortype)
{
return false;
}

@ -219,8 +219,8 @@ public:
virtual int GetWData(WEATHER_INFO *weatherInfo);
virtual int GetIceData(ICE_INFO *iceInfo, ICE_TAIL *icetail, SENSOR_PARAM *sensorParam);
virtual bool OpenSensors();
virtual bool CloseSensors();
virtual bool OpenSensors(int sensortype);
virtual bool CloseSensors(int sensortype);
bool GetNextScheduleItem(uint32_t tsBasedZero, uint32_t scheduleTime, vector<uint32_t>& items);

Loading…
Cancel
Save