No description
Find a file
Manuel Bahamóndez-Honores 8487ce2421 Migrate from JavaScript to TypeScript
Convert all 16 source files from .js to .ts with full type annotations.
Add types.ts with interfaces for all data structures. Export BufferReader
and BufferWriter from index. Use 'as const' for literal types on constants.
2026-02-19 09:01:02 -03:00
examples add example to parse advert from meshcore packet url 2025-10-08 22:38:20 +13:00
src Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03:00
.gitignore Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03:00
.npmignore add .idea to .npmignore 2025-02-13 13:32:49 +13: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.11.0 2026-02-11 01:09:45 +13:00
package.json Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03:00
pnpm-lock.yaml Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03:00
pnpm-workspace.yaml Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03:00
README.md Update README to link to new meshcore-dev/MeshCore repo 2025-12-09 19:54:39 -08:00
tsconfig.json Migrate from JavaScript to TypeScript 2026-02-19 09:01:02 -03: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