diff --git a/repeater/config.py b/repeater/config.py index df7ab1b..b1bfe1b 100644 --- a/repeater/config.py +++ b/repeater/config.py @@ -240,8 +240,6 @@ def get_radio_for_board(board_config: dict): "bus_id": _parse_int(spi_config["bus_id"]), "cs_id": _parse_int(spi_config["cs_id"]), "cs_pin": _parse_int(spi_config["cs_pin"]), - "gpio_chip": _parse_int(spi_config.get("gpio_chip", 0), default=0), - "use_gpiod_backend": spi_config.get("use_gpiod_backend", False), "reset_pin": _parse_int(spi_config["reset_pin"]), "busy_pin": _parse_int(spi_config["busy_pin"]), "irq_pin": _parse_int(spi_config["irq_pin"]), @@ -262,6 +260,13 @@ def get_radio_for_board(board_config: dict): "sync_word": radio_config["sync_word"], } + # Add optional GPIO parameters if specified in config + # These wont be supported by older versions of pymc_core + if "gpio_chip" in spi_config: + combined_config["gpio_chip"] = _parse_int(spi_config["gpio_chip"], default=0) + if "use_gpiod_backend" in spi_config: + combined_config["use_gpiod_backend"] = spi_config["use_gpiod_backend"] + radio = SX1262Radio.get_instance(**combined_config) if hasattr(radio, "_initialized") and not radio._initialized: