938电源控制

TempBranch
陈曦 8 months ago
parent edda95c35d
commit 5213b007d6

@ -35,9 +35,11 @@
#include <unistd.h>
namespace fs = std::filesystem;
#if 0
#define CMD_SET_485_EN_STATE 131
#define CMD_SET_CAM_3V3_EN_STATE 132
#define CMD_SET_12V_EN_STATE 133
#endif
extern bool GetJniEnv(JavaVM *vm, JNIEnv **env, bool& didAttachThread);
@ -3078,6 +3080,7 @@ void CPhoneDevice::UpdateSimcard(const std::string& simcard)
#ifdef USING_N938
int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceTail, SENSOR_PARAM *sensorParam)
{
Collect_sensor_data(); //15s
@ -3150,162 +3153,71 @@ int CPhoneDevice::GetWData(IDevice::WEATHER_INFO *weatherInfo)
bool CPhoneDevice::OpenSensors(int sensortype)
{
#if 1
if(sensortype == MAIN_POWER_OPEN)
{
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, 1);
GpioControl::setInt(CMD_SET_SPI_POWER, 1);
// GpioControl::setInt(CMD_SET_5V_EN, 1);
GpioControl::setInt(CMD_SET_485_EN_STATE, 1);
int igpio;
// GpioControl::setInt(CMD_SET_12V_EN_STATE, 1);
}
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);
}
if(sensortype == OTHER_SENSOR)
{
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);
#else
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE1, 1);
GpioControl::setInt(CMD_SET_485_EN_STATE, 1);
int igpio;
if(sensortype == CAMERA_SENSOR_OPEN)
{
GpioControl::setInt(CMD_PIC1_EN, 1);
igpio = GpioControl::getInt(CMD_PIC1_EN);
GpioControl::setInt(CMD_485_4_PWR_EN, 1);
igpio = GpioControl::getInt(CMD_485_4_PWR_EN);
}else if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_WEATHER_EN, 1);
igpio = GpioControl::getInt(CMD_WEATHER_EN);
GpioControl::setInt(CMD_485_0_PWR_EN, 1);
igpio = GpioControl::getInt(CMD_485_0_PWR_EN);
}
if(sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_PULL_EN, 1);
GpioControl::setInt(CMD_ANGLE_EN, 1);
igpio = GpioControl::getInt(CMD_PULL_EN);
igpio = GpioControl::getInt(CMD_ANGLE_EN);
GpioControl::setInt(CMD_485_1_PWR_EN, 1);
GpioControl::setInt(CMD_485_2_PWR_EN, 1);
igpio = GpioControl::getInt(CMD_485_1_PWR_EN);
igpio = GpioControl::getInt(CMD_485_2_PWR_EN);
}
GpioControl::setInt(CMD_OTHER_EN, 1);
igpio = GpioControl::getInt(CMD_OTHER_EN);
GpioControl::setInt(CMD_SET_SPI_POWER, 1);
GpioControl::setInt(CMD_485_3_PWR_EN, 1);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_485_3_PWR_EN);
#endif
return 0;
}
bool CPhoneDevice::CloseSensors(int sensortype)
{
#if 1
GpioControl::setInt(CMD_SET_12V_EN_STATE, 0);
if(sensortype == MAIN_POWER_OPEN)
{
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, 0);
GpioControl::setInt(CMD_SET_SPI_POWER, 0);
// GpioControl::setInt(CMD_SET_5V_EN, 1);
GpioControl::setInt(CMD_SET_485_EN_STATE, 0);
// GpioControl::setInt(CMD_SET_12V_EN_STATE, 0);
}
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);
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);
}
if(sensortype == OTHER_SENSOR)
{
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);
#else
GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE1, 0);
GpioControl::setInt(CMD_SET_485_EN_STATE, 0);
int igpio;
if(sensortype == CAMERA_SENSOR_OPEN)
{
GpioControl::setInt(CMD_PIC1_EN, 0);
igpio = GpioControl::getInt(CMD_PIC1_EN);
GpioControl::setInt(CMD_485_4_PWR_EN, 0);
igpio = GpioControl::getInt(CMD_485_4_PWR_EN);
}else if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_WEATHER_EN, 0);
igpio = GpioControl::getInt(CMD_WEATHER_EN);
GpioControl::setInt(CMD_485_0_PWR_EN, 0);
igpio = GpioControl::getInt(CMD_485_0_PWR_EN);
}
if(sensortype == ICETHICK_SENSOR_OPEN)
{
GpioControl::setInt(CMD_PULL_EN, 0);
GpioControl::setInt(CMD_ANGLE_EN, 0);
igpio = GpioControl::getInt(CMD_PULL_EN);
igpio = GpioControl::getInt(CMD_ANGLE_EN);
GpioControl::setInt(CMD_485_1_PWR_EN, 0);
GpioControl::setInt(CMD_485_2_PWR_EN, 0);
igpio = GpioControl::getInt(CMD_485_1_PWR_EN);
igpio = GpioControl::getInt(CMD_485_2_PWR_EN);
}
GpioControl::setInt(CMD_OTHER_EN, 0);
igpio = GpioControl::getInt(CMD_OTHER_EN);
GpioControl::setInt(CMD_SET_SPI_POWER, 0);
GpioControl::setInt(CMD_485_3_PWR_EN, 0);
igpio = GpioControl::getInt(CMD_SET_SPI_POWER);
igpio = GpioControl::getInt(CMD_485_3_PWR_EN);
#endif
return 0;
}
#else
@ -3314,7 +3226,7 @@ bool CPhoneDevice::OpenSensors(int sensortype)
return false;
}
bool CPhoneDevice::CloseSensors()
bool CPhoneDevice::CloseSensors(int sensortype)
{
return false;
}

Loading…
Cancel
Save