I'm new to working with the esp32 and still trying to wrap my head around how the protocol works when setting the protocol is set manually e.g.
Code: Select all
esp_wifi_set_protocol(WIFI_IF_STA, <protocol_value>);
esp_wifi_config_espnow_rate(WIFI_IF_STA, <phy_rate>);
- 1 --> 11B
- 3 --> 11BG
- 7 --> 11BGN
- 8 --> LR
- 15 --> 11BGN+LR
- 0-7 --> 11B
- 0-15 --> 11BG
- 0-31 --> 11BGN
- 0-7 + 41-42 --> LR
- 0-42 --> 11BGN+LR
Here's what confuses me:
- When I use rate 41 and the protocol is set to LR, I get rx_ctrl.rate=25 and rx_ctrl.mcs=0 (that one is expected). Where does the 25 come from? Which rates are used for the LR?
- When I try 11N and setting the rate to 31, the received rate is somewhere in the 20s and the mcs is usually 6.
- Is there a clear mapping between the rates and the protocol used?
- Throughput looks the same at 1Mbps and WIFI_PHY_RATE_LORA_250K which seems to cap at around 350kbps for a payload of 250 bytes