Skip to content

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

License

Notifications You must be signed in to change notification settings

omaskery/rn2483

Repository files navigation

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages