938电源控制

TempBranch
陈曦 8 months ago
parent edda95c35d
commit 5213b007d6

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

Loading…
Cancel
Save