     staggerMins = cycleMins / numValves;
     dbg(valveDBG, "cycleMins = "); dbg(valveDBG, cycleMins);
     dbg(valveDBG, " staggerMins = "); dln(valveDBG, staggerMins);
-    long t = millis();
+    unsigned long t = millisWrapper();
     dbg(valveDBG, "millis = "); dln(valveDBG, t);
     long nextCycleStart = t;
     for(int i = 0; i < numValves; i++) {

  bool gotOverflow = false;     // does the growbed have an overflow?
  int fillLevel = 7;            // cms below the level sensor: drain point
  bool filling = false;         // true when closed / on
  long lastFlip = -1;           // millis at last state change
  int floodMins = 18;

  Valve() { number = counter++; }

    monitor_t* now = &monitorData[monitorCursor];
    if(monitorSize < MONITOR_POINTS)
      monitorSize++;
    now->timestamp = millisWrapper();
    if(GOT_TEMP_SENSOR) {
      getTemperature(&now->waterCelsius);               yield();
    }
