@serialpilot/command-queue
v1.0.1
Published
Request-response command queue for SerialPilot (AT commands, Modbus, etc.)
Maintainers
Readme
Request-response command queue for SerialPilot. Useful for AT commands, Modbus RTU, and other serial protocols that require send-then-wait-for-response patterns.
Usage
const { SerialPilot } = require('serialpilot')
const { SerialCommandQueue } = require('@serialpilot/command-queue')
const port = new SerialPilot({ path: '/dev/ttyUSB0', baudRate: 9600 })
const modem = new SerialCommandQueue({ port, timeout: 3000, lineEnding: '\r\n' })
async function main() {
const signal = await modem.command('AT+CSQ')
console.log('Signal quality:', signal)
}
main()API
new SerialCommandQueue(options)
port— SerialPilotStream instancetimeout— ms per command (default:3000)lineEnding— appended to each command (default:'\r\n')delimiter— response line delimiter (default:'\n')retryCount— retries on timeout (default:0)retryDelay— ms between retries (default:1000)
Methods
command(cmd, options?)— Send command, wait for response. ReturnsPromise<string>.options.timeout— Override default timeoutoptions.expect— RegExp to match response
write(data)— Write data without waiting for response
Events
response—(command, response)when a response is receivederror—(error)on timeout or other errorsidle— When queue empties
