generated: '2026-08-06' method: searched source: https://docs-a1.readthedocs.io/en/latest/communication_messaging.html also_source: - https://docs-a1.readthedocs.io/en/latest/unit_configuration.html - https://docs-a1.readthedocs.io/en/latest/vehicle_configuration.html summary: >- ANELLO's interface is an embedded wire protocol, not an HTTP API. There is no URL, no HTTP verb, no status code, no auth token, no rate limit, no pagination and no idempotency key. The cross-cutting semantics below are the real equivalents: transport and framing, the ASCII sentence grammar, the XOR checksum, the read/write configuration verbs, and the #APERR error envelope. transport: interfaces: - product: ANELLO EVK links: [Serial (USB-C), UDP (Ethernet)] default_baud: 921600 - product: ANELLO Ground INS links: [Serial (RS-232), UDP (Automotive Ethernet)] default_baud: 230400 - product: ANELLO Ground IMU links: [Serial (RS-232)] default_baud: 230400 serial_frame: data_bits: 8 stop_bits: 1 parity: none rs232_voltage: '+/- 7V' ports: - logical: Data Port outputs: [Data Messages] inputs: [RTCM correction stream] physical: >- EVK — lowest virtual COM number (FTDI creates 4); UDP port 1. Ground INS/IMU — RS232-2 (OS-assigned COM number, not necessarily lowest). - logical: Configuration Port outputs: [NMEA messages (firmware v1.2 and later)] inputs: [Configuration messages, Odometer data] physical: 'EVK — highest virtual COM number; UDP port 2. Ground INS/IMU — RS232-1.' - logical: Odometer Port outputs: [] inputs: [Odometer messages] physical: 'UDP only — EVK port 3; frees the serial configuration port while logging.' message_grammar: style: comma-delimited ASCII sentence start_character: '#' preamble: AP delimiter: ',' checksum_indicator: '*' terminator: CRLF form: '#AP,,,...*' example_output: '#APIMU,