use ES modules
All checks were successful
Build Docker containers / Build (push) Successful in 8s

This commit is contained in:
2025-04-16 00:15:50 -04:00
parent d963520486
commit d50fe75759
4 changed files with 20 additions and 14 deletions

View File

@ -1,6 +1,6 @@
import { Transform } from 'stream';
export class LoraStream extends Transform {
export default class LoraStream extends Transform {
constructor(options) {
super(options);
this.byteBuffer = new Uint8Array([]);

View File

@ -2,7 +2,7 @@ import { Transform } from 'stream';
import { Mesh, Channel, Config, ModuleConfig } from '@meshtastic/protobufs';
import { fromBinary, create } from '@bufbuild/protobuf';
export class MeshtasticStream extends Transform {
export default class MeshtasticStream extends Transform {
constructor(options) {
super({ readableObjectMode: true, ...options });
}
@ -23,11 +23,9 @@ export class MeshtasticStream extends Transform {
// can't find, come back to this
break;
case 'config':
// todo: config has another payloadVariant within it
schema = Config.ConfigSchema
break;
case 'moduleConfig':
// todo: config has another payloadVariant within it
schema = ModuleConfig.ModuleConfigSchema
break;
case 'fileInfo':
@ -39,6 +37,9 @@ export class MeshtasticStream extends Transform {
case 'metadata':
schema = Mesh.DeviceMetadataSchema
break;
case 'logRecord':
schema = Mesh.LogRecordSchema
break;
case 'configCompleteId':
// done sending init data
break;

View File

@ -1,9 +1,8 @@
const { Mesh, Mqtt, Portnums, Telemetry, Config, Channel } = require("@meshtastic/protobufs");
const { fromBinary, toBinary, create } = require("@bufbuild/protobuf");
const { LoraStream } = require("./LoraStream");
const { MeshtasticStream } = require("./MeshtasticStream");
const net = require('net');
import { Mesh, Mqtt, Portnums, Telemetry, Config, Channel } from '@meshtastic/protobufs';
import { fromBinary, toBinary, create } from '@bufbuild/protobuf';
import { LoraStream } from './LoraStream';
import { MeshtasticStream } from './MeshtasticStream';
import net from 'net';
const client = new net.Socket();
const IP = '192.168.10.117';
@ -12,7 +11,7 @@ const PORT = 4403;
function sendHello() {
const data = create(Mesh.ToRadioSchema, {
payloadVariant: {
case: "wantConfigId",
case: 'wantConfigId',
value: 1,
}
});
@ -95,9 +94,14 @@ function onMeshPacket(envelope) {
break;
}
let decodedData = dataPacket.payload;
if (schema !== null) {
console.log(dataPacket);
const decodedData = fromBinary(schema, dataPacket.payload);
console.log(decodedData);
try {
decodedData = fromBinary(schema, decodedData);
console.log(decodedData);
} catch(e) {
// ignore errors, likely incomplete data
return;
}
}
}

View File

@ -5,6 +5,7 @@
"author": "",
"license": "ISC",
"description": "",
"type": "module",
"dependencies": {
"@bufbuild/protobuf": "^2.2.5",
"@meshtastic/protobufs": "npm:@jsr/meshtastic__protobufs@^2.6.2",