Skip to content

Fix uplink SPI RX opcode: 0x06 placeholder -> 0x02 (CMD_RADIO_RX_FIFO) - #36

Merged
jasonkwok475 merged 1 commit into
mainfrom
fix/uplink-spi-rx-opcode
Jul 26, 2026
Merged

jasonkwok475 merged 1 commit into
mainfrom
fix/uplink-spi-rx-opcode

Conversation

@ivan-lyf

Copy link
Copy Markdown
Contributor

No description provided.

The placeholder opcode 0x06 does not exist in the ulysses-gnss-radio
firmware's pull-mode command set (Core/Inc/protocol_config.h); the board
would count it as an unknown command and always return zeros, so uplink
commands would never reach the command thread.

Confirmed against the GNSS firmware source:
- Radio RX opcode is 0x02 (CMD_RADIO_RX_FIFO, oldest-first so commands
  keep their ground-sent order; 0x01 is the LIFO variant).
- Transaction framing matches what gnss_spi_read() already clocks:
  [CMD:1][DUMMY:4][PAYLOAD:256] = 261 bytes.
- The board splits the radio UART stream on 0x00, strips the terminator,
  and zero-pads messages into 256-byte queue slots, so the existing
  scan-to-first-zero COBS decode in command_thread.c works unchanged.
- The board boots hardcoded into pull mode; no config frame is required.
@ivan-lyf
ivan-lyf marked this pull request as ready for review July 26, 2026 19:51
@jasonkwok475
jasonkwok475 merged commit caa6cdb into main Jul 26, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants