|
|
|
@ -27,7 +27,7 @@ void PtzController::AddCommand(uint8_t channel, int cmdidx, uint8_t bImageSize,
|
|
|
|
|
{
|
|
|
|
|
SERIAL_CMD cmd = { 0 };
|
|
|
|
|
cmd.channel = channel;
|
|
|
|
|
cmd.channel = preset;
|
|
|
|
|
cmd.preset = preset;
|
|
|
|
|
cmd.cmdidx = cmdidx;
|
|
|
|
|
cmd.bImageSize = bImageSize;
|
|
|
|
|
strcpy(cmd.serfile, serfile);
|
|
|
|
@ -112,8 +112,10 @@ void PtzController::PtzProc()
|
|
|
|
|
std::shared_ptr<PowerControl> powerCtrl;
|
|
|
|
|
time_t selfTestingStartTime = 0;
|
|
|
|
|
time_t selfTestingWaitTime = 0;
|
|
|
|
|
time_t PTZ_preset_start_time=0;
|
|
|
|
|
time_t PTZ_preset_wait_time=0;
|
|
|
|
|
time_t PTZ_preset_start_time = 0;
|
|
|
|
|
time_t PTZ_preset_wait_time = 0;
|
|
|
|
|
time_t close_delay_time = CAMERA_CLOSE_DELAYTIME;
|
|
|
|
|
time_t start_delay_time = 0;
|
|
|
|
|
|
|
|
|
|
while(true)
|
|
|
|
|
{
|
|
|
|
@ -183,11 +185,15 @@ void PtzController::PtzProc()
|
|
|
|
|
m_sem.release();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(time(NULL) - start_delay_time >= close_delay_time)
|
|
|
|
|
{
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_INFO, "摄像机空闲时间超过%d秒!关闭摄像机!", close_delay_time);
|
|
|
|
|
powerCtrl.reset();
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
start_delay_time = time(NULL);
|
|
|
|
|
switch (cmd.cmdidx)
|
|
|
|
|
{
|
|
|
|
|
case Take_Photo:
|
|
|
|
@ -196,7 +202,8 @@ void PtzController::PtzProc()
|
|
|
|
|
{
|
|
|
|
|
if (!powerCtrl)
|
|
|
|
|
{
|
|
|
|
|
powerCtrl = std::make_shared<PlzCameraPowerCtrl>(cmd.photoParams->mPhotoInfo.closeDelayTime);
|
|
|
|
|
//powerCtrl = std::make_shared<PlzCameraPowerCtrl>(cmd.photoParams->mPhotoInfo.closeDelayTime);
|
|
|
|
|
powerCtrl = std::make_shared<PlzCameraPowerCtrl>(0);
|
|
|
|
|
selfTestingStartTime = time(NULL);
|
|
|
|
|
selfTestingWaitTime = cmd.photoParams->mPhotoInfo.selfTestingTime;
|
|
|
|
|
state = PTZS_SELF_TESTING;
|
|
|
|
@ -247,7 +254,7 @@ void PtzController::PtzProc()
|
|
|
|
|
{
|
|
|
|
|
if (!powerCtrl)
|
|
|
|
|
{
|
|
|
|
|
powerCtrl = std::make_shared<PlzCameraPowerCtrl>(150);
|
|
|
|
|
powerCtrl = std::make_shared<PlzCameraPowerCtrl>(0);
|
|
|
|
|
selfTestingStartTime = time(NULL);
|
|
|
|
|
selfTestingWaitTime = 150;
|
|
|
|
|
state = PTZS_SELF_TESTING;
|
|
|
|
|