No description
Find a file
Manuel Bahamóndez-Honores 1f0b684beb Add TypeScript type declarations
- Add index.d.ts with comprehensive type definitions for all exported classes
- Include type declarations for Connection, NodeJSSerialConnection, and other connection types
- Add types for Constants, Advert, Packet, BufferUtils, and CayenneLpp
- Add type declarations for submodules (constants, buffer_reader, buffer_writer)
- Update package.json to reference the types file

This enables TypeScript users to have proper type checking and autocomplete when using the library.
2026-01-24 08:47:07 -03:00
examples add example to parse advert from meshcore packet url 2025-10-08 22:38:20 +13:00
src Revert "Fix race condition in WebBleConnection" 2026-01-23 23:05:22 +13:00
.gitignore add node_modules to .gitignore 2025-03-03 09:46:24 +13:00
.npmignore add .idea to .npmignore 2025-02-13 13:32:49 +13:00
index.d.ts Add TypeScript type declarations 2026-01-24 08:47:07 -03:00
index.html fix null check 2025-04-13 13:55:55 +12:00
LICENSE Create LICENSE 2025-02-12 23:09:24 +13:00
package-lock.json 1.10.0 2025-10-14 15:32:44 +13:00
package.json Add TypeScript type declarations 2026-01-24 08:47:07 -03:00
README.md Update README to link to new meshcore-dev/MeshCore repo 2025-12-09 19:54:39 -08:00

MeshCore.js

A Javascript library for interacting with a MeshCore device running the Companion Radio Firmware.

This library can be used in a Web Browser to connect to MeshCore Companion devices over BLE or USB Serial.

It can also be used in NodeJS to connect to MeshCore Companion devices over TCP/WiFi or USB Serial.

Supported Connection Methods

Install

npm install @liamcottle/meshcore.js

Simple Example

import { TCPConnection, NodeJSSerialConnection } from "@liamcottle/meshcore.js";

// serial connections are supported by "companion_radio_usb" firmware
const connection = new NodeJSSerialConnection("/dev/cu.usbmodem14401");

// tcp connections are supported by "companion_radio_wifi" firmware
// const connection = new TCPConnection("10.1.0.226", 5000);

// wait until connected
connection.on("connected", async () => {

    // we are now connected
    console.log("connected!");

    // log contacts
    const contacts = await connection.getContacts();
    for(const contact of contacts) {
        console.log(`Contact: ${contact.advName}`);
    }

    // disconnect
    connection.close();

});

// connect to meshcore device
await connection.connect();

Examples

There's a few other examples scripts in the examples folder.

License

MIT