细化传感器电源控制

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

@ -3076,75 +3076,91 @@ int CPhoneDevice::GetWData(IDevice::WEATHER_INFO *weatherInfo)
} }
#ifdef USING_N938 #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_CAM_3V3_EN_STATE, true ? 1 : 0);
GpioControl::setInt(CMD_SET_485_EN_STATE, true ? 1 : 0); GpioControl::setInt(CMD_SET_485_EN_STATE, true ? 1 : 0);
int igpio; int igpio;
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); 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_PULL_POWER, 1);
GpioControl::setInt(CMD_SET_ANGLE_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_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_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_SPI_POWER, 1);
GpioControl::setInt(CMD_SET_485_en0, 1);
GpioControl::setInt(CMD_SET_485_en1, 1); GpioControl::setInt(CMD_SET_485_en1, 1);
GpioControl::setInt(CMD_SET_485_en2, 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_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2); 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_en3, 1);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_SET_485_en3); igpio = GpioControl::getInt(CMD_SET_485_en3);
igpio = GpioControl::getInt(CMD_SET_485_en4);
return 0; return 0;
} }
bool CPhoneDevice::CloseSensors() bool CPhoneDevice::CloseSensors(int sensortype)
{ {
GpioControl::setInt(CMD_SET_12V_EN_STATE, false ? 1 : 0); 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_CAM_3V3_EN_STATE, false ? 1 : 0);
GpioControl::setInt(CMD_SET_485_EN_STATE, false ? 1 : 0); GpioControl::setInt(CMD_SET_485_EN_STATE, false ? 1 : 0);
int igpio; int igpio;
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); 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_PULL_POWER, 0);
GpioControl::setInt(CMD_SET_ANGLE_POWER, 0); GpioControl::setInt(CMD_SET_ANGLE_POWER, 0);
GpioControl::setInt(CMD_SET_OTHER_POWER, 0);
GpioControl::setInt(CMD_SET_PIC1_POWER, 0);
igpio = GpioControl::getInt(CMD_SET_WTH_POWER);
igpio = GpioControl::getInt(CMD_SET_PULL_POWER); igpio = GpioControl::getInt(CMD_SET_PULL_POWER);
igpio = GpioControl::getInt(CMD_SET_ANGLE_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_SPI_POWER, 0);
GpioControl::setInt(CMD_SET_485_en0, 0);
GpioControl::setInt(CMD_SET_485_en1, 0); GpioControl::setInt(CMD_SET_485_en1, 0);
GpioControl::setInt(CMD_SET_485_en2, 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_en1);
igpio = GpioControl::getInt(CMD_SET_485_en2); igpio = GpioControl::getInt(CMD_SET_485_en2);
}
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_en3, 0);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_SET_485_en3); igpio = GpioControl::getInt(CMD_SET_485_en3);
igpio = GpioControl::getInt(CMD_SET_485_en4);
return 0; return 0;
} }
#else #else
bool CPhoneDevice::OpenSensors() bool CPhoneDevice::OpenSensors(int sensortype)
{ {
return false; return false;
} }

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

Loading…
Cancel
Save