67typedef enum : uint16_t {
95typedef enum : uint8_t {
130typedef enum : uint8_t {
171typedef enum : uint8_t {
193typedef enum : uint8_t {
224typedef enum : uint8_t {
void c6_probe_decode_header(const uint8_t *buf, c6_hdr_t *out)
Unpack the twelve-byte esp-hosted payload header.
void c6_probe_print_header(const c6_hdr_t *h)
Print the decoded header fields on one console line.
c6_bitop_t
Shifts and masks used to unpack the header.
@ k_c6_shift_nibble
if_num sits in the upper nibble.
@ k_c6_mask_throttle
throttle_cmd occupies bits 1:0.
@ k_c6_mask_nibble
Four-bit field mask.
@ k_c6_shift_byte
Little-endian high-byte shift.
c6_hdr_offset_t
Byte offsets of every field in the esp-hosted payload header.
@ k_c6_hdr_off_off_lo
Payload offset, low byte.
@ k_c6_hdr_off_pkttype
reserved3 / hci_ or priv_pkt_type.
@ k_c6_hdr_off_seq_hi
Sequence number, high byte.
@ k_c6_hdr_off_throttle
throttle_cmd[1:0] | reserved[7:2].
@ k_c6_hdr_off_seq_lo
Sequence number, low byte.
@ k_c6_hdr_off_iface
if_type[3:0] | if_num[7:4].
@ k_c6_hdr_off_off_hi
Payload offset, high byte.
@ k_c6_hdr_off_flags
Fragment / wake / power-save bits.
@ k_c6_hdr_off_csum_lo
Checksum, low byte.
@ k_c6_hdr_off_len_lo
Payload length, low byte.
@ k_c6_hdr_off_len_hi
Payload length, high byte.
@ k_c6_hdr_off_csum_hi
Checksum, high byte.
void c6_probe_dump_payload(const uint8_t *buf, uint16_t len)
Hex-dump the leading payload bytes of a received frame.
c6_proto_priv_t
Private-interface packet and event tags, plus the filler signature.
@ k_c6_dummy_if_num
if_num the C6 stamps into filler frames.
@ k_c6_priv_event_init
event_type of the boot INIT event.
@ k_c6_priv_pkt_event
priv_pkt_type of an event frame.
c6_proto_dim_t
Fixed transport dimensions of the esp-hosted SPI FD transport.
@ k_c6_proto_payload_max
Largest payload the header may claim.
@ k_c6_proto_buf_size
Bytes clocked per transaction.
@ k_c6_proto_hdr_size
sizeof(struct esp_payload_header).
c6_frame_kind_t
Classification of one received 1600-byte transaction.
@ k_c6_frame_data
Real frame, checksum verified.
@ k_c6_frame_bad_csum
Header shape sane, checksum mismatched.
@ k_c6_frame_garbage
No recognisable esp-hosted structure.
@ k_c6_frame_idle
The C6's idle filler frame.
uint16_t c6_probe_checksum(const uint8_t *buf, uint16_t count)
Recompute the esp-hosted checksum over a received frame.
c6_frame_kind_t c6_probe_classify(const c6_hdr_t *h)
Judge a decoded header against the upstream receive rules.
c6_if_type_t
esp-hosted interface identifiers carried in if_type.
@ k_c6_if_hci
Bluetooth HCI.
@ k_c6_if_priv
Private events, e.g.
@ k_c6_if_ap
Wi-Fi soft-AP data.
@ k_c6_if_serial
Control-plane (RPC) channel.
@ k_c6_if_max
Idle filler marker.
@ k_c6_if_sta
Wi-Fi station data.
@ k_c6_if_test
Raw throughput test channel.
@ k_c6_if_eth
Ethernet data.
@ k_c6_if_invalid
Unused slot zero.
Decoded esp-hosted payload header plus the locally recomputed sum.
uint16_t computed
Checksum recomputed over the receive buffer.
uint16_t seq_num
Sender sequence number.
uint16_t checksum
Checksum carried on the wire.
uint16_t offset
Payload offset; always the header size.
uint16_t len
Payload length claimed by the sender.
uint8_t pkt_type
HCI / private packet sub-type.
uint8_t if_num
Interface instance number.
uint8_t flags
Fragment / wake / power-save bits.
uint8_t throttle
Wi-Fi transmit throttle command.
uint8_t if_type
Interface identifier (c6_if_type_t).