|
|
@ -1920,7 +1920,6 @@ bool CPhoneDevice::OpenPTZSensors(uint32_t sec)
|
|
|
|
std::lock_guard<std::mutex> lock(m_cameraLocker);
|
|
|
|
std::lock_guard<std::mutex> lock(m_cameraLocker);
|
|
|
|
if(time_now < localDelayTime-1000)
|
|
|
|
if(time_now < localDelayTime-1000)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
std::lock_guard<std::mutex> lock(m_cameraLocker);
|
|
|
|
|
|
|
|
m_sensorsStatus = true;
|
|
|
|
m_sensorsStatus = true;
|
|
|
|
m_cameraStatus = true;
|
|
|
|
m_cameraStatus = true;
|
|
|
|
OpenSensors(MAIN_POWER_OPEN);
|
|
|
|
OpenSensors(MAIN_POWER_OPEN);
|
|
|
@ -3690,70 +3689,14 @@ void CPhoneDevice::CameraCtrl(unsigned char waitTime, unsigned char delayTime, u
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(!(m_sensorsStatus && !m_cameraStatus)) {
|
|
|
|
if(!(m_sensorsStatus && !m_cameraStatus)) {
|
|
|
|
CPhoneDevice *pThis = this;
|
|
|
|
CPhoneDevice *pThis = this;
|
|
|
|
std::thread ctrlThread([pThis, waitTime, delayTime, cmdidx, channel, preset, serfile, baud,
|
|
|
|
string serfileStr(serfile);
|
|
|
|
|
|
|
|
std::thread ctrlThread([pThis, waitTime, delayTime, cmdidx, channel, preset, serfileStr, baud,
|
|
|
|
addr]() mutable {
|
|
|
|
addr]() mutable {
|
|
|
|
switch (cmdidx) {
|
|
|
|
|
|
|
|
case 2: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
CameraPhotoCmd(time(NULL), channel, MOVE_PRESETNO, 0, preset, serfile, baud,
|
|
|
|
CameraPhotoCmd(time(NULL), channel, cmdidx, 0, preset, serfileStr.c_str(), baud,
|
|
|
|
addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 3: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, MOVE_UP, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 4: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, MOVE_DOWN, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 5: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, MOVE_LEFT, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 6: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, MOVE_RIGHT, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 7: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, ZOOM_WIDE, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 8: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(0, channel, ZOOM_TELE, 0, 0, serfile, baud, addr);
|
|
|
|
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
case 9: {
|
|
|
|
|
|
|
|
// if(GetCameraStatus())
|
|
|
|
|
|
|
|
pThis->OpenPTZSensors(waitTime);
|
|
|
|
|
|
|
|
CameraPhotoCmd(time(NULL), channel, SAVE_PRESETNO, 0, preset, serfile, baud,
|
|
|
|
|
|
|
|
addr);
|
|
|
|
addr);
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
pThis->ClosePTZSensors(delayTime);
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
ctrlThread.detach();
|
|
|
|
ctrlThread.detach();
|
|
|
|
}
|
|
|
|
}
|
|
|
|