Control block structure used to hold metadata for the payload passed in sl_wifi_send_transceiver_data.

Contains control flags and other metadata for the payload. The control flags specify various options for the packet, such as whether it is a 4-address packet, a QoS packet, or if a fixed data rate should be used.

Public Attributes#

uint8_t

Control flags bit description:

uint8_t

Reserved.

uint8_t

Reserved.

uint8_t

Data Packets are queued to respective queue based on priority. Best Effort - 0, Background - 1, Video - 2, Voice - 3.

Rates shall be provided as per sl_wifi_data_rate_t. Only 11b/g rates shall be supported.

uint32_t

Used for synchronization between data packets sent and reports received. Application shall provide token/identifier as per PPDU. MAC layer sends the same token/identifier in status report along with the status of the transmitted packet.

uint8_t

Receiver MAC address.

uint8_t

Transmitter MAC address.

uint8_t

Destination MAC address.

uint8_t

Source MAC address. Initialization of addr4 is optional.

Public Attribute Documentation#

ctrl_flags#

uint8_t sl_wifi_transceiver_tx_data_control_t::ctrl_flags

Control flags bit description:

Bit position

ctrl_flags bit description

0

Should be set for 4-address packet or unset for 3-address packet. addr4 is ignored if set to 0.

1

Should be set for QoS packet. QoS control field shall not be present in the MAC header for non-QoS packet. priority is ignored if set to 0.

2

Should be set to use the fixed data rate provided in the rate field. If set to 0, rate field is ignored and auto rate shall be used.

3

Should be set to enable To DS bit in Frame Control. Valid only for 3-addr packet (bit 0 is unset).

4

Should be set to enable From DS bit in Frame Control. Valid only for 3-addr packet (bit 0 is unset).

5

Should be set if host requires TX data status report. Token is used for synchronization between data packets sent and reports received.

6:7

Reserved.

Note

  • If addr1 is multicast/broadcast, ctrl_flags bit 1 is ignored, and the frame is sent as a non-QoS frame, that is, QoS control field should not be present in the MAC header.


Definition at line 673 of file components/protocol/wifi/inc/sl_wifi_types.h

reserved1#

uint8_t sl_wifi_transceiver_tx_data_control_t::reserved1

Reserved.


Definition at line 674 of file components/protocol/wifi/inc/sl_wifi_types.h

reserved2#

uint8_t sl_wifi_transceiver_tx_data_control_t::reserved2

Reserved.


Definition at line 675 of file components/protocol/wifi/inc/sl_wifi_types.h

priority#

uint8_t sl_wifi_transceiver_tx_data_control_t::priority

Data Packets are queued to respective queue based on priority. Best Effort - 0, Background - 1, Video - 2, Voice - 3.


Definition at line 677 of file components/protocol/wifi/inc/sl_wifi_types.h

rate#

sl_wifi_data_rate_t sl_wifi_transceiver_tx_data_control_t::rate

Rates shall be provided as per sl_wifi_data_rate_t. Only 11b/g rates shall be supported.


Definition at line 679 of file components/protocol/wifi/inc/sl_wifi_types.h

token#

uint32_t sl_wifi_transceiver_tx_data_control_t::token

Used for synchronization between data packets sent and reports received. Application shall provide token/identifier as per PPDU. MAC layer sends the same token/identifier in status report along with the status of the transmitted packet.


Definition at line 681 of file components/protocol/wifi/inc/sl_wifi_types.h

addr1#

uint8_t sl_wifi_transceiver_tx_data_control_t::addr1[6]

Receiver MAC address.


Definition at line 682 of file components/protocol/wifi/inc/sl_wifi_types.h

addr2#

uint8_t sl_wifi_transceiver_tx_data_control_t::addr2[6]

Transmitter MAC address.


Definition at line 683 of file components/protocol/wifi/inc/sl_wifi_types.h

addr3#

uint8_t sl_wifi_transceiver_tx_data_control_t::addr3[6]

Destination MAC address.


Definition at line 684 of file components/protocol/wifi/inc/sl_wifi_types.h

addr4#

uint8_t sl_wifi_transceiver_tx_data_control_t::addr4[6]

Source MAC address. Initialization of addr4 is optional.


Definition at line 685 of file components/protocol/wifi/inc/sl_wifi_types.h