GithubHelp home page GithubHelp logo

omaskery / rn2483 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 69 KB

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

License: MIT License

Go 100.00%
lora lorawan rn2483 rn2903 lostik go golang

rn2483's Introduction

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.

rn2483's People

Contributors

omaskery avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.