|
|
|
@ -1928,9 +1928,7 @@ bool CPhoneDevice::OpenPTZSensors(uint32_t sec)
|
|
|
|
|
m_cameraStatus = true;
|
|
|
|
|
OpenSensors(MAIN_POWER_OPEN);
|
|
|
|
|
OpenSensors(CAMERA_SENSOR_OPEN);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!m_cameraStatus && !m_sensorsStatus)
|
|
|
|
|
}else if (!m_cameraStatus && !m_sensorsStatus)
|
|
|
|
|
{
|
|
|
|
|
m_sensorsStatus = true;
|
|
|
|
|
OpenSensors(MAIN_POWER_OPEN);
|
|
|
|
@ -1986,7 +1984,7 @@ bool CPhoneDevice::ClosePTZSensors(uint32_t delayedCloseTime)
|
|
|
|
|
{
|
|
|
|
|
m_shouldStopWaiting.store(true);
|
|
|
|
|
}
|
|
|
|
|
else if(m_sensorsStatus && m_cameraStatus)
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
std::lock_guard<std::mutex> lock(m_cameraLocker);
|
|
|
|
|
// std::unique_lock<std::mutex> lock(m_cameraLocker);
|
|
|
|
@ -2000,12 +1998,10 @@ bool CPhoneDevice::ClosePTZSensors(uint32_t delayedCloseTime)
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -3696,11 +3692,12 @@ void CPhoneDevice::CameraCtrl(unsigned char waitTime, unsigned char delayTime, u
|
|
|
|
|
string serfileStr(serfile);
|
|
|
|
|
std::thread ctrlThread([pThis, waitTime, delayTime, cmdidx, channel, preset, serfileStr, baud,
|
|
|
|
|
addr]() mutable {
|
|
|
|
|
|
|
|
|
|
uint64_t wid = pThis->RequestWakelock(0);
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
CameraPhotoCmd(time(NULL), channel, cmdidx, 0, preset, serfileStr.c_str(), baud,
|
|
|
|
|
addr);
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
pThis->ReleaseWakelock(wid);
|
|
|
|
|
});
|
|
|
|
|
ctrlThread.detach();
|
|
|
|
|
}
|
|
|
|
|