Shinobi/libs/cameraThread/detector.js

37 lines
1.2 KiB
JavaScript

module.exports = function(jsonData,pamDiffResponder){
const {
completeMonitorConfig,
groupKey,
monitorId,
monitorName,
monitorDetails,
} = require('./libs/monitorUtils.js')(jsonData)
const {
convertRegionsToTiles,
} = require('./libs/tileCutter.js')
const loadDetectorUtils = require('./libs/detectorUtils.js')
let detectorUtils
let onMotionData = null
if(monitorDetails.detector_motion_tile_mode === '1'){
const {
originalCords,
newRegionsBySquares,
} = convertRegionsToTiles(monitorDetails)
jsonData.rawMonitorConfig.details.cords = newRegionsBySquares;
detectorUtils = loadDetectorUtils(jsonData,pamDiffResponder)
detectorUtils.originalCords = originalCords;
onMotionData = detectorUtils.getTileMotionEvent()
}else{
detectorUtils = loadDetectorUtils(jsonData,pamDiffResponder)
}
const {
pamDetectorIsEnabled,
attachPamPipeDrivers,
} = detectorUtils;
return function(cameraProcess){
if(pamDetectorIsEnabled){
attachPamPipeDrivers(cameraProcess,onMotionData)
}
}
}