mirror of
https://github.com/meshcore-dev/meshcore.js.git
synced 2026-04-20 22:13:49 +00:00
No description
- Delete hand-written index.d.ts that drifted from source - Add JSDoc type annotations to all source files - Create src/types.js with shared typedefs (SelfInfo, Contact, ContactMessage, ChannelInfo, RepeaterStats, etc.) - Add tsconfig.json for declaration generation - Add build:types script and prepublishOnly hook - Add GitHub Actions CI workflow for type checking - Use Uint8Array everywhere (no Buffer references) - Add semantic type aliases (EpochSeconds, Milliseconds, MilliVolts) - Add typed event overloads on Connection (on/once/off) - All 11 PR #15 review comments addressed |
||
|---|---|---|
| .github/workflows | ||
| examples | ||
| src | ||
| .gitignore | ||
| .npmignore | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
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
- Web Browser
- BLE: WebBleConnection()
- USB/Serial: WebSerialConnection()
- NodeJS
- TCP/WiFi: TCPConnection("host", "port")
- USB/Serial: NodeJSSerialConnection("/dev/ttyUSB0")
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