]> www.fi.muni.cz Git - openparking.git/blobdiff - firmware/firmware.c
Maximum distances as modbus registers
[openparking.git] / firmware / firmware.c
index fb095f5a0b12966f64f749735e639bb4bb66afd9..f890c15c9608429926a555adf0709d9bf2134090 100644 (file)
@@ -24,6 +24,7 @@
 #define distances      (hold_regs+MB_N_HOLD_REGS_EEPROM+1)
 #define free_bitmap    (hold_regs[MB_N_HOLD_REGS_EEPROM+13])
 #define err_bitmap     (hold_regs[MB_N_HOLD_REGS_EEPROM+14])
+#define max_distances  (hold_regs+MB_N_HOLD_REGS_EEPROM+21)
 
 static void pull_trigger(uint8_t trig)
 {
@@ -78,6 +79,9 @@ static void do_measurement(unsigned char trig)
                                new_d = now - starttimes[i];
                                old_d = distances[idx];
 
+                               if (new_d > max_distances[idx])
+                                       max_distances[idx] = new_d;
+
                                if (old_d == 0
                                        || old_d == -1) {
                                        distances[idx] = new_d;