Go library for interfacing with RN2483 and RN2903 LoRa modules via their serial interface, particularly LoStik USB devices.
- Building blocks for implementing commands:
-
rn2483.(Device).Sendf
for sending commands -
rn2483.(Device).ReadResponse
for reading responses -
rn2483.CheckCommandResponse
for validating common command responses -
rn2483.(Device).ExecuteCommand
as a common building block for commands -
rn2483.(Device).ExecuteCommandChecked
andrn2483.(Device).ExecuteCommandCheckedStrict
as a common building block for simple commands with easily validated responses
-
- All
sys
commands- purposely excludes
sys eraseFW
as it seemed too dangerous to make convenient, easy to implement manually using the building blocks provided above
- purposely excludes
-
mac
commands have only been implemented where they facilitate accessing theradio
commands:-
mac pause
-
- Basic
radio
commands have been implemented-
radio tx
andradio rx
- generic
radio set <x> <y>
andradio get <x>
commands -
radio set pwr
-
- Simple fake implementation for local development and automated testing
- Add implementations for more commands
- LoStik devices used to test this library
- LoStik GitHub repo - provides a nice introduction to interacting with RN2483 and RN2903 modules
- RN2483 Command Reference
- RN2903 Command Reference
- https://github.com/sagneessens/RN2483 - a more fully featured library, but is implemented using a global singleton restricting you to one device per application, depends on a specific serial port implementation, and has limited error handling/reporting.