2023-01-31 09:23:22 +00:00
| Supported Targets | ESP32-C3 | ESP32-S3 |
| ----------------- | -------- | -------- |
# Certification Test Example
(See the README.md file in the upper level 'examples' directory for more information about examples.)
This example shows how to use the Certification test APIS.
## How to use example
Before project configuration and build, be sure to set the correct chip target using `idf.py set-target <chip_name>` .
### Hardware Required
* A development board with ESP32-C3/ESP32-S3/ SoC.
* A USB cable for Power supply and programming
### Configure the project
Open the project configuration menu (`idf.py menuconfig`).
In the `Example Configuration` menu:
* Enable RF certification test functions.
* Disable Interrupt Watchdog.
* Disable Task Watchdog Timer.
### Build and Flash
Build the project and flash it to the board, then run the monitor tool to view the serial output:
Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.
(To exit the serial monitor, type ``Ctrl-]``.)
See the Getting Started Guide for all the steps to configure and use the ESP-IDF to build projects.
* [ESP-IDF Getting Started Guide on ESP32-C3 ](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/get-started/index.html )
* [ESP-IDF Getting Started Guide on ESP32-S3 ](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/get-started/index.html )
## Example Output
The command and output logs for each test are as follows:
```
==================================================
| RF certification test |
| |
| 1. Print 'help' to gain overview of commands |
| 2. Wi-Fi certification test |
| 3. Bluetooth certification test |
| |
=================================================
Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.
I (598) main_task: Returned from app_main()
phy>
phy> tx_contin_en 1
2023-03-21 02:49:02 +00:00
I (11870) phy: Tx continuous test!
phy>
2023-01-31 09:23:22 +00:00
phy> tx_contin_en 0
2023-03-21 02:49:02 +00:00
I (19860) phy: Tx packet test!
phy>
2023-01-31 09:23:22 +00:00
phy> cbw40m_en 1
2023-03-21 02:49:02 +00:00
I (25660) phy: cbw40m_en: 1
phy>
2023-01-31 09:23:22 +00:00
phy> cbw40m_en 0
2023-03-21 02:49:02 +00:00
I (33490) phy: cbw40m_en: 0
phy>
phy> esp_tx -n 1 -r 0x0 -p 0 -l 1000 -d 1000 -c 0
I (39640) phy: Wifi tx out: chan=1, rate=0x0, BK=0, len=1000, delay=1000, tx_num=0
phy>
2023-01-31 09:23:22 +00:00
phy> cmdstop
2023-03-21 02:49:02 +00:00
I (45460) phy: Tx Over 0x0
phy>
2023-01-31 09:23:22 +00:00
phy> esp_rx -n 1 -r 0
2023-03-21 02:49:02 +00:00
I (51130) phy: wifi rx start: channel is 1, rate is 0x0
phy>
2023-01-31 09:23:22 +00:00
phy> cmdstop
2023-03-21 02:49:02 +00:00
I (58800) phy: rx_num: 166 rx_rssi: -527
2023-02-16 07:31:32 +00:00
phy>
phy> get_rx_result
2023-03-21 02:49:02 +00:00
I (66350) cmd_phy: Desired: 167, Correct: 166, RSSI: -527, flag: 1
phy>
2023-01-31 09:23:22 +00:00
phy> wifiscwout -e 1 -c 1 -p 0
2023-03-21 02:49:02 +00:00
I (80310) phy: wifi single carrier tx start: chan=1, pwr=20-0.0
phy>
phy> wifiscwout -e 0 -c 1 -p 0
I (88260) phy: wifi single carrier tx stop
phy>
2023-01-31 09:23:22 +00:00
phy> esp_ble_tx -p 8 -n 1 -l 37 -t 2 -s 0x71764129 -r 0 -m 0
2023-03-21 02:49:02 +00:00
I (91470) phy: ble_tx:pwr=8,chan=1,len=37,type=2,syncw=0x71764129,rate=0,txnum=0
phy>
2023-01-31 09:23:22 +00:00
phy> cmdstop
2023-03-21 02:49:02 +00:00
I (98650) phy: rw done! e22e
phy>
2023-01-31 09:23:22 +00:00
phy> esp_ble_rx -n 1 -s 0x71764129 -r 0
2023-03-21 02:49:02 +00:00
I (104990) phy: RW LE V9 RX PER
phy>
2023-01-31 09:23:22 +00:00
phy> cmdstop
2023-03-21 02:49:02 +00:00
I (130260) phy: rx_num: 0 rx_rssi: 0
2023-02-16 07:31:32 +00:00
phy>
phy> get_rx_result
2023-03-21 02:49:02 +00:00
I (139550) cmd_phy: Desired: 0, Correct: 0, RSSI: 0, flag: 2
phy>
2023-01-31 09:23:22 +00:00
phy> bt_tx_tone -e 1 -n 1 -p 0
2023-03-21 02:49:02 +00:00
I (151900) phy: BT TX TONE START!
phy>
phy> bt_tx_tone -e 0 -n 1 -p 0
I (191970) phy: BT TX TONE STOP!
2023-01-31 09:23:22 +00:00
phy>
```
2023-04-23 05:08:39 +00:00
## PHY Commands Format
For BLE test, if you want to use `fcc_le_tx` and `rw_le_rx_per` legacy commands for tx/rx test, you need to enable `ESP_PHY_LEGACY_COMMANDS` in menuconfig, otherwise, the new format commands `esp_ble_tx` and `esp_ble_rx` are supported.
2023-01-31 09:23:22 +00:00
2023-04-23 05:08:39 +00:00
## Troubleshooting
2023-01-31 09:23:22 +00:00
2023-04-23 05:08:39 +00:00
For any technical queries, please open an [issue ](https://github.com/espressif/esp-idf/issues ) on GitHub. We will get back to you soon.