From dd9e4285a685d739e8a873335d7401fe7c85302d Mon Sep 17 00:00:00 2001 From: foamyguy Date: Tue, 15 Oct 2024 11:20:17 -0500 Subject: [PATCH 1/4] udpate rtd container version config --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index fcb7778..3cd488c 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: - os: ubuntu-latest + os: ubuntu-lts-latest tools: python: "3" From bb4e3b5ef5d1fddf7acbf3a179d54c3a69e045cc Mon Sep 17 00:00:00 2001 From: jerryneedell Date: Wed, 4 Dec 2024 12:39:58 -0500 Subject: [PATCH 2/4] fix read_fifo to always define packet before return, Corrct typo in rfm9x docstring --- adafruit_rfm/rfm69.py | 1 + adafruit_rfm/rfm9x.py | 3 ++- adafruit_rfm/rfm9xfsk.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/adafruit_rfm/rfm69.py b/adafruit_rfm/rfm69.py index 4ff3c54..913958a 100644 --- a/adafruit_rfm/rfm69.py +++ b/adafruit_rfm/rfm69.py @@ -643,6 +643,7 @@ def read_fifo(self) -> bytearray: """Read the packet from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF69_REG_00_FIFO) + packet = None # return None if FIFO empty if fifo_length > 0: # read and clear the FIFO if anything in it packet = bytearray(fifo_length) # read the packet diff --git a/adafruit_rfm/rfm9x.py b/adafruit_rfm/rfm9x.py index d89000a..736f32e 100644 --- a/adafruit_rfm/rfm9x.py +++ b/adafruit_rfm/rfm9x.py @@ -131,7 +131,7 @@ class RFM9x(RFMSPI): - preamble_length: The length in bytes of the packet preamble (default 8). - high_power: Boolean to indicate a high power board (RFM95, etc.). Default is True for high power. - - baudrate: Baud rate of the SPI connection, default is 10mhz but you might + - baudrate: Baud rate of the SPI connection, default is 5mhz but you might choose to lower to 1mhz if using long wires or a breadboard. - agc: Boolean to Enable/Disable Automatic Gain Control - Default=False (AGC off) - crc: Boolean to Enable/Disable Cyclic Redundancy Check - Default=True (CRC Enabled) @@ -521,6 +521,7 @@ def read_fifo(self) -> bytearray: """Read the data from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF95_REG_13_RX_NB_BYTES) + packet = None # return None if FIFO empty if fifo_length > 0: # read and clear the FIFO if anything in it packet = bytearray(fifo_length) current_addr = self.read_u8(_RF95_REG_10_FIFO_RX_CURRENT_ADDR) diff --git a/adafruit_rfm/rfm9xfsk.py b/adafruit_rfm/rfm9xfsk.py index 4394cde..f019281 100644 --- a/adafruit_rfm/rfm9xfsk.py +++ b/adafruit_rfm/rfm9xfsk.py @@ -567,6 +567,7 @@ def read_fifo(self) -> bytearray: """Read the data from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF95_REG_00_FIFO) + packet = None # return None if FIFO empty if fifo_length > 0: # read and clear the FIFO if anything in it packet = bytearray(fifo_length) # read the packet From 98c3141a1e07576237a649f0f06938961f57309b Mon Sep 17 00:00:00 2001 From: jerryneedell Date: Fri, 6 Dec 2024 14:08:38 -0500 Subject: [PATCH 3/4] fixup packet=None handling --- adafruit_rfm/rfm69.py | 2 +- adafruit_rfm/rfm9x.py | 2 +- adafruit_rfm/rfm9xfsk.py | 2 +- adafruit_rfm/rfm_common.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/adafruit_rfm/rfm69.py b/adafruit_rfm/rfm69.py index 913958a..7adb0b1 100644 --- a/adafruit_rfm/rfm69.py +++ b/adafruit_rfm/rfm69.py @@ -639,7 +639,7 @@ def fill_fifo(self, payload: ReadableBuffer) -> None: # Write payload to transmit fifo self.write_from(_RF69_REG_00_FIFO, complete_payload) - def read_fifo(self) -> bytearray: + def read_fifo(self) -> Optional[bytearray]: """Read the packet from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF69_REG_00_FIFO) diff --git a/adafruit_rfm/rfm9x.py b/adafruit_rfm/rfm9x.py index 736f32e..5987e99 100644 --- a/adafruit_rfm/rfm9x.py +++ b/adafruit_rfm/rfm9x.py @@ -517,7 +517,7 @@ def fill_fifo(self, payload: ReadableBuffer) -> None: # Write payload and header length. self.write_u8(_RF95_REG_22_PAYLOAD_LENGTH, len(payload)) - def read_fifo(self) -> bytearray: + def read_fifo(self) -> Optional[bytearray]: """Read the data from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF95_REG_13_RX_NB_BYTES) diff --git a/adafruit_rfm/rfm9xfsk.py b/adafruit_rfm/rfm9xfsk.py index f019281..d10a45b 100644 --- a/adafruit_rfm/rfm9xfsk.py +++ b/adafruit_rfm/rfm9xfsk.py @@ -563,7 +563,7 @@ def fill_fifo(self, payload: ReadableBuffer) -> None: # Write payload to transmit fifo self.write_from(_RF95_REG_00_FIFO, complete_payload) - def read_fifo(self) -> bytearray: + def read_fifo(self) -> Optional[bytearray]: """Read the data from the FIFO.""" # Read the length of the FIFO. fifo_length = self.read_u8(_RF95_REG_00_FIFO) diff --git a/adafruit_rfm/rfm_common.py b/adafruit_rfm/rfm_common.py index ed5a55a..3f211f9 100644 --- a/adafruit_rfm/rfm_common.py +++ b/adafruit_rfm/rfm_common.py @@ -430,7 +430,7 @@ async def asyncio_receive( # noqa: PLR0912 self.crc_error_count += 1 else: packet = self.read_fifo() - if self.radiohead: + if (packet is not None) and self.radiohead: if len(packet) < 5: # reject the packet if it is too small to contain the RAdioHead Header packet = None @@ -503,7 +503,7 @@ async def asyncio_receive_with_ack( # noqa: PLR0912 self.crc_error_count += 1 else: packet = self.read_fifo() - if self.radiohead: + if (packet is not None) and self.radiohead: if len(packet) < 5: # reject the packet if it is too small to contain the RAdioHead Header packet = None From 87fe9348412160c9394e8327f2e2c2a8f530841e Mon Sep 17 00:00:00 2001 From: jerryneedell Date: Fri, 6 Dec 2024 14:22:42 -0500 Subject: [PATCH 4/4] fix import in rfm9x --- adafruit_rfm/rfm9x.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_rfm/rfm9x.py b/adafruit_rfm/rfm9x.py index 5987e99..2848292 100644 --- a/adafruit_rfm/rfm9x.py +++ b/adafruit_rfm/rfm9x.py @@ -23,7 +23,7 @@ from circuitpython_typing import ReadableBuffer try: - from typing import Literal + from typing import Literal, Optional except ImportError: from typing_extensions import Literal