修改电源控制

PtzNew
jxjajs 3 months ago
parent 8381d6a0b9
commit e6228f7dfa

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

@ -25,6 +25,7 @@ enum PROC_PTZ_STATE
#define CAMERA_SELF_TEST_TIME 60 /* Camera self-test time (excluding PTZ self-test)*/ #define CAMERA_SELF_TEST_TIME 60 /* Camera self-test time (excluding PTZ self-test)*/
#define MOVE_PRESET_WAIT_TIME 20 /* Waiting for the maximum time for the PTZ to move to the preset position*/ #define MOVE_PRESET_WAIT_TIME 20 /* Waiting for the maximum time for the PTZ to move to the preset position*/
#define CAMERA_CLOSE_DELAYTIME 480 /* Auto Power-Off Timer Setting After Manual Power-On (for Camera)*/
class PtzPhotoParams class PtzPhotoParams
{ {

Loading…
Cancel
Save