npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rtljs

v3.0.0

Published

node.js interface for librtl-sdr, using FFI-NAPI. Works with newer versions of node (like v16)

Downloads

22

Readme

RTLjs

Node.js interface for librtlsdr, using FFI-NAPI

Works with modern versions of node, unlike alternate packages on NPM

Only tested on Linux, but if you ask me, I (think I) can very easily add windows/macos support.

Installation

Prerequisites

This module requires librtlsdr. This package in turn requires libusb.

Librtlsdr is a package on most package repositories.

Linux:

sudo apt-get install librtlsdr-dev

Windows:

you will need to install librtlsdr on your machine. DLLs are availble on the librtlsdr wiki. These will need to be inserted into a system path folder so that ffi-napi can access them.

Package

npm i rtljs

Usage

The package is written in ts and compiled to js, so ts typings are automatically provided with the package.

Using ES:

import * as rtljs from "rtljs";

Node require():

const rtljs = require("rtljs");

Sample Usage:

console.log(rtljs.getDeviceCount()); // 1
console.log(rtljs.getDeviceName(0)); // Generic RTL R820T2

let device = rtljs.open(0);
device.setCenterFreq(1090 * rtljs.mhz); // 1090000000

// raw IQ data
device.resetBuffer(); // reset buffer to prevent communication data from appearing as radio data
let data = device.readSync(512); // read 512b
console.log(JSON.stringify(data)); // [128, 127, 128... etc

rtljs.close(device);

Common Fixes

Nothing happening when i use readSync/Async, program just hangs

remember to use device.resetBuffer() before using read commands

Can't access device

you probably forgot to use close() in your code to end the device when the program ended. Reset your usb ports and this should now work fine.

API

TSDoc API available at https://arkanic.github.io/rtljs/

Examples are available here

Broken Stuff

readAsync is not currently implemented with the FFI library change, this is in progress.

About

Made by Arkanic

MIT License