Metadata-Version: 2.4
Name: rpi-rfm69-lgpio
Version: 0.7.1
Summary: RFM69 Radio interface for the Raspberry Pi (lgpio/rpi-lgpio compatible, supports Pi 1 through Pi 5)
Home-page: https://github.com/usamajahangir/rpi-rfm69
Author: Usama Jahangir
Author-email: mr.usama.jahangir+rfm69rpi@gmail.com
Project-URL: Bug Reports, https://github.com/usamajahangir/rpi-rfm69/issues
Project-URL: Source, https://github.com/usamajahangir/rpi-rfm69
Project-URL: Documentation, http://rpi-rfm69.readthedocs.io/
Project-URL: Tracker, https://github.com/usamajahangir/rpi-rfm69/issues
Project-URL: Original Project, https://github.com/jgillula/rpi-rfm69
Keywords: rfm69 raspberry pi rf69 radio rfm69cw rfm69hcw lgpio rpi-lgpio bookworm trixie
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Communications
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: spidev
Requires-Dist: rpi-lgpio
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: summary

# RFM69 Radio interface for the Raspberry Pi (lgpio compatible)



> **Fork of [jgillula/rpi-rfm69](https://github.com/jgillula/rpi-rfm69)** — adapted to use `rpi-lgpio` instead of the deprecated `RPi.GPIO`, with automatic support for old-style revision codes (Pi 1 / early Pi 2).



This package provides a Python wrapper of the [LowPowerLabs RFM69 library](https://github.com/LowPowerLab/RFM69) and is largely based on the work of [Eric Trombly](https://github.com/etrombly/RFM69) who ported the library from C.



## What's different from the original?



- **`rpi-lgpio`** replaces `RPi.GPIO` — works on Raspberry Pi OS Bookworm, Trixie, and Pi 5

- **Automatic old-style revision workaround** — Pi 1 Model B+, early Pi 2, and other boards with 4-digit revision codes work without manual `export RPI_LGPIO_REVISION=...`

- **Supports Pi 1 through Pi 5** — tested across all generations



## Installation



```bash

pip install rpi-rfm69-lgpio

```



Or from a fresh venv (recommended):



```bash

python3 -m venv ~/venv/rfm69

source ~/venv/rfm69/bin/activate

pip install rpi-rfm69-lgpio

```



If you previously had `RPi.GPIO` installed, remove it first:



```bash

pip uninstall RPi.GPIO -y

pip install rpi-rfm69-lgpio

```



## Quick Start



```python

from RFM69 import Radio, FREQ_433MHZ



with Radio(FREQ_433MHZ, node_id=1, network_id=100, isHighPower=True) as radio:

    radio.send(2, "Hello!", attempts=3)

    

    packet = radio.get_packet(timeout=5)

    if packet:

        print(packet)

```



## Wiring & Documentation



For details on how to connect an RFM69 module and the full API, check out the [documentation](https://rpi-rfm69.readthedocs.io/).



## Original Project



This is a fork of [jgillula/rpi-rfm69](https://github.com/jgillula/rpi-rfm69). All credit for the original library goes to Jeremy Gillula and contributors.



## License



GPL v3# Changelog



## 0.7.1

- Replaced RPi.GPIO dependency with rpi-lgpio for Raspberry Pi OS Bookworm/Trixie and Pi 5 compatibility

- Added automatic old-style revision code workaround for Pi 1 / early Pi 2 boards

- Forked from [jgillula/rpi-rfm69](https://github.com/jgillula/rpi-rfm69)



## 0.7.0

- RFM69HW and HCW specific functions and power level setting added by @Makodan



## 0.6.0

- Added support for ATC mode (thanks @MxMarx)

- Reduced some hang (thanks @MxMarx)

- Extended registers retrieved to include High Power PA settings (thanks @tomtastic)



## 0.5.1

- Added support for radios without reset pins



## 0.5.0

- Added set_frequency_in_Hz and get_frequency_in_Hz



## 0.4.0

- Made the Radio class threadsafe, and added threadsafe methods for accessing packets

- Added testing for the threadsafe methods

- Added pylinting and made some cosmetic changes to get a good pylint score

- Added coverage testing via coveralls.io, and instructions for doing so



## 0.3.0

- Added support for sendListenModeBurst

- Made tests more configurable

- Removed Python 2 from tests since it's EOL

- Added instructions on how to build for PyPi

