From c2d5f478201044d583bca78ddb27ef5f98ae1520 Mon Sep 17 00:00:00 2001 From: theshaun Date: Fri, 23 Jan 2026 18:43:49 +1000 Subject: [PATCH] Add support for the FemtoFox --- radio-settings.json | 18 ++++++++++++++++++ repeater/config.py | 2 ++ repeater/data_acquisition/letsmesh_handler.py | 8 +++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/radio-settings.json b/radio-settings.json index eca0e6f..09cf159 100644 --- a/radio-settings.json +++ b/radio-settings.json @@ -110,6 +110,24 @@ "use_dio3_tcxo": true, "use_dio2_rf": true, "preamble_length": 17 + }, + "femtofox-SX": { + "name": "FemtoFox SX1262", + "bus_id": 0, + "cs_id": 0, + "cs_pin": 16, + "gpio_chip": 1, + "use_gpiod_backend": true, + "reset_pin": 25, + "busy_pin": 22, + "irq_pin": 23, + "txen_pin": -1, + "rxen_pin": 24, + "txled_pin": -1, + "rxled_pin": -1, + "tx_power": 30, + "use_dio3_tcxo": true, + "preamble_length": 17 } } } diff --git a/repeater/config.py b/repeater/config.py index ffe9268..de24fef 100644 --- a/repeater/config.py +++ b/repeater/config.py @@ -216,6 +216,8 @@ def get_radio_for_board(board_config: dict): "bus_id": spi_config["bus_id"], "cs_id": spi_config["cs_id"], "cs_pin": spi_config["cs_pin"], + "gpio_chip": spi_config.get("gpio_chip", 0), + "use_gpiod_backend": spi_config.get("use_gpiod_backend", False), "reset_pin": spi_config["reset_pin"], "busy_pin": spi_config["busy_pin"], "irq_pin": spi_config["irq_pin"], diff --git a/repeater/data_acquisition/letsmesh_handler.py b/repeater/data_acquisition/letsmesh_handler.py index e3e83d2..32ef579 100644 --- a/repeater/data_acquisition/letsmesh_handler.py +++ b/repeater/data_acquisition/letsmesh_handler.py @@ -5,11 +5,17 @@ import paho.mqtt.client as mqtt import threading -from datetime import datetime, timedelta, UTC +from datetime import datetime, timedelta from nacl.signing import SigningKey from typing import Callable, Optional, List, Dict from .. import __version__ +# Try to import datetime.UTC (Python 3.11+) otherwise fallback to timezone.utc +try: + from datetime import UTC +except Exception: + from datetime import timezone + UTC = timezone.utc # Try to import paho-mqtt error code mappings try: