          if len(modem_temps) == 0 and prev_hw_state is not None:
            modem_temps = prev_hw_state.modem_temps
  
          # Log modem version once
          if TICI and ((modem_version is None) or (modem_nv is None)):
            modem_version = HARDWARE.get_modem_version()  # pylint: disable=assignment-from-none
            modem_nv = HARDWARE.get_modem_nv()  # pylint: disable=assignment-from-none
  
            if (modem_version is not None) and (modem_nv is not None):
              cloudlog.event("modem version", version=modem_version, nv=modem_nv)
 
</s> remove if arch == "aarch64" and TICI:
 </s> add if arch == "aarch64" and AGNOS: </s> remove     submaster_config={'ignore_avg_freq': ['radarState', 'longitudinalPlan']}
 </s> add     submaster_config={
      'ignore_avg_freq': ['radarState', 'longitudinalPlan', 'driverCameraState', 'driverMonitoringState'],  # dcam is expected at 20 Hz
      'ignore_alive': ['wideRoadCameraState'],  # TODO: Add to regen
    } </s> remove from selfdrive.hardware import TICI
 </s> add from selfdrive.hardware import AGNOS </s> remove   NativeProcess("ui", "selfdrive/ui", ["./ui"], offroad=True, watchdog_max_dt=(5 if TICI else None)),
 </s> add   NativeProcess("ui", "selfdrive/ui", ["./ui"], offroad=True, watchdog_max_dt=(5 if not PC else None)), </s> remove   if (Hardware::TICI()) {
 </s> add   if (!Hardware::PC()) {
        if AGNOS and ((modem_version is None) or (modem_nv is None)):
          if len(modem_temps) == 0 and prev_hw_state is not None:
            modem_temps = prev_hw_state.modem_temps
  
          # Log modem version once
        if AGNOS and ((modem_version is None) or (modem_nv is None)):
            modem_version = HARDWARE.get_modem_version()  # pylint: disable=assignment-from-none
            modem_nv = HARDWARE.get_modem_nv()  # pylint: disable=assignment-from-none
  
            if (modem_version is not None) and (modem_nv is not None):
              cloudlog.event("modem version", version=modem_version, nv=modem_nv)
keep keep keep keep replace keep keep keep keep keep
 less TICI when not needed (#24698)

* less TICI when not needed

* fix process replay

* move reading voltages into hw abstraction layer

* Update selfdrive/hardware/tici/hardware.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update selfdrive/hardware/hw.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update selfdrive/hardware/base.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* rename init function

* Update selfdrive/athena/athenad.py

Co-authored-by: Robbe Derks <robbe.derks@gmail.com>

* Update selfdrive/boardd/boardd.cc

* Apply suggestions from code review

* Update selfdrive/thermald/thermald.py

* update ref

* fix alert width if all cameras are bad

* add ecam to test_loggerd

* bump cereal

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Robbe Derks <robbe.derks@gmail.com> 
selfdrive/thermald/thermald.py