omaskery / rn2483

Go library for interfacing with RN2483 and RN2903 LoRa modules via their serial interface, particularly LoStik USB devices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rn2483 Go Reference build status

Go library for interfacing with RN2483 and RN2903 LoRa modules via their serial interface, particularly LoStik USB devices.

Feature Completeness

  • 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 and rn2483.(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
  • mac commands have only been implemented where they facilitate accessing the radio commands:
    • mac pause
  • Basic radio commands have been implemented
    • radio tx and radio rx
    • generic radio set <x> <y> and radio get <x> commands
    • radio set pwr
  • Simple fake implementation for local development and automated testing

Todo

  • Add implementations for more commands

References

Alternatives

  • 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.

About

Go library for interfacing with RN2483 and RN2903 LoRa modules via their serial interface, particularly LoStik USB devices.

License:MIT License


Languages

Language:Go 100.0%