Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

meshtastic

  • Clone with SSH
  • Clone with HTTPS
  • @sota/meshtastic / Exports

    Meshtastic

    A library for communicating with socket & serial Meshtastic devices from Synchronet JavaScript modules.

    You can use this package in a TS4S project, or use the JS build directly in a Synchronet JavaScript module.

    To do: TS4S is only available to internal users and a deploy token is required, so the example doesn't work. Make all of SWAG public and remove deploy tokens from various package.json files.

    TypeScript Example

    npm install git+https://gitlab.synchro.net/swag/ts4s.git
    npm install git+https://gitlab.synchro.net/sota/meshtastic.git
    import '@swag/ts4s';
    import { SocketDevice, protobuf } from '@sota/meshtastic';
    
    const dev = new SocketDevice('192.168.2.57', 4403, true);
    
    dev.on('log', (level: number, message: string, time: number, source: string): void => {
      js.global.log(level, message);
    });
    
    dev.on('packet', (packet: protobuf.Mesh.MeshPacket) => {
      js.global.writeln(`PACKET EVENT HANDLER ${JSON.stringify(packet)}`);
    });
    
    dev.on('ready', () => {
      const res = dev.sendText({ text: 'Message from Synchronet BBS' });
      js.global.writeln(`sendText result: ${res}`);
    
      dev.getChannel(0, (packet: protobuf.Mesh.MeshPacket) => {
        js.global.writeln(`GET CHANNEL RESPONSE: ${JSON.stringify(packet)}`);
      });
    });
    
    dev.connect();
    
    js.do_callbacks = true;

    JavaScript Example

    var Meshtastic = load({}, 'meshtastic.js'); // Probably in your mods directory, I dunno
    
    var dev = new Meshtastic.SocketDevice('192.168.2.57', 4403, true);
    
    dev.on('log', function (level, message, time, source) {
      log(level, message);
    });
    
    dev.on('packet', function (packet) {
      writeln('PACKET EVENT HANDLER: ' + JSON.stringify(packet));
    });
    
    dev.on('ready', function () {
      var res = dev.sendText({ text: 'Message from Synchronet BBS' });
      writeln('sendText result: ' + res);
    
      dev.getChannel(0, function (packet) {
        js.global.writeln('GET CHANNEL RESPONSE: ' + JSON.stringify(packet));
      });
    });
    
    dev.connect();
    
    js.do_callbacks = true;

    Device Events

    • log
      • This library doesn't do any logging itself, but Device emits a log event that you can listen for
      • myDevice.on('log', (level: number, msg: string, time?: number, source?: string): void => { ... });
        • level corresponds to a Synchronet log level a la sbbsdefs.js, eg. LOG_DEBUG
        • time and source are populated if this event was triggered by receipt of a LogRecord message
    • ready
      • Emitted when a connection to the device has been established and initialization (receipt of correct configCompleteId message) has completed
      • myDevice.on('ready', () => { /* Maybe call your main function here? */ });
      • The Device myNodeInfo, deviceMetadata, and channels properties are unpopulated until this event is emitted
    • channel
      • Emitted when a Channel message is received
      • myDevice.on('channel', (channel: Channel) => { ... });
    • deviceMetadata
      • Emitted when a DeviceMetadata message is received
      • myDevice.on('deviceMetadata', (metaData: DeviceMetadata) => { ... });
    • myNodeInfo
      • Emitted when a MyNodeInfo message is received
      • myDevice.on('myNodeInfo', (info: MyNodeInfo) => { ... });
    • packet
      • Emitted when a MeshPacket is received
      • myDevice.on('packet', (packet: MeshPacket) => { ... });
    • config
      • Emitted when a Config message is received
      • myDevice.on('config', (config: Config) => { ... });
    • moduleConfig
      • Emitted when a ModuleConfig message is received
      • myDevice.on('moduleConfig', (moduleConfig: ModuleConfig) => { ... });
    • mqttClientProxyMessage
      • Emitted when an MqttClientProxyMessage is received
      • myDevice.on('mqttClientProxyMessage', (msg: MqttClientProxyMessage) => { ... });
    • nodeInfo
      • Emitted when a NodeInfo message is received
      • myDevice.on('nodeInfo', (nodeInfo: NodeInfo) => { ... });
    • queueStatus
      • Emitted when a QueueStatus message is received
      • myDevice.on('queueStatus', (queueStatus: QueueStatus) => { ... });
    • rebooted
      • Emitted when a FromRadio message is received with the payload variant rebooted set to true
      • myDevice.on('rebooted', () => { ... });
      • You'll only ever see this one on serial devices
    • xmodemPacket
      • Emitted when an XModem message is received
      • myDevice.on('xmodemPacket', () => { ... });
    • fromRadio
      • Emitted when:
        • A FromRadio message is received with a payload variant unknown to this library
          • A FromRadio message is received for a known payload variant, but for which the script has no listeners for
      • myDevice.on('fromRadio', (fromRadio: FromRadio) => { ... });

    Usage notes

    This library is meant to be used in event driven mode, and uses the callback pattern - which is rather oldschool at this point but is a good fit here. Unsolicted packets may arrive at any time and ack/response messages may arrive out of order or interspersed with unsolicted messages. (I couldn't immediately get Promises working and didn't pursue it very far, but I may take another crack at it someday.)

    The last line of your script, after all synchronous tasks are done and all callbacks have been registered, should be:

    js.do_callbacks = true;

    This leaves the Synchronet JavaScript runtime open and ready to handle timers and events. Events and timers will not be serviced until your script (effectively) exits, so this will block any packets from being handled:

    device.on('packet', (packet: MeshPacket) => { js.global.writeln(`CALLBACK: ${JSON.stringify(packet)}`); });
    while (true) {
      mswait(5);
    }
    js.do_callbacks = true;

    while this is fine, allowing that packets won't be handled until the while loop ends after five seconds:

    device.on('packet', (packet: MeshPacket) => { js.global.writeln(`CALLBACK: ${JSON.stringify(packet)}`); });
    let n = 0;
    while (n < 5000) {
      n++;
      mswait(1);
    }
    js.do_callbacks = true;

    (You can put js.do_callbacks = true; anywhere, but I prefer it at the end of the script as a matter of form.)

    Handlers vs. Callbacks

    Serveral *Device methods accept a responseHandler parameter, which is a packetHandler function that accepts a single MeshPacket as a parameter. The responseHandler is typically optional, but if supplied it will be called when a packet is received in response to this message.

    The sendPacket and sendText methods accept a responseHandler as well as an ackHandler function as part of their parameters. (Both of these are of type packetHandler.) Supplying these implicitly sets wantResponse and wantAck to true, respectively. (Setting wantResponse and wantAck to true but omitting the handlers is also possible.)

    Handlers override callbacks. If a handler has been supplied to any of these methods, the handler will be called when an ack or response has been received, and the callback for that type of message will not be called. However, if there are both an ackHandler and a responseHandler, both of those will be called. So if you do this:

    device.on('packet', (packet: MeshPacket) => { js.global.writeln(`CALLBACK: ${JSON.stringify(packet)}`); });
    device.sendText({ text: 'here is some text', ackHandler: (packet: MeshPacket) => { js.global.writeln(`HANDLER: ${JSON.stringify(packet)}`); } });

    The callback will not be invoked when/if the ack message is received, but the response handler will be. (The callback will still be invoked when any other mesh packets come in not in response to your sendText.)

    Protocol Buffer Definitions

    You'll see several types such as FromRadio, MeshPacket, AdminMessage and more mentioned throughout this document. These all come from the Meshtastic Protobuf Definitions via a Generated SDK from the Buf Schema Registry.

    These protocol buffer type definitions are re-exported by this package as protobuf. See src/index.ts and src/lib/protobuf.ts.

    (Of course, none of this matters at all if your project is written in circa-2011 JS.)

    Use at your own risk

    I only started messing around with Meshtastic last week (as of time of this writing on April 21, 2024). I've pieced together my understanding of it from their docs, their code, other people's projects, and online discussions. So what do I know. There's a chance this library or your script may go apeshit and burn out your radio or cause massive inconvenience to other mesh users. So proceed with a little bit of caution (but not too much; have fun).

    SerialDevice is thus far completely untested. I think it'll work, but I won't know until I try, and I don't have any use for it at the moment.

    Most of the methods on Device have not been tested. They should work fine, but I haven't yet felt the need to configure a device from Synchronet, or to factory-reset one, etc.

    Classes

    @sota/meshtastic / Exports / Device

    Class: Device

    Hierarchy

    Table of contents

    Constructors
    Properties
    Methods

    Constructors

    constructor

    new Device(debug?, configId?, heartbeatInterval?, writeDelay?): Device

    Create a Device

    Parameters
    Name Type Default value Description
    debug boolean false Enable debug logging (all sent and received frames, etc. - noisy)
    configId? number undefined is a local identifier that appears in log messages but does not go out over the air
    heartbeatInterval number 30 is the time (in seconds) between heartbeat (keepalive) messages to the device
    writeDelay number 2000 is the time (in milliseconds) between writes of frames to the device
    Returns

    Device

    Remarks

    Notes on writeDelay:

    I don't like writeDelay, but I found that if I sent multiple frames in quick succession some might be dropped silently despite there being room in the device's queue, and even when they didn't get dropped they were sometimes sent over the air out of sequence.

    It's not clear whether every frame sent to the device elicits a response to the client, so we can't necessarily wait for confirmation. (A MeshPacket seems to receive a QueueStatus in response, but what about other ToRadio frames? And are these sent immediately? To do.)

    For now we'll wait a default 2000 ms between frames when writing. 2000 was arrived at by trial-and-error. This might be a problem with my device (Heltec v3), so you can try reducing this value and see what happens with your hardware.

    Overrides

    js.global.EventEmitter.constructor

    Defined in

    src/lib/device.ts:112

    Properties

    channels

    channels: Channel[]

    A list of Channels configured on the device

    Defined in

    src/lib/device.ts:72


    configId

    configId: number

    A local identifier that appears in log messages but does not go out over the air

    Defined in

    src/lib/device.ts:66


    debug

    debug: boolean

    Param

    Enable debug logging (all sent and received frames, etc. - noisy)

    Defined in

    src/lib/device.ts:64


    deviceMetadata

    deviceMetadata: DeviceMetadata

    The DeviceMetadata reported during initialization

    Defined in

    src/lib/device.ts:70


    deviceTag

    Abstract deviceTag: string

    Device type and connection details for log messages

    Defined in

    src/lib/device.ts:136


    myNodeInfo

    myNodeInfo: MyNodeInfo

    The MyNodeInfo reported during initialization

    Defined in

    src/lib/device.ts:68


    ready

    ready: boolean

    Becomes true once initialization has completed (configCompleteId received)

    Defined in

    src/lib/device.ts:74

    Methods

    addListener

    addListener(event, callback, once): number

    Parameters
    Name Type
    event string
    callback eeCallback
    once boolean
    Returns

    number

    Inherited from

    js.global.EventEmitter.addListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1892


    beginEditSettings

    beginEditSettings(): void

    Many configuration changes will trigger a reboot of the device. If you're making several changes at once, call beginEditSettings beforehand, and commitEditSettings afterward. This will forestall the reboot until you're ready to bulk-commit your changes.

    Returns

    void

    Defined in

    src/lib/device.ts:468


    cancelReboot

    cancelReboot(): void

    Returns

    void

    Defined in

    src/lib/device.ts:618


    cancelShutdown

    cancelShutdown(): void

    Returns

    void

    Defined in

    src/lib/device.ts:604


    commitEditSettings

    commitEditSettings(): void

    The companion method to beginEditSettings. Call this when you're ready to commit changes and reboot.

    Returns

    void

    Defined in

    src/lib/device.ts:479


    connect

    connect(timeout?): boolean

    Parameters
    Name Type
    timeout? number
    Returns

    boolean

    Defined in

    src/lib/device.ts:137


    cycle

    cycle(): void

    If your program runs in its own loop, eg. while (!js.terminated) { ... } then you must call this method periodically to fetch data from the device and perform maintenance.

    Returns

    void

    Defined in

    src/lib/device.ts:194


    disconnect

    disconnect(): boolean

    Returns

    boolean

    Defined in

    src/lib/device.ts:138


    emit

    emit(event, ...params): void

    Parameters
    Name Type
    event string
    ...params any[]
    Returns

    void

    Inherited from

    js.global.EventEmitter.emit

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1898


    eventNames

    eventNames(): string[]

    Returns

    string[]

    Inherited from

    js.global.EventEmitter.eventNames

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1899


    factoryReset

    factoryReset(): void

    Danger Bay I've included this method here because it may be useful to provide a bootstrapping setup script for Synchronet+Meshtastic projects. Maybe we want to ensure factory defaults before applying common settings to any Synchronet-connected node. I dunno. Just brainstorming here. No wrong answers except ones that fuck up someone's radio, and I hereby indemnify myself from any and all liability in those situations E&OE.

    Returns

    void

    Defined in

    src/lib/device.ts:663


    getChannel

    getChannel(index, responseHandler): void

    Parameters
    Name Type
    index number
    responseHandler packetHandler
    Returns

    void

    Defined in

    src/lib/device.ts:534


    getConfig

    getConfig(configType, responseHandler): void

    Parameters
    Name Type
    configType AdminMessage_ConfigType
    responseHandler packetHandler
    Returns

    void

    Defined in

    src/lib/device.ts:544


    getMetadata

    getMetadata(nodeNum, responseHandler): void

    Parameters
    Name Type
    nodeNum number
    responseHandler packetHandler
    Returns

    void

    Defined in

    src/lib/device.ts:574


    getModuleConfig

    getModuleConfig(moduleConfigType, responseHandler): void

    Parameters
    Name Type
    moduleConfigType AdminMessage_ModuleConfigType
    responseHandler packetHandler
    Returns

    void

    Defined in

    src/lib/device.ts:554


    getNodeInfo

    getNodeInfo(nodeNum): undefined | NodeInfo

    Return data about the given node number from our node DB, or undefined if we don't got none.

    I'm making this a method instead of just making this.nodeInfo public on purpose. At the moment, the node DB is held in memory. We might want to put it on disk or elsewhere later. This way, we can make that change without breaking stuff.

    Parameters
    Name Type
    nodeNum number
    Returns

    undefined | NodeInfo

    Defined in

    src/lib/device.ts:692


    getOwner

    getOwner(responseHandler): void

    Parameters
    Name Type
    responseHandler packetHandler
    Returns

    void

    Defined in

    src/lib/device.ts:564


    listenerCount

    listenerCount(event): number

    Parameters
    Name Type
    event string
    Returns

    number

    Inherited from

    js.global.EventEmitter.listenerCount

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1900


    listeners

    listeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    js.global.EventEmitter.listeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1901


    off

    off(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    js.global.EventEmitter.off

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1896


    on

    on(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    js.global.EventEmitter.on

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1893


    once

    once(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    js.global.EventEmitter.once

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1894


    rawListeners

    rawListeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    js.global.EventEmitter.rawListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1902


    read

    read(timeout?): void

    Read any waiting data from the device and handle any FromRadio messages received. Any associated event listeners (callbacks), ack or response handlers will be called when these messages are processed.

    Parameters
    Name Type Default value
    timeout number 0
    Returns

    void

    Defined in

    src/lib/device.ts:332


    reboot

    reboot(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Defined in

    src/lib/device.ts:608


    removeAllListeners

    removeAllListeners(event): boolean

    Parameters
    Name Type
    event string
    Returns

    boolean

    Inherited from

    js.global.EventEmitter.removeAllListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1897


    removeFixedPosition

    removeFixedPosition(): void

    Returns

    void

    Defined in

    src/lib/device.ts:648


    removeListener

    removeListener(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    js.global.EventEmitter.removeListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1895


    resetNodes

    resetNodes(): void

    Returns

    void

    Defined in

    src/lib/device.ts:584


    sendAdminMessage

    sendAdminMessage(adminMessage, responseHandler?, to?): void

    Send an AdminMessage to the device

    Parameters
    Name Type Description
    adminMessage AdminMessage -
    responseHandler? packetHandler will be called with an AdminMessage parameter (You probably don't need to call this directly since there are convenience methods for most AdminMessages below.)
    to number -
    Returns

    void

    Defined in

    src/lib/device.ts:453


    sendHeartbeat

    sendHeartbeat(): void

    You probably don't need to call this directly. It's only really needed for SerialDevice, and is handled there for you even in synchronous scripts.

    Returns

    void

    Defined in

    src/lib/device.ts:674


    sendPacket

    sendPacket(«destructured»): void

    Assembles a MeshPacket based on your parameters and writes it to the device.

    Parameters
    Name Type
    «destructured» IMeshPacketParams
    Returns

    void

    Defined in

    src/lib/device.ts:372


    sendText

    sendText(«destructured»): void

    Send a text message out into the mesh, optionally specifying a 'to' node address, channel, want-acknowledgement, and acknowledgement handler

    Parameters
    Name Type
    «destructured» ITextMessageParams
    Returns

    void

    Defined in

    src/lib/device.ts:428


    setChannel

    setChannel(channel): void

    Parameters
    Name Type
    channel Channel
    Returns

    void

    Defined in

    src/lib/device.ts:519


    setConfig

    setConfig(config): void

    Parameters
    Name Type
    config Config
    Returns

    void

    Defined in

    src/lib/device.ts:489


    setFixedPosition

    setFixedPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Defined in

    src/lib/device.ts:638


    setHamMode

    setHamMode(callSign, txPower, frequency, shortName?): void

    Parameters
    Name Type
    callSign string
    txPower number
    frequency number
    shortName? string
    Returns

    void

    Defined in

    src/lib/device.ts:622


    setModuleConfig

    setModuleConfig(moduleConfig): void

    Parameters
    Name Type
    moduleConfig ModuleConfig
    Returns

    void

    Defined in

    src/lib/device.ts:499


    setOwner

    setOwner(owner): void

    Parameters
    Name Type
    owner User
    Returns

    void

    Defined in

    src/lib/device.ts:509


    setPosition

    setPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Defined in

    src/lib/device.ts:529


    shutdown

    shutdown(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Defined in

    src/lib/device.ts:594


    write

    write(packet): void

    Write a ToRadio message to the device

    Parameters
    Name Type
    packet ToRadio
    Returns

    void

    Defined in

    src/lib/device.ts:359

    @sota/meshtastic / Exports / SerialDevice

    Class: SerialDevice

    Hierarchy

    Table of contents

    Constructors
    Properties
    Methods

    Constructors

    constructor

    new SerialDevice(port, baud, pollInterval?, debug?, configId?): SerialDevice

    Create a SerialDevice

    Parameters
    Name Type Default value Description
    port string undefined The serial device path/name, eg. '/dev/ttyACM0', 'COM4'
    baud number undefined The baud rate for the serial connection, eg. 115200, 921600
    pollInterval number 10 How often to check for incoming data from the device (in seconds)
    debug boolean false Enable debug logging (all sent and received frames, etc. - noisy)
    configId? number undefined Local identifier that appears in log messages but does not go out over the air
    Returns

    SerialDevice

    Overrides

    Device.constructor

    Defined in

    src/lib/serial-device.ts:22

    Properties

    channels

    channels: Channel[]

    A list of Channels configured on the device

    Inherited from

    Device.channels

    Defined in

    src/lib/device.ts:72


    configId

    configId: number

    A local identifier that appears in log messages but does not go out over the air

    Inherited from

    Device.configId

    Defined in

    src/lib/device.ts:66


    debug

    debug: boolean

    Param

    Enable debug logging (all sent and received frames, etc. - noisy)

    Inherited from

    Device.debug

    Defined in

    src/lib/device.ts:64


    deviceMetadata

    deviceMetadata: DeviceMetadata

    The DeviceMetadata reported during initialization

    Inherited from

    Device.deviceMetadata

    Defined in

    src/lib/device.ts:70


    deviceTag

    deviceTag: string

    Device type and connection details for log messages

    Overrides

    Device.deviceTag

    Defined in

    src/lib/serial-device.ts:7


    handle

    handle: COM

    A Synchronet JavaScript COM Class instance

    Defined in

    src/lib/serial-device.ts:9


    myNodeInfo

    myNodeInfo: MyNodeInfo

    The MyNodeInfo reported during initialization

    Inherited from

    Device.myNodeInfo

    Defined in

    src/lib/device.ts:68


    ready

    ready: boolean

    Becomes true once initialization has completed (configCompleteId received)

    Inherited from

    Device.ready

    Defined in

    src/lib/device.ts:74

    Methods

    addListener

    addListener(event, callback, once): number

    Parameters
    Name Type
    event string
    callback eeCallback
    once boolean
    Returns

    number

    Inherited from

    Device.addListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1892


    beginEditSettings

    beginEditSettings(): void

    Many configuration changes will trigger a reboot of the device. If you're making several changes at once, call beginEditSettings beforehand, and commitEditSettings afterward. This will forestall the reboot until you're ready to bulk-commit your changes.

    Returns

    void

    Inherited from

    Device.beginEditSettings

    Defined in

    src/lib/device.ts:468


    cancelReboot

    cancelReboot(): void

    Returns

    void

    Inherited from

    Device.cancelReboot

    Defined in

    src/lib/device.ts:618


    cancelShutdown

    cancelShutdown(): void

    Returns

    void

    Inherited from

    Device.cancelShutdown

    Defined in

    src/lib/device.ts:604


    commitEditSettings

    commitEditSettings(): void

    The companion method to beginEditSettings. Call this when you're ready to commit changes and reboot.

    Returns

    void

    Inherited from

    Device.commitEditSettings

    Defined in

    src/lib/device.ts:479


    connect

    connect(timeout?): boolean

    Connect to the device and initialize

    Parameters
    Name Type Default value Description
    timeout number CONNECT_TIMEOUT How many seconds to wait for initialization (wantConfigId/completeConfigId) to complete.
    Returns

    boolean

    Overrides

    Device.connect

    Defined in

    src/lib/serial-device.ts:34


    cycle

    cycle(): void

    If your program runs in its own loop, eg. while (!js.terminated) { ... } then you must call this method periodically to fetch data from the device and perform maintenance.

    Returns

    void

    Inherited from

    Device.cycle

    Defined in

    src/lib/device.ts:194


    disconnect

    disconnect(): boolean

    Close the connection and cancel any timed events.

    Returns

    boolean

    Overrides

    Device.disconnect

    Defined in

    src/lib/serial-device.ts:44


    emit

    emit(event, ...params): void

    Parameters
    Name Type
    event string
    ...params any[]
    Returns

    void

    Inherited from

    Device.emit

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1898


    eventNames

    eventNames(): string[]

    Returns

    string[]

    Inherited from

    Device.eventNames

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1899


    factoryReset

    factoryReset(): void

    Danger Bay I've included this method here because it may be useful to provide a bootstrapping setup script for Synchronet+Meshtastic projects. Maybe we want to ensure factory defaults before applying common settings to any Synchronet-connected node. I dunno. Just brainstorming here. No wrong answers except ones that fuck up someone's radio, and I hereby indemnify myself from any and all liability in those situations E&OE.

    Returns

    void

    Inherited from

    Device.factoryReset

    Defined in

    src/lib/device.ts:663


    getChannel

    getChannel(index, responseHandler): void

    Parameters
    Name Type
    index number
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getChannel

    Defined in

    src/lib/device.ts:534


    getConfig

    getConfig(configType, responseHandler): void

    Parameters
    Name Type
    configType AdminMessage_ConfigType
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getConfig

    Defined in

    src/lib/device.ts:544


    getMetadata

    getMetadata(nodeNum, responseHandler): void

    Parameters
    Name Type
    nodeNum number
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getMetadata

    Defined in

    src/lib/device.ts:574


    getModuleConfig

    getModuleConfig(moduleConfigType, responseHandler): void

    Parameters
    Name Type
    moduleConfigType AdminMessage_ModuleConfigType
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getModuleConfig

    Defined in

    src/lib/device.ts:554


    getNodeInfo

    getNodeInfo(nodeNum): undefined | NodeInfo

    Return data about the given node number from our node DB, or undefined if we don't got none.

    I'm making this a method instead of just making this.nodeInfo public on purpose. At the moment, the node DB is held in memory. We might want to put it on disk or elsewhere later. This way, we can make that change without breaking stuff.

    Parameters
    Name Type
    nodeNum number
    Returns

    undefined | NodeInfo

    Inherited from

    Device.getNodeInfo

    Defined in

    src/lib/device.ts:692


    getOwner

    getOwner(responseHandler): void

    Parameters
    Name Type
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getOwner

    Defined in

    src/lib/device.ts:564


    listenerCount

    listenerCount(event): number

    Parameters
    Name Type
    event string
    Returns

    number

    Inherited from

    Device.listenerCount

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1900


    listeners

    listeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    Device.listeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1901


    off

    off(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    Device.off

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1896


    on

    on(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    Device.on

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1893


    once

    once(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    Device.once

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1894


    rawListeners

    rawListeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    Device.rawListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1902


    read

    read(timeout?): void

    Read any waiting data from the device and handle any FromRadio messages received. Any associated event listeners (callbacks), ack or response handlers will be called when these messages are processed.

    Parameters
    Name Type Default value
    timeout number 0
    Returns

    void

    Inherited from

    Device.read

    Defined in

    src/lib/device.ts:332


    reboot

    reboot(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Inherited from

    Device.reboot

    Defined in

    src/lib/device.ts:608


    removeAllListeners

    removeAllListeners(event): boolean

    Parameters
    Name Type
    event string
    Returns

    boolean

    Inherited from

    Device.removeAllListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1897


    removeFixedPosition

    removeFixedPosition(): void

    Returns

    void

    Inherited from

    Device.removeFixedPosition

    Defined in

    src/lib/device.ts:648


    removeListener

    removeListener(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    Device.removeListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1895


    resetNodes

    resetNodes(): void

    Returns

    void

    Inherited from

    Device.resetNodes

    Defined in

    src/lib/device.ts:584


    sendAdminMessage

    sendAdminMessage(adminMessage, responseHandler?, to?): void

    Send an AdminMessage to the device

    Parameters
    Name Type Description
    adminMessage AdminMessage -
    responseHandler? packetHandler will be called with an AdminMessage parameter (You probably don't need to call this directly since there are convenience methods for most AdminMessages below.)
    to number -
    Returns

    void

    Inherited from

    Device.sendAdminMessage

    Defined in

    src/lib/device.ts:453


    sendHeartbeat

    sendHeartbeat(): void

    You probably don't need to call this directly. It's only really needed for SerialDevice, and is handled there for you even in synchronous scripts.

    Returns

    void

    Inherited from

    Device.sendHeartbeat

    Defined in

    src/lib/device.ts:674


    sendPacket

    sendPacket(«destructured»): void

    Assembles a MeshPacket based on your parameters and writes it to the device.

    Parameters
    Name Type
    «destructured» IMeshPacketParams
    Returns

    void

    Inherited from

    Device.sendPacket

    Defined in

    src/lib/device.ts:372


    sendText

    sendText(«destructured»): void

    Send a text message out into the mesh, optionally specifying a 'to' node address, channel, want-acknowledgement, and acknowledgement handler

    Parameters
    Name Type
    «destructured» ITextMessageParams
    Returns

    void

    Inherited from

    Device.sendText

    Defined in

    src/lib/device.ts:428


    setChannel

    setChannel(channel): void

    Parameters
    Name Type
    channel Channel
    Returns

    void

    Inherited from

    Device.setChannel

    Defined in

    src/lib/device.ts:519


    setConfig

    setConfig(config): void

    Parameters
    Name Type
    config Config
    Returns

    void

    Inherited from

    Device.setConfig

    Defined in

    src/lib/device.ts:489


    setFixedPosition

    setFixedPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Inherited from

    Device.setFixedPosition

    Defined in

    src/lib/device.ts:638


    setHamMode

    setHamMode(callSign, txPower, frequency, shortName?): void

    Parameters
    Name Type
    callSign string
    txPower number
    frequency number
    shortName? string
    Returns

    void

    Inherited from

    Device.setHamMode

    Defined in

    src/lib/device.ts:622


    setModuleConfig

    setModuleConfig(moduleConfig): void

    Parameters
    Name Type
    moduleConfig ModuleConfig
    Returns

    void

    Inherited from

    Device.setModuleConfig

    Defined in

    src/lib/device.ts:499


    setOwner

    setOwner(owner): void

    Parameters
    Name Type
    owner User
    Returns

    void

    Inherited from

    Device.setOwner

    Defined in

    src/lib/device.ts:509


    setPosition

    setPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Inherited from

    Device.setPosition

    Defined in

    src/lib/device.ts:529


    shutdown

    shutdown(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Inherited from

    Device.shutdown

    Defined in

    src/lib/device.ts:594


    write

    write(packet): void

    Write a ToRadio message to the device

    Parameters
    Name Type
    packet ToRadio
    Returns

    void

    Inherited from

    Device.write

    Defined in

    src/lib/device.ts:359

    @sota/meshtastic / Exports / SocketDevice

    Class: SocketDevice

    Hierarchy

    Table of contents

    Constructors
    Properties
    Methods

    Constructors

    constructor

    new SocketDevice(host, port?, debug?, configId?): SocketDevice

    Create a SocketDevice

    Parameters
    Name Type Default value Description
    host string undefined The device hostname or IP address
    port number 4403 The TCP port to connect to (default: 4403)
    debug boolean false Enable debug logging (all sent and received frames, etc. - noisy)
    configId? number undefined Local identifier that appears in log messages but does not go out over the air
    Returns

    SocketDevice

    Overrides

    Device.constructor

    Defined in

    src/lib/socket-device.ts:24

    Properties

    channels

    channels: Channel[]

    A list of Channels configured on the device

    Inherited from

    Device.channels

    Defined in

    src/lib/device.ts:72


    configId

    configId: number

    A local identifier that appears in log messages but does not go out over the air

    Inherited from

    Device.configId

    Defined in

    src/lib/device.ts:66


    debug

    debug: boolean

    Param

    Enable debug logging (all sent and received frames, etc. - noisy)

    Inherited from

    Device.debug

    Defined in

    src/lib/device.ts:64


    deviceMetadata

    deviceMetadata: DeviceMetadata

    The DeviceMetadata reported during initialization

    Inherited from

    Device.deviceMetadata

    Defined in

    src/lib/device.ts:70


    deviceTag

    deviceTag: string

    Device type and connection details for log messages

    Overrides

    Device.deviceTag

    Defined in

    src/lib/socket-device.ts:8


    host

    host: string

    The device hostname or IP address

    Defined in

    src/lib/socket-device.ts:10


    myNodeInfo

    myNodeInfo: MyNodeInfo

    The MyNodeInfo reported during initialization

    Inherited from

    Device.myNodeInfo

    Defined in

    src/lib/device.ts:68


    port

    port: number

    The TCP port to connect to (default: 4403)

    Defined in

    src/lib/socket-device.ts:12


    ready

    ready: boolean

    Becomes true once initialization has completed (configCompleteId received)

    Inherited from

    Device.ready

    Defined in

    src/lib/device.ts:74


    socket

    socket: Socket

    A Synchronet JavaScript Socket Class instance

    Defined in

    src/lib/socket-device.ts:14

    Methods

    addListener

    addListener(event, callback, once): number

    Parameters
    Name Type
    event string
    callback eeCallback
    once boolean
    Returns

    number

    Inherited from

    Device.addListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1892


    beginEditSettings

    beginEditSettings(): void

    Many configuration changes will trigger a reboot of the device. If you're making several changes at once, call beginEditSettings beforehand, and commitEditSettings afterward. This will forestall the reboot until you're ready to bulk-commit your changes.

    Returns

    void

    Inherited from

    Device.beginEditSettings

    Defined in

    src/lib/device.ts:468


    cancelReboot

    cancelReboot(): void

    Returns

    void

    Inherited from

    Device.cancelReboot

    Defined in

    src/lib/device.ts:618


    cancelShutdown

    cancelShutdown(): void

    Returns

    void

    Inherited from

    Device.cancelShutdown

    Defined in

    src/lib/device.ts:604


    commitEditSettings

    commitEditSettings(): void

    The companion method to beginEditSettings. Call this when you're ready to commit changes and reboot.

    Returns

    void

    Inherited from

    Device.commitEditSettings

    Defined in

    src/lib/device.ts:479


    connect

    connect(timeout?): boolean

    Connect to the device and initialize

    Parameters
    Name Type Default value Description
    timeout number CONNECT_TIMEOUT How many seconds to wait for connection, and then again for initialization. (You might end up waiting double this amount of time for connection/initialization to time out.)
    Returns

    boolean

    Overrides

    Device.connect

    Defined in

    src/lib/socket-device.ts:37


    cycle

    cycle(): void

    If your program runs in its own loop, eg. while (!js.terminated) { ... } then you must call this method periodically to fetch data from the device and perform maintenance.

    Returns

    void

    Inherited from

    Device.cycle

    Defined in

    src/lib/device.ts:194


    disconnect

    disconnect(): boolean

    Close the connection and cancel any timed events.

    Returns

    boolean

    Overrides

    Device.disconnect

    Defined in

    src/lib/socket-device.ts:47


    emit

    emit(event, ...params): void

    Parameters
    Name Type
    event string
    ...params any[]
    Returns

    void

    Inherited from

    Device.emit

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1898


    eventNames

    eventNames(): string[]

    Returns

    string[]

    Inherited from

    Device.eventNames

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1899


    factoryReset

    factoryReset(): void

    Danger Bay I've included this method here because it may be useful to provide a bootstrapping setup script for Synchronet+Meshtastic projects. Maybe we want to ensure factory defaults before applying common settings to any Synchronet-connected node. I dunno. Just brainstorming here. No wrong answers except ones that fuck up someone's radio, and I hereby indemnify myself from any and all liability in those situations E&OE.

    Returns

    void

    Inherited from

    Device.factoryReset

    Defined in

    src/lib/device.ts:663


    getChannel

    getChannel(index, responseHandler): void

    Parameters
    Name Type
    index number
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getChannel

    Defined in

    src/lib/device.ts:534


    getConfig

    getConfig(configType, responseHandler): void

    Parameters
    Name Type
    configType AdminMessage_ConfigType
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getConfig

    Defined in

    src/lib/device.ts:544


    getMetadata

    getMetadata(nodeNum, responseHandler): void

    Parameters
    Name Type
    nodeNum number
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getMetadata

    Defined in

    src/lib/device.ts:574


    getModuleConfig

    getModuleConfig(moduleConfigType, responseHandler): void

    Parameters
    Name Type
    moduleConfigType AdminMessage_ModuleConfigType
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getModuleConfig

    Defined in

    src/lib/device.ts:554


    getNodeInfo

    getNodeInfo(nodeNum): undefined | NodeInfo

    Return data about the given node number from our node DB, or undefined if we don't got none.

    I'm making this a method instead of just making this.nodeInfo public on purpose. At the moment, the node DB is held in memory. We might want to put it on disk or elsewhere later. This way, we can make that change without breaking stuff.

    Parameters
    Name Type
    nodeNum number
    Returns

    undefined | NodeInfo

    Inherited from

    Device.getNodeInfo

    Defined in

    src/lib/device.ts:692


    getOwner

    getOwner(responseHandler): void

    Parameters
    Name Type
    responseHandler packetHandler
    Returns

    void

    Inherited from

    Device.getOwner

    Defined in

    src/lib/device.ts:564


    listenerCount

    listenerCount(event): number

    Parameters
    Name Type
    event string
    Returns

    number

    Inherited from

    Device.listenerCount

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1900


    listeners

    listeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    Device.listeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1901


    off

    off(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    Device.off

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1896


    on

    on(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    Device.on

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1893


    once

    once(event, callback): number

    Parameters
    Name Type
    event string
    callback eeCallback
    Returns

    number

    Inherited from

    Device.once

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1894


    rawListeners

    rawListeners(event): eeCallback[]

    Parameters
    Name Type
    event string
    Returns

    eeCallback[]

    Inherited from

    Device.rawListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1902


    read

    read(timeout?): void

    Read any waiting data from the device and handle any FromRadio messages received. Any associated event listeners (callbacks), ack or response handlers will be called when these messages are processed.

    Parameters
    Name Type Default value
    timeout number 0
    Returns

    void

    Inherited from

    Device.read

    Defined in

    src/lib/device.ts:332


    reboot

    reboot(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Inherited from

    Device.reboot

    Defined in

    src/lib/device.ts:608


    removeAllListeners

    removeAllListeners(event): boolean

    Parameters
    Name Type
    event string
    Returns

    boolean

    Inherited from

    Device.removeAllListeners

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1897


    removeFixedPosition

    removeFixedPosition(): void

    Returns

    void

    Inherited from

    Device.removeFixedPosition

    Defined in

    src/lib/device.ts:648


    removeListener

    removeListener(event, id): boolean

    Parameters
    Name Type
    event string
    id number
    Returns

    boolean

    Inherited from

    Device.removeListener

    Defined in

    node_modules/@swag/ts4s/defs/global.ts:1895


    resetNodes

    resetNodes(): void

    Returns

    void

    Inherited from

    Device.resetNodes

    Defined in

    src/lib/device.ts:584


    sendAdminMessage

    sendAdminMessage(adminMessage, responseHandler?, to?): void

    Send an AdminMessage to the device

    Parameters
    Name Type Description
    adminMessage AdminMessage -
    responseHandler? packetHandler will be called with an AdminMessage parameter (You probably don't need to call this directly since there are convenience methods for most AdminMessages below.)
    to number -
    Returns

    void

    Inherited from

    Device.sendAdminMessage

    Defined in

    src/lib/device.ts:453


    sendHeartbeat

    sendHeartbeat(): void

    You probably don't need to call this directly. It's only really needed for SerialDevice, and is handled there for you even in synchronous scripts.

    Returns

    void

    Inherited from

    Device.sendHeartbeat

    Defined in

    src/lib/device.ts:674


    sendPacket

    sendPacket(«destructured»): void

    Assembles a MeshPacket based on your parameters and writes it to the device.

    Parameters
    Name Type
    «destructured» IMeshPacketParams
    Returns

    void

    Inherited from

    Device.sendPacket

    Defined in

    src/lib/device.ts:372


    sendText

    sendText(«destructured»): void

    Send a text message out into the mesh, optionally specifying a 'to' node address, channel, want-acknowledgement, and acknowledgement handler

    Parameters
    Name Type
    «destructured» ITextMessageParams
    Returns

    void

    Inherited from

    Device.sendText

    Defined in

    src/lib/device.ts:428


    setChannel

    setChannel(channel): void

    Parameters
    Name Type
    channel Channel
    Returns

    void

    Inherited from

    Device.setChannel

    Defined in

    src/lib/device.ts:519


    setConfig

    setConfig(config): void

    Parameters
    Name Type
    config Config
    Returns

    void

    Inherited from

    Device.setConfig

    Defined in

    src/lib/device.ts:489


    setFixedPosition

    setFixedPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Inherited from

    Device.setFixedPosition

    Defined in

    src/lib/device.ts:638


    setHamMode

    setHamMode(callSign, txPower, frequency, shortName?): void

    Parameters
    Name Type
    callSign string
    txPower number
    frequency number
    shortName? string
    Returns

    void

    Inherited from

    Device.setHamMode

    Defined in

    src/lib/device.ts:622


    setModuleConfig

    setModuleConfig(moduleConfig): void

    Parameters
    Name Type
    moduleConfig ModuleConfig
    Returns

    void

    Inherited from

    Device.setModuleConfig

    Defined in

    src/lib/device.ts:499


    setOwner

    setOwner(owner): void

    Parameters
    Name Type
    owner User
    Returns

    void

    Inherited from

    Device.setOwner

    Defined in

    src/lib/device.ts:509


    setPosition

    setPosition(position): void

    Parameters
    Name Type
    position Position
    Returns

    void

    Inherited from

    Device.setPosition

    Defined in

    src/lib/device.ts:529


    shutdown

    shutdown(seconds): void

    Parameters
    Name Type
    seconds number
    Returns

    void

    Inherited from

    Device.shutdown

    Defined in

    src/lib/device.ts:594


    write

    write(packet): void

    Write a ToRadio message to the device

    Parameters
    Name Type
    packet ToRadio
    Returns

    void

    Inherited from

    Device.write

    Defined in

    src/lib/device.ts:359

    Enums

    @sota/meshtastic / Exports / defs / CHANNEL_NUMBER

    Enumeration: CHANNEL_NUMBER

    defs.CHANNEL_NUMBER

    Table of contents

    Enumeration Members

    Enumeration Members

    admin

    admin = 7

    Defined in

    src/lib/defs.ts:21


    channel1

    channel1 = 1

    Defined in

    src/lib/defs.ts:15


    channel2

    channel2 = 2

    Defined in

    src/lib/defs.ts:16


    channel3

    channel3 = 3

    Defined in

    src/lib/defs.ts:17


    channel4

    channel4 = 4

    Defined in

    src/lib/defs.ts:18


    channel5

    channel5 = 5

    Defined in

    src/lib/defs.ts:19


    channel6

    channel6 = 6

    Defined in

    src/lib/defs.ts:20


    primary

    primary = 0

    Defined in

    src/lib/defs.ts:14

    Interfaces

    @sota/meshtastic / Exports / defs / IEncryptedMeshPacketParams

    Interface: IEncryptedMeshPacketParams

    defs.IEncryptedMeshPacketParams

    Table of contents

    Properties

    Properties

    ackHandler

    Optional ackHandler: packetHandler

    Defined in

    src/lib/defs.ts:63


    channel

    Optional channel: CHANNEL_NUMBER

    Defined in

    src/lib/defs.ts:58


    hopLimit

    Optional hopLimit: number

    Defined in

    src/lib/defs.ts:60


    payload

    payload: Uint8Array

    Defined in

    src/lib/defs.ts:56


    priority

    Optional priority: MeshPacket_Priority

    Defined in

    src/lib/defs.ts:61


    to

    Optional to: number

    Defined in

    src/lib/defs.ts:57


    viaMqtt

    Optional viaMqtt: boolean

    Defined in

    src/lib/defs.ts:62


    wantAck

    Optional wantAck: boolean

    Defined in

    src/lib/defs.ts:59

    @sota/meshtastic / Exports / defs / IMeshPacketParams

    Interface: IMeshPacketParams

    defs.IMeshPacketParams

    Table of contents

    Properties

    Properties

    ackHandler

    Optional ackHandler: packetHandler

    Defined in

    src/lib/defs.ts:51


    channel

    Optional channel: CHANNEL_NUMBER

    Defined in

    src/lib/defs.ts:41


    emoji

    Optional emoji: number

    Defined in

    src/lib/defs.ts:47


    encrypted

    Optional encrypted: boolean

    Defined in

    src/lib/defs.ts:39


    hopLimit

    Optional hopLimit: number

    Defined in

    src/lib/defs.ts:48


    payload

    payload: Uint8Array

    Defined in

    src/lib/defs.ts:37


    portNum

    portNum: PortNum

    Defined in

    src/lib/defs.ts:38


    priority

    Optional priority: MeshPacket_Priority

    Defined in

    src/lib/defs.ts:49


    replyId

    Optional replyId: number

    Defined in

    src/lib/defs.ts:46


    requestId

    Optional requestId: number

    Defined in

    src/lib/defs.ts:45


    responseHandler

    Optional responseHandler: packetHandler

    Defined in

    src/lib/defs.ts:52


    source

    Optional source: number

    Defined in

    src/lib/defs.ts:44


    to

    Optional to: number

    Defined in

    src/lib/defs.ts:40


    viaMqtt

    Optional viaMqtt: boolean

    Defined in

    src/lib/defs.ts:50


    wantAck

    Optional wantAck: boolean

    Defined in

    src/lib/defs.ts:42


    wantResponse

    Optional wantResponse: boolean

    Defined in

    src/lib/defs.ts:43

    @sota/meshtastic / Exports / defs / ITextMessageParams

    Interface: ITextMessageParams

    defs.ITextMessageParams

    Table of contents

    Properties

    Properties

    ackHandler

    Optional ackHandler: packetHandler

    Defined in

    src/lib/defs.ts:71


    channel

    Optional channel: CHANNEL_NUMBER

    Defined in

    src/lib/defs.ts:69


    hopLimit

    Optional hopLimit: number

    Defined in

    src/lib/defs.ts:73


    replyId

    Optional replyId: number

    Defined in

    src/lib/defs.ts:72


    text

    text: string

    Defined in

    src/lib/defs.ts:67


    to

    Optional to: number

    Defined in

    src/lib/defs.ts:68


    wantAck

    Optional wantAck: boolean

    Defined in

    src/lib/defs.ts:70

    @sota/meshtastic / Exports

    @sota/meshtastic

    Table of contents

    Namespaces

    Classes

    Modules

    @sota/meshtastic / Exports / defs

    Namespace: defs

    Table of contents

    Enumerations
    Interfaces
    Type Aliases
    Variables

    Type Aliases

    packetHandler

    Ƭ packetHandler: (packet: MeshPacket) => void

    Type declaration

    ▸ (packet): void

    ####### Parameters

    Name Type
    packet MeshPacket

    ####### Returns

    void

    Defined in

    src/lib/defs.ts:34

    Variables

    BROADCAST

    Const BROADCAST: 4294967295

    Defined in

    src/lib/defs.ts:9


    CONNECT_TIMEOUT

    Const CONNECT_TIMEOUT: 30

    Defined in

    src/lib/defs.ts:10


    LOG_LEVEL_MAP

    Const LOG_LEVEL_MAP: Record<LogRecord_Level, number>

    Defined in

    src/lib/defs.ts:24


    MAXLEN

    Const MAXLEN: 512

    Defined in

    src/lib/defs.ts:7


    MAX_PAYLOAD

    Const MAX_PAYLOAD: 200

    Defined in

    src/lib/defs.ts:8


    RESPONSE_TIMEOUT

    Const RESPONSE_TIMEOUT: 300

    Defined in

    src/lib/defs.ts:11


    START1

    Const START1: 148

    Defined in

    src/lib/defs.ts:5


    START2

    Const START2: 195

    Defined in

    src/lib/defs.ts:6