Saltar al contenido

Arquitectura del protocolo ​

Aplicación → API JSD → trama + CRC → cola JSD → sesión serial-core → serialport → equipo Equipo → parser delimitador → validación → enrutamiento → evento tipado

Responsabilidades ​

JSD implementa tramas, confirmaciones del protocolo, enrutamiento y operaciones de dominio. serial-core implementa búsqueda, conexión, handshake, reconexión y su cola de escritura. serialport proporciona acceso serial nativo.

Tramas RS232 ​

Las tramas usan delimitadores 0xC0, código de transporte, identificador, datos de aplicación y CRC16. El escape transforma 0xC0 → 0xDB 0xDC y 0xDB → 0xDB 0xDD. DATA incluye longitud, identificador de aplicación y opcode en little-endian, seguidos de argumentos ASCII separados por comas.

Un ACK coincidente retira el comando de la cola JSD. DATA se confirma y enruta a Vision, licencias, manifiestos o MDB. NACK se emite sin retirar inmediatamente el comando. Las tramas inválidas generan serial:jsd-error.

Opción TCP/IP: alcance actual ​

{ transport: 'tcpip' } cambia la construcción de salida a cabeceras little-endian de longitud/aplicación/opcode sin envoltura RS232. El cliente sigue usando SerialService, un parser serial predeterminado y el validador de recepción RS232. No abre un socket ni implementa recepción TCP completa. Esta opción no equivale a conectividad TCP lista para usar.

Orden y correlación ​

La cola JSD serializa comandos por identificador de paquete, con límite de 500 ms y hasta tres reenvíos. Los datos suelen incluir identificador de aplicación; si falta, se usa el último código de aplicación enviado. Los identificadores de trama se reciclan; evita saltarte la cola.

Las promesas de aplicación no representan siempre la finalización del equipo. Consulta la guía de eventos al integrar flujos físicos. y hasta tres reenvíos. Los datos suelen incluir identificador de aplicación; si y hasta tres reenvíos dentro de la misma sesión, empezando tras escritura/drain. Un fallo de escritura, desconexión o cierre vacía la cola; las operaciones pendientes no se reproducen en una sesión nueva. Los datos suelen incluir identificador de aplicación; si

Protocolo explícito, eventos tipados y transporte aislado.