diff --git a/scripts/ahrs_calibration.py b/scripts/ahrs_calibration.py index 49e84f2e1f13b291b0e503bdd03ffb713d8f9399..7a0fffdccaf0ab0b6a484ed0d96f581ae74618a7 100755 --- a/scripts/ahrs_calibration.py +++ b/scripts/ahrs_calibration.py @@ -46,7 +46,7 @@ class CalibrateAHRS(kp.Module): self.detector = kp.hardware.Detector(det_id=det_id) self.du = self.get('du', default=1) - self.db = kp.db.DBManager() + self.clbmap = kp.db.CLBMap(det_oid=det_id) self.cuckoo = kp.time.Cuckoo(60, self.create_plot) self.cuckoo_log = kp.time.Cuckoo(10, print) @@ -66,29 +66,28 @@ class CalibrateAHRS(kp.Module): now = datetime.utcnow() tmch_data = TMCHData(io.BytesIO(blob['CHData'])) dom_id = tmch_data.dom_id - try: - du, floor, _ = self.detector.doms[dom_id] - except KeyError: # base CLB + clb = self.clbmap.dom_id[dom_id] + if clb.floor == 0: + self.log.info("Skipping base CLB") return blob - if du != self.du: + if clb.du != self.du: return blob - clb_upi = self.db.doms.via_dom_id(dom_id, self.detector.det_id).clb_upi yaw = tmch_data.yaw - calib = get_latest_ahrs_calibration(clb_upi, max_version=4) + calib = get_latest_ahrs_calibration(clb.upi, max_version=4) if calib is None: return blob cyaw, cpitch, croll = fit_ahrs(tmch_data.A, tmch_data.H, *calib) self.cuckoo_log("DU{}-DOM{} (random pick): calibrated yaw={}".format( - du, floor, cyaw)) + clb.du, clb.floor, cyaw)) with self.lock: - self.data['yaw'][floor].append(cyaw) - self.data['pitch'][floor].append(cpitch) - self.data['roll'][floor].append(croll) - self.times[floor].append(now) + self.data['yaw'][clb.floor].append(cyaw) + self.data['pitch'][clb.floor].append(cpitch) + self.data['roll'][clb.floor].append(croll) + self.times[clb.floor].append(now) self.cuckoo.msg() return blob