FTM support for ESP32-C3 and connectionless mode

1. Support for FTM to work without any connection
1. Support for ESP32-C3 chip
3. Fix error case handling if FTM fails
4. Fix asynchronization, re-transmission related issues
This commit is contained in:
Nachiket Kukade
2021-01-26 12:49:18 +05:30
parent a71976ab54
commit 8de3b31d2d
9 changed files with 151 additions and 120 deletions

View File

@@ -1459,7 +1459,7 @@ For establishing a secure connection, AP and Station negotiate and agree on the
Detailed information on creating certificates and how to run wpa2_enterprise example on {IDF_TARGET_NAME} can be found in :example:`wifi/wpa2_enterprise`.
.. only:: esp32s2
.. only:: esp32s2 or esp32c3
Wi-Fi Location
-------------------------------
@@ -1473,8 +1473,8 @@ FTM is used to measure Wi-Fi Round Trip Time (Wi-Fi RTT) which is the time a WiF
FTM uses timestamps given by WiFi interface hardware at the time of arrival or departure of frames exchanged between a pair of devices. One entity called FTM Initiator (mostly a Station device) discovers the FTM Responder (can be a Station or an Access Point) and negotiates to start an FTM procedure. The procedure uses multiple Action frames sent in bursts and its ACK's to gather the timestamps data. FTM Initiator gathers the data in the end to calculate an average Round-Trip-Time.
{IDF_TARGET_NAME} supports FTM in below configuration:
- {IDF_TARGET_NAME} as FTM Initiator in Station mode with the associated AP acting as FTM Responder.
- {IDF_TARGET_NAME} as FTM Responder in SoftAP mode with an associated Station acting as FTM Initiator.
- {IDF_TARGET_NAME} as FTM Initiator in Station mode.
- {IDF_TARGET_NAME} as FTM Responder in SoftAP mode.
Distance measurement using RTT is not accurate, factors such as RF interference, multi-path travel, antenna orientation and lack of calibration increase these inaccuracies. For better results it is suggested to perform FTM between two {IDF_TARGET_NAME} devices as Station and SoftAP.
Refer to IDF example :idf_file:`examples/wifi/ftm/README.md` for steps on how to setup and perform FTM.