Fixed seismic sensors
This commit is contained in:
@@ -185,8 +185,8 @@ def mpu_loop():
|
||||
o = _mpu_offsets
|
||||
ax = s16((d[0] << 8) | d[1]) / 16384.0 - o[0]
|
||||
ay = s16((d[2] << 8) | d[3]) / 16384.0 - o[1]
|
||||
az = s16((d[4] << 8) | d[5]) / 16384.0 - o[2]
|
||||
mag = math.sqrt(ax**2 + ay**2 + (az - 1.0)**2)
|
||||
az = s16((d[4] << 8) | d[5]) / 16384.0 - o[2] - 1.0 # remove gravity
|
||||
mag = math.sqrt(ax**2 + ay**2 + az**2)
|
||||
with _mpu_lock:
|
||||
if _mpu_peak is None or mag > _mpu_peak['seismic_magnitude']:
|
||||
_mpu_peak = {
|
||||
@@ -203,6 +203,8 @@ def flush_mpu(c):
|
||||
data, _mpu_peak = _mpu_peak, None
|
||||
if data and data['seismic_magnitude'] > c['SEISMIC_NOISE_FLOOR']:
|
||||
write(c, data)
|
||||
else:
|
||||
write(c, {'seismic_x': 0.0, 'seismic_y': 0.0, 'seismic_z': 0.0, 'seismic_magnitude': 0.0})
|
||||
|
||||
# ── QMC5883L ──────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user