No description
Find a file
Manuel Bahamóndez-Honores bed46e52b5
Migrate from JavaScript to TypeScript (#2)
* 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.

* Switch from pnpm to npm

* Remove unused EpochSeconds type
2026-02-20 20:07:43 -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 (#2) 2026-02-20 20:07:43 -03:00
.gitignore Migrate from JavaScript to TypeScript (#2) 2026-02-20 20:07:43 -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 Migrate from JavaScript to TypeScript (#2) 2026-02-20 20:07:43 -03:00
package.json Migrate from JavaScript to TypeScript (#2) 2026-02-20 20:07:43 -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 (#2) 2026-02-20 20:07:43 -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