use real time for calibration and add info logging

This commit is contained in:
Josh Hawkins 2023-09-24 14:45:16 -05:00
parent 744da0ef6d
commit 625031fb33

View File

@ -6,6 +6,7 @@ import math
import os import os
import queue import queue
import threading import threading
import time
from functools import partial from functools import partial
from multiprocessing.synchronize import Event as MpEvent from multiprocessing.synchronize import Event as MpEvent
@ -252,6 +253,8 @@ class PtzAutoTracker:
self.calibrating[camera] = True self.calibrating[camera] = True
logger.info(f"Camera calibration for {camera} in progress")
self.onvif._move_to_preset( self.onvif._move_to_preset(
camera, camera,
self.config.cameras[camera].onvif.autotracking.return_preset.lower(), self.config.cameras[camera].onvif.autotracking.return_preset.lower(),
@ -267,18 +270,20 @@ class PtzAutoTracker:
pan = step_sizes[step] pan = step_sizes[step]
tilt = step_sizes[step] tilt = step_sizes[step]
start_time = time.time()
self.onvif._move_relative(camera, pan, tilt, 0, 1) self.onvif._move_relative(camera, pan, tilt, 0, 1)
# Wait until the camera finishes moving # Wait until the camera finishes moving
while not self.ptz_metrics[camera]["ptz_stopped"].is_set(): while not self.ptz_metrics[camera]["ptz_stopped"].is_set():
self.onvif.get_camera_status(camera) self.onvif.get_camera_status(camera)
stop_time = time.time()
self.move_metrics[camera].append( self.move_metrics[camera].append(
{ {
"pan": pan, "pan": pan,
"tilt": tilt, "tilt": tilt,
"start_timestamp": self.ptz_metrics[camera]["ptz_start_time"].value, "start_timestamp": start_time,
"end_timestamp": self.ptz_metrics[camera]["ptz_stop_time"].value, "end_timestamp": stop_time,
} }
) )
@ -295,7 +300,7 @@ class PtzAutoTracker:
self.calibrating[camera] = False self.calibrating[camera] = False
logger.debug("Calibration complete") logger.info(f"Calibration for {camera} complete")
# calculate and save new intercept and coefficients # calculate and save new intercept and coefficients
self._calculate_move_coefficients(camera, True) self._calculate_move_coefficients(camera, True)