手动拍照电源自启,拍照电源移动至phoneDevice

hdrplus
陈曦 7 months ago
parent 9617743566
commit 140726808f

@ -407,6 +407,9 @@ CPhoneDevice::CPhoneDevice(JavaVM* vm, jobject service, const std::string& appPa
m_signalLevel = 0;
m_signalLevelUpdateTime = time(NULL);
mBuildTime = 0;
m_cameraStatus = false;
m_sensorsStatus = false;
m_lastTime = 0;
RegisterHandlerForSignal(SIGUSR2);
@ -1698,6 +1701,52 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector<
return res;
}
bool CPhoneDevice::OpenPTZSensors(int sec)
{
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
if (!m_cameraStatus && !m_sensorsStatus) {
m_sensorsStatus = true;
OpenSensors(MAIN_POWER_OPEN);
OpenSensors(CAMERA_SENSOR_OPEN);
}
}
if(m_sensorsStatus && !m_cameraStatus)
std::this_thread::sleep_for(std::chrono::seconds(sec));
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
if (!m_cameraStatus && m_sensorsStatus) {
m_cameraStatus = true;
}
}
return m_cameraStatus;
}
bool CPhoneDevice::ClosePTZSensors()
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
CloseSensors(CAMERA_SENSOR_OPEN);
CloseSensors(MAIN_POWER_OPEN);
m_cameraStatus = false;
m_sensorsStatus = false;
return true;
}
bool CPhoneDevice::GetPTZSensorsStatus()
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
return m_sensorsStatus;
}
bool CPhoneDevice::GetCameraStatus()
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
return m_cameraStatus;
}
bool CPhoneDevice::CloseCamera()
{
if (mCamera != NULL)
@ -3453,7 +3502,7 @@ bool CPhoneDevice::OpenSensors(int sensortype)
// GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, 1); // 打开3.3V电压
// GpioControl::setInt(CMD_SET_3V3_PWR_ENABLE, 1);
}
if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
if(sensortype == WEATHER_SENSOR_OPEN)
{
#ifndef USING_N938
#else
@ -3519,7 +3568,7 @@ bool CPhoneDevice::CloseSensors(int sensortype)
#endif
#endif
}
if(sensortype == WEATHER_SENSOR_OPEN || sensortype == ICETHICK_SENSOR_OPEN)
if(sensortype == WEATHER_SENSOR_OPEN )
{
#ifndef USING_N938
#else

@ -231,7 +231,10 @@ public:
virtual int GetIceData(ICE_INFO *iceInfo, ICE_TAIL *icetail, SENSOR_PARAM *sensorParam);
virtual bool OpenSensors(int sensortype);
virtual bool CloseSensors(int sensortype);
// bool CapturePhoto(unsigned char channel, unsigned char type);
virtual bool OpenPTZSensors(int sec);
virtual bool ClosePTZSensors();
virtual bool GetPTZSensorsStatus();
virtual bool GetCameraStatus();
bool LoadNetworkInfo();
bool GetNextScheduleItem(uint32_t tsBasedZero, uint32_t scheduleTime, vector<uint32_t>& items);
@ -389,6 +392,11 @@ protected:
std::string m_simcard;
mutable std::mutex m_cameraLocker;
bool m_cameraStatus;
bool m_sensorsStatus;
time_t m_lastTime;
};

Loading…
Cancel
Save