diff --git a/selfdrive/pandad/pandad.py b/selfdrive/pandad/pandad.py index e2c0491cdb..a8300de321 100755 --- a/selfdrive/pandad/pandad.py +++ b/selfdrive/pandad/pandad.py @@ -128,15 +128,15 @@ def main() -> None: time.sleep(1) panda_serials = Panda.list() - # flash and filter out Rivian longitudinal before stock logic - panda_serials = flash_rivian_long(panda_serials) - if len(panda_serials) == 0: no_internal_panda_count += 1 continue cloudlog.info(f"{len(panda_serials)} panda(s) found, connecting - {panda_serials}") + # custom flasher for xnor's Rivian Longitudinal Upgrade Kit + flash_rivian_long(panda_serials) + # skip flashing and health check if no supported panda is detected if not check_panda_support(panda_serials): continue diff --git a/sunnypilot/selfdrive/pandad/rivian_long_flasher.py b/sunnypilot/selfdrive/pandad/rivian_long_flasher.py index 31d0489550..637199f460 100755 --- a/sunnypilot/selfdrive/pandad/rivian_long_flasher.py +++ b/sunnypilot/selfdrive/pandad/rivian_long_flasher.py @@ -74,29 +74,27 @@ def _flash_panda(panda: Panda) -> None: panda.reconnect() -def flash_rivian_long(panda_serials: list[str]) -> list[str]: +def flash_rivian_long(panda_serials: list[str]) -> None: if not os.path.isfile(FW_PATH): cloudlog.error(f"Rivian longitudinal upgrade firmware not found at {FW_PATH}") - return panda_serials + return if not _is_rivian(): cloudlog.info("Not a Rivian, skipping longitudinal upgrade...") - return panda_serials + return - remaining_pandas = [] for serial in panda_serials: panda = Panda(serial) # only flash external black pandas (HW_TYPE_BLACK = 0x03) if panda.get_type() == b'\x03' and not panda.is_internal(): try: _flash_panda(panda) + cloudlog.info(f"Successfully flashed xnor's Rivian Longitudinal Upgrade Kit: {serial}") except Exception: - cloudlog.exception(f"Failed to flash F4 panda {serial}") - else: - remaining_pandas.append(serial) + cloudlog.exception(f"Failed to flash xnor's Rivian Longitudinal Upgrade Kit: {serial}") panda.close() - return remaining_pandas + return if __name__ == '__main__':