TypeScript/JavaScript SDK¶
The TypeScript/JavaScript SDK provides promise-based transport layers for Node.js and browser environments.
Installation¶
Generate with SDK:
Basic Usage¶
import { MessageRouter } from './generated/ts/struct_frame_sdk';
import { Status } from './generated/ts/messages.sf';
const router = new MessageRouter();
// Subscribe to messages
router.subscribe(Status, (msg: Status) => {
console.log(`Status: ${msg.value}`);
});
// Process incoming data
router.processByte(byte);
Transports¶
UDP¶
import { UDPTransport } from './generated/ts/struct_frame_sdk/transports';
const transport = new UDPTransport('192.168.1.100', 8080);
await transport.connect();
await transport.send(msgId, data);
TCP¶
import { TCPTransport } from './generated/ts/struct_frame_sdk/transports';
const transport = new TCPTransport('192.168.1.100', 8080);
await transport.connect();
await transport.send(msgId, data);
WebSocket¶
import { WebSocketTransport } from './generated/ts/struct_frame_sdk/transports';
const transport = new WebSocketTransport('ws://localhost:8080');
await transport.connect();
await transport.send(msgId, data);
Serial (Node.js only)¶
import { SerialTransport } from './generated/ts/struct_frame_sdk/transports';
const transport = new SerialTransport('/dev/ttyUSB0', 115200);
await transport.connect();
await transport.send(msgId, data);
Browser vs Node.js¶
The SDK works in both environments:
- Node.js: Full support including Serial transport
- Browser: WebSocket and (with polyfills) UDP/TCP