   // Seed RNGs, after having gathered some sensor values in RAM...
   OTV0P2BASE::seedPRNGs();
 
-//#if defined(ENABLE_NOMINAL_RAD_VALVE)
-//  // Update targets, output to TRV and boiler, etc, to be sensible before main loop starts.
-//  NominalRadValve.read();
-//#endif
-
   // Ensure that the unique node ID is set up (mainly on first use).
   // Have one attempt (don't want to stress an already failing EEPROM) to force-reset if not good, then panic.
   // Needs to have had entropy gathered, etc.

  const bool doubleTXForFTH8V = false;
  // FHT8V is highest priority and runs first.
  // ---------- HALF SECOND #0 -----------
  bool useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_First(doubleTXForFTH8V); // Time for extra TX before UI.
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #1 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #2 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
  if(useExtraFHT8VTXSlots)
    {
    handleQueuedMessages(&Serial, true, &PrimaryRadio);
    // ---------- HALF SECOND #3 -----------
    useExtraFHT8VTXSlots = localFHT8VTRVEnabled() && FHT8VPollSyncAndTX_Next(doubleTXForFTH8V); 
    }
#endif


#if !defined(ENABLE_FHT8VSIMPLE)
  OTV0P2BASE::serialPrintlnAndFlush(F("="));
#else
  // Force sensor read as not polled in main loop for COHEAT... (And flush any serial before messing with clocks, etc.)
  OTV0P2BASE::flushSerialSCTSensitive();
  TemperatureC16.read();
  const bool neededWaking = OTV0P2BASE::powerUpSerialIfDisabled<V0P2_UART_BAUD>(); // FIXME
  // Stats line starts with distinguished marker character '='.
  Serial.print((char) OTV0P2BASE::SERLINE_START_CHAR_STATS);
