Giter VIP home page Giter VIP logo

node-hamlib's Introduction

node-hamlib

node-hamlib is a simple wrapper around https://hamlib.github.io/ for control of an amateur radio via nodejs. It was designed to run on a raspberry pi, but it should compile on any linux platform (I'll work on windows).

System Requirements

You'll need libhamlib-dev and all of its pre-requisites in order to link up and build correctly. You'll also need node-gyp as this is compiled at install time

new requirements: portaudio19-dev

Simple Example

const nodeham = require('../build/Release/hamlib');
const test = new nodeham.HamLib(1035, 1);
test.open();
console.log('get vfo', test.getVfo());
console.log('get frequency', test.getFrequency());
console.log('get mode', test.getMode());
console.log('get strength', test.getStrength())

Docs

Constructor: construct a new hamlib instance. Takes the radio model as a constructor execute rigctl -l to find your rig model number (working on a command for that) new HamLib(1035)

.open(): opens the serial or usb connection to the rig, must be called before other actions

.setVfo("VFO-A") on radios that support it, switches the active vfo to VFO-A and VFO-B (991 does not)

.setFrequency(144390000) sets the frequency to the specified integer, in hertz

.setMode('PKTFM') sets the mode of the radio, ie USB, LSB, FM

.setPtt(true) toggles PTT of the radio on (true) and off (false)

.getVfo() returns the current VFO on radios that support it

.getFrequency() returns the current frequency of the connected rig

.getMode() returns the current mode of the connected rig

.getStrength() returns the current signal strength of the connected rig

.close() disconnect from the rig, but not destroy the object. call .open() again to re-establish

.destroy() destroy the connection to the rig. you should delete the refrence to hamlib after calling delete to encourage gc to happen

TODO

This is a work in progress, documentation will be updated as its developed!

I expect issues with initalizing non-usb radios, I'll re-work the constructor as soon as i can set up a test

node-hamlib's People

Contributors

dthompso99 avatar

Stargazers

jrodden1 avatar Jason Todd avatar Judd West avatar Trippnology avatar

Watchers

James Cloos avatar  avatar Dean Richardson avatar

Forkers

trippnology

node-hamlib's Issues

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.