Code Monkey home page Code Monkey logo

esp-csi's Introduction

ESP-CSI [中文]

Introduction to CSI

Channel State Information (CSI) is an important parameter that describes the characteristics of a wireless channel, including indicators such as signal amplitude, phase, and signal delay. In Wi-Fi communication, CSI is used to measure the state of the wireless network channel. By analyzing and studying changes in CSI, one can infer physical environmental changes that cause channel state changes, achieving non-contact intelligent sensing. CSI is very sensitive to environmental changes. It can sense not only large movements such as people or animals walking and running but also subtle actions in a static environment, such as breathing and chewing. These capabilities make CSI widely applicable in smart environment monitoring, human activity monitoring, wireless positioning, and other applications.

Basic Knowledge

To better understand CSI technology, we provide some related basic knowledge documents (to be updated gradually):

Advantages of Espressif CSI

  • Full series support: All ESP32 series support CSI, including ESP32 / ESP32-S2 / ESP32-C3 / ESP32-S3 / ESP32-C6.
  • Strong ecosystem: Espressif is a global leader in the Wi-Fi MCU field, perfectly integrating CSI with existing IoT devices.
  • More information: ESP32 provides rich channel information, including RSSI, RF noise floor, reception time, and the 'rx_ctrl' field of the antenna.
  • Bluetooth assistance: ESP32 also supports BLE, for example, it can scan surrounding devices to assist detection.
  • Powerful processing capability: The ESP32 CPU is dual-core 240MHz, supporting AI instruction sets, capable of running machine learning and neural networks.
  • OTA upgrade: Existing projects can upgrade to new CSI features through software OTA without additional hardware costs.

Example Introduction

Helps users quickly get started with CSI functionality, demonstrating the acquisition and initial analysis of CSI data through basic examples. For details, see README.

  • csi_recv demonstrates the ESP32 as a receiver example.
  • csi_send demonstrates the ESP32 as a sender example.
  • csi_recv_router demonstrates using a router as the sender, with the ESP32 triggering the router to send CSI packets via Ping.
  • tools provides scripts for assisting CSI data analysis, such as csi_data_read_parse.py.

Provides some applications using CSI data, including RainMaker cloud reporting and human activity detection.

  • connect_rainmaker demonstrates capturing CSI data and uploading it to Espressif's RainMaker cloud platform.
  • console_test demonstrates an interactive console that allows dynamic configuration and capture of CSI data, with applications for human activity detection algorithms.

How to get CSI

4.1 Get router CSI

  • How ​​to implement: ESP32 sends a Ping packet to the router, and receives the CSI information carried in the Ping Replay returned by the router.
  • Advantage: Only one ESP32 plus router can be completed.
  • Disadvantages: Depends on the router, such as the location of the router, the supported Wi-Fi protocol, etc.
  • Applicable scenario: There is only one ESP32 in the environment, and there is a router in the detection environment.

4.2 Get CSI between devices

  • How ​​to implement: ESP32 A and B both send Ping packets to the router, and ESP32 A receives the CSI information carried in the Ping Replay returned by ESP32 B, which is a supplement to the first detection scenario.
  • Advantage: Does not depend on the location of the router, and is not affected by other devices connected under the router.
  • Disadvantage: Depends on the Wi-Fi protocol supported by the router, environment.
  • Applicable scenario: There must be more than two ESP32s in the environment.

4.3 Get CSI specific devices

  • How ​​to implement: The packet sending device continuously switches channels to send out packets. ESP32 A, B, and C all obtain the CSI information carried in the broadcast packet of the packet sending device. This method has the highest detection accuracy and reliability.
  • Advantages: The completion is not affected by the router, and the detection accuracy is high. When there are multiple devices in the environment, only one packet sending device will cause little interference to the network environment.
  • Disadvantages: In addition to the ordinary ESP32, it is also necessary to add a special package issuing equipment, the cost is the same and higher.
  • Applicable scenarios: Suitable for scenarios that require high accuracy and multi-device cluster positioning.

5 Note

  1. The effect of external IPEX antenna is better than PCB antenna, PCB antenna has directivity.
  2. Test in an unmanned environment. Avoid the influence of other people's activities on test results.

6 Related resources

  • ESP-IDF Programming Guide is the documentation for the Espressif IoT development framework.
  • ESP-WIFI-CSI Guide is the use of ESP-WIFI-CSI Description.
  • If you find a bug or have a feature request, you can submit it on Issues on GitHub. Please check to see if your question already exists in the existing Issues before submitting it.

Reference

  1. Through-Wall Human Pose Estimation Using Radio Signals
  2. A list of awesome papers and cool resources on WiFi CSI sensing

esp-csi's People

Contributors

esphuifeng avatar ldab avatar lijunru-hub avatar tangyumei3535 avatar wujiangang avatar zhanzhaocheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp-csi's Issues

Which subcarriers are invalid when first_word_invalid is true? (AEGHB-215)

Hi,

The ESP32 official document indicates if 'first_word_invalid' field of 'wifi_csi_info_t' is true, then the first four bytes of CSI data is invalid due to the hardware limitation of ESP32.

Q1: The CSI data collected by ESP32 starts from subcarrier 0 - 31, and the first four bytes corresponds to two subcarriers (after merging the imaginary and real parts). Does this mean subcarrier 0 and subcarrier 1 are invalid when 'first_word_invalid' is true? In my case I always have a very high absolute value at subcarrier 0.

Q2: Will ESP32-S3 and ESP32-C3 have the same issue?

Any help will be appreciated!

how to build the project

my idf version is v4.4-beta
I run idf.py build,and then it print

root@dragon:/esp/esp-adf/examples/esp-csi# idf.py build
WARNING: Support for Python 2 is deprecated and will be removed in future versions.
Executing action: all (aliases: build)
Running cmake in directory /esp/esp-adf/examples/esp-csi/build
Executing "cmake -G 'Unix Makefiles' -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /esp/esp-adf/examples/esp-csi"...
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as

project(ProjectName)

near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.

fatal: not a git repository (or any of the parent directories): .git
Currect esp-idf version is
check_idf_version.sh: 8: [[: not found
CMake Error at CMakeLists.txt:4 (idf_build_get_property):
Unknown CMake command "idf_build_get_property".

CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 3.16)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!
See also "/esp/esp-adf/examples/esp-csi/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1


then I run cmake . it print:

root@dragon:/esp/esp-idf# cd /esp/esp-adf/examples/esp-csi
root@dragon:/esp/esp-adf/examples/esp-csi# cmake .
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as

project(ProjectName)

near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.

fatal: not a git repository (or any of the parent directories): .git
Currect esp-idf version is
check_idf_version.sh: 8: [[: not found
CMake Error at CMakeLists.txt:4 (idf_build_get_property):
Unknown CMake command "idf_build_get_property".


how can I build the example?

esp - csi code compile link error when using vs code.

........
[927/928] Linking CXX executable console_test.elf
FAILED: console_test.elf
cmd.exe /C "cd . && C:\Users\zhaokai.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address @CMakeFiles\console_test.elf.rsp -o console_test.elf && cd ."
c:/users/zhaokai/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-csi-master/esp-csi-master/lib/esp32/libesp-csi.a(esp_radar.c.obj):(.literal.csi_data_combined_task+0x2c): undefined reference to xQueueReceive' c:/users/zhaokai/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-csi-master/esp-csi-master/lib/esp32/libesp-csi.a(esp_radar.c.obj): in function csi_data_combined_task':
/home/zhanghuifeng/esp/esp-csi/src/esp_radar.c:439: undefined reference to xQueueReceive' c:/users/zhaokai/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-csi-master/esp-csi-master/lib/esp32/libesp-csi.a(esp_radar.c.obj): in function csi_data_handle_task':
/home/zhanghuifeng/esp/esp-csi/src/esp_radar.c:348: undefined reference to `xQueueReceive'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
终端进程“C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command cmake --build .”已终止,退出代码: 1。

Esp32 detect the change of human breathing? (AEGHB-63)

Thank you for the information, I would like to ask: Could the csi extracted from esp32 detect the change of human breathing? Could adding an external antenna improve the sensitivity a lot, and could the sampling rate of csi be set?

Bugs in examples/console_test/tools/analisys_csi_data? (AEGHB-204)

In the examples/console_test/tools/analisys_csi_data.py line 65, the assumption is that the first byte of each channel response is the real number and the second one is the imaginary number. However this contradicts the statement in the ESP32 Wi-Fi Channel State Information documentation where it says "Each channel frequency response of sub-carrier is recorded by two bytes of signed characters. The first one is imaginary part and the second one is real part." Can you please verify the which one is the correct in order to reconstruct the CSI complex data from the byte data? Thanks.

Screen Shot 2021-10-25 at 3 04 41 PM

The ESP32 cannot ping the router

I used an ESP32 and a router to collect channel status information, set the router as AP and ESP32 as STA, and finally used ESP32 to ping the router, which failed. Come to consult。
捕获1
捕获2
捕获3
捕获4

On timestamp interval between successive CSI feedback

I use
ping 192.168.4.1 -i 0.2
to set the time interval to 0.2 seconds, but I get the following time intervals by differentiating successive CSI feedback local_timestamp:

image

As you can see, most intervals are approximately 0.2s. What I can understand are those ~0.4s and ~0.6s intervals which may be caused by extra ping time waiting or packet loss, but I can't figure out why there are many ~0.01s intervals. Can I simply remove those samples?

Continuous detective CSI In a particular channel

  1. I don't use ping commanda and i get the CSI for the specific channel with the code you provide. But filtering sometimes fails,
    I often get CSI data from other devices. Is there any way to solve this?
  2. I do an FTM data exchange on the channel 1, but no CSI data is generated on the same channel. Do you know why? Or do you have any good suggestions?

Thank you!

Cannot save CSI data from device log

82388d0e-1512-4107-96a7-af02c2a4ebbc
Hi, i have a problem where i cannot save the CSi raw data using ctrl+t , ctrl+l after command "csi -o". can you give more details step on how to save the data. and from the photo actually i clicked ctrl+T but it says ctrl+J. hope you guys can help me

Where's the defination of esp_wifi_rader_x api?

I found esp_wifi_radar_init declaration in esp_radar.h but can not found it's implementation. Is the implementation available to user? Or where could I find document about function in esp_radar.h?

Is ESP32 CSI support MIMO? (AEGHB-111)

As far as I know, CSI is a martrix which dimension is rx_antenna_numtx_antenna_numsubcarrier_num。For example when collecting CSI using intel 5300 card which has three antenna and a router which has two antenna, the CSI data per frame would be a 3230 martrix.
Although ESP32 only support one antenna, is it possible for esp32 to get 1nsubcarrier_num CSI when AP has n antenna work at the same time?

What is the "useful subcarrier index" In analysis_csi_data.py

I really appreciate that you provide us very efficient tool for analyzing CSI, but I got a question just like the title of this issue. In analysis_csi_data.py, you picked 174 amplitudes of subcarries to plot. However, my understanding is that IEEE 802.11.a/n uses 52 subcarriers to send data, so the number of amplitude should be up to 52. In my research, these 174 amplitudes worked very well, but I want to make sure what these 174 amplitudes are.

useful subcarrier channel in tools/analisys_csi_data.py

Can anyone explain what are the useful subcarrier channels in tools/analisys_csi_data.py:

image

Where can I find any clue in the official documents?

It seems that the amplitude of some other subcarrier channels are also negligible. Below is the plot of one of my data sampling:
image

further advance the baud rate of the serial port

My OS is windows10.
Test on ''esp-csi/examples/get-started/''.
The errors are coming as follows when i called "python csi_data_read_parse.py -p COM5":

open success
data is not incomplete
element number is not equal

So i want to konw how to further advance the baud rate of the serial port? And the Windows systems support up to 128000. Can Ubuntu systems support higher baud rates?

Missing cmd_system.h file

I am new to programming the ESP32-C3 chip and want to get the CSI data for distance ranging between two chips. I've tried to clone your repo for some ideas but I am getting this error trying to flash the console_test program to my chip. I can see a system_cmd.c file in your main folder but no cmd_system.h file.

Screenshot from 2021-10-30 16-03-02

connect_qcloud 编译不过(配合moonlight开发板)

[101/101] Generating binary image from built executable
esptool.py v3.0
Generated D:/ESP/esp-idf/examples/esp-csi-master/examples/connect_qcloud/build/bootloader/bootloader.bin
[1188/1202] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/light_driver.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/light_driver.c.obj
ccache D:\ESP.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -I../main -I../../../../../components/newlib/platform_include -I../../../../../components/freertos/include -I../../../../../components/freertos/xtensa/include -I../../../../../components/heap/include -I../../../../../components/log/include -I../../../../../components/lwip/include/apps -I../../../../../components/lwip/include/apps/sntp -I../../../../../components/lwip/lwip/src/include -I../../../../../components/lwip/port/esp32/include -I../../../../../components/lwip/port/esp32/include/arch -I../../../../../components/soc/src/esp32/. -I../../../../../components/soc/src/esp32/include -I../../../../../components/soc/include -I../../../../../components/esp_rom/include -I../../../../../components/esp_common/include -I../../../../../components/esp_system/include -I../../../../../components/xtensa/include -I../../../../../components/xtensa/esp32/include -I../../../../../components/esp32/include -I../../../../../components/driver/include -I../../../../../components/driver/esp32/include -I../../../../../components/esp_ringbuf/include -I../../../../../components/efuse/include -I../../../../../components/efuse/esp32/include -I../../../../../components/espcoredump/include -I../../../../../components/esp_timer/include -I../../../../../components/esp_ipc/include -I../../../../../components/soc/soc/esp32/include -I../../../../../components/soc/soc/esp32/../include -I../../../../../components/soc/soc/esp32/private_include -I../../../../../components/vfs/include -I../../../../../components/esp_wifi/include -I../../../../../components/esp_wifi/esp32/include -I../../../../../components/esp_event/include -I../../../../../components/esp_netif/include -I../../../../../components/esp_eth/include -I../../../../../components/tcpip_adapter/include -I../../../../../components/app_trace/include -I../../../../../components/mbedtls/port/include -I../../../../../components/mbedtls/mbedtls/include -I../../../../../components/mbedtls/esp_crt_bundle/include -I../../../../../components/bootloader_support/include -I../../../../../components/app_update/include -I../../../../../components/spi_flash/include -I../../../../../components/wpa_supplicant/include -I../../../../../components/wpa_supplicant/port/include -I../../../../../components/wpa_supplicant/include/esp_supplicant -I../../../../../components/nvs_flash/include -I../../../../../components/pthread/include -I../../../../../components/perfmon/include -I../../../../../components/asio/asio/asio/include -I../../../../../components/asio/port/include -I../../../../../components/bt/include -I../../../../../components/bt/common/osi/include -I../../../../../components/bt/host/bluedroid/api/include/api -I../../../../../components/cbor/port/include -I../../../../../components/coap/port/include -I../../../../../components/coap/port/include/coap -I../../../../../components/coap/libcoap/include -I../../../../../components/coap/libcoap/include/coap2 -I../../../../../components/console -I../../../../../components/nghttp/port/include -I../../../../../components/nghttp/nghttp2/lib/includes -I../../../../../components/esp-tls -I../../../../../components/esp_adc_cal/include -I../../../../../components/esp_gdbstub/include -I../../../../../components/esp_hid/include -I../../../../../components/tcp_transport/include -I../../../../../components/esp_http_client/include -I../../../../../components/esp_http_server/include -I../../../../../components/esp_https_ota/include -I../../../../../components/protobuf-c/protobuf-c -I../../../../../components/protocomm/include/common -I../../../../../components/protocomm/include/security -I../../../../../components/protocomm/include/transports -I../../../../../components/mdns/include -I../../../../../components/esp_local_ctrl/include -I../../../../../components/sdmmc/include -I../../../../../components/esp_serial_slave_link/include -I../../../../../components/esp_websocket_client/include -I../../../../../components/expat/expat/expat/lib -I../../../../../components/expat/port/include -I../../../../../components/wear_levelling/include -I../../../../../components/fatfs/diskio -I../../../../../components/fatfs/vfs -I../../../../../components/fatfs/src -I../../../../../components/freemodbus/common/include -I../../../../../components/idf_test/include -I../../../../../components/idf_test/include/esp32 -I../../../../../components/jsmn/include -I../../../../../components/json/cJSON -I../../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../../components/libsodium/port_include -I../../../../../components/mqtt/esp-mqtt/include -I../../../../../components/openssl/include -I../../../../../components/spiffs/include -I../../../../../components/ulp/include -I../../../../../components/unity/include -I../../../../../components/unity/unity/src -I../../../../../components/wifi_provisioning/include -I../../../include -I../../../../system/console/components/cmd_nvs -I../../../../system/console/components/cmd_system -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v4.2-dirty" -DESP_PLATFORM -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/light_driver.c.obj -MF esp-idf\main\CMakeFiles__idf_main.dir\light_driver.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/light_driver.c.obj -c ../main/light_driver.c
../main/light_driver.c:26:10: fatal error: led_pwm.h: No such file or directory
#include "led_pwm.h"
^~~~~~~~~~~
compilation terminated.
[1190/1202] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/qcloud_light.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/qcloud_light.c.obj
ccache D:\ESP.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -I../main -I../../../../../components/newlib/platform_include -I../../../../../components/freertos/include -I../../../../../components/freertos/xtensa/include -I../../../../../components/heap/include -I../../../../../components/log/include -I../../../../../components/lwip/include/apps -I../../../../../components/lwip/include/apps/sntp -I../../../../../components/lwip/lwip/src/include -I../../../../../components/lwip/port/esp32/include -I../../../../../components/lwip/port/esp32/include/arch -I../../../../../components/soc/src/esp32/. -I../../../../../components/soc/src/esp32/include -I../../../../../components/soc/include -I../../../../../components/esp_rom/include -I../../../../../components/esp_common/include -I../../../../../components/esp_system/include -I../../../../../components/xtensa/include -I../../../../../components/xtensa/esp32/include -I../../../../../components/esp32/include -I../../../../../components/driver/include -I../../../../../components/driver/esp32/include -I../../../../../components/esp_ringbuf/include -I../../../../../components/efuse/include -I../../../../../components/efuse/esp32/include -I../../../../../components/espcoredump/include -I../../../../../components/esp_timer/include -I../../../../../components/esp_ipc/include -I../../../../../components/soc/soc/esp32/include -I../../../../../components/soc/soc/esp32/../include -I../../../../../components/soc/soc/esp32/private_include -I../../../../../components/vfs/include -I../../../../../components/esp_wifi/include -I../../../../../components/esp_wifi/esp32/include -I../../../../../components/esp_event/include -I../../../../../components/esp_netif/include -I../../../../../components/esp_eth/include -I../../../../../components/tcpip_adapter/include -I../../../../../components/app_trace/include -I../../../../../components/mbedtls/port/include -I../../../../../components/mbedtls/mbedtls/include -I../../../../../components/mbedtls/esp_crt_bundle/include -I../../../../../components/bootloader_support/include -I../../../../../components/app_update/include -I../../../../../components/spi_flash/include -I../../../../../components/wpa_supplicant/include -I../../../../../components/wpa_supplicant/port/include -I../../../../../components/wpa_supplicant/include/esp_supplicant -I../../../../../components/nvs_flash/include -I../../../../../components/pthread/include -I../../../../../components/perfmon/include -I../../../../../components/asio/asio/asio/include -I../../../../../components/asio/port/include -I../../../../../components/bt/include -I../../../../../components/bt/common/osi/include -I../../../../../components/bt/host/bluedroid/api/include/api -I../../../../../components/cbor/port/include -I../../../../../components/coap/port/include -I../../../../../components/coap/port/include/coap -I../../../../../components/coap/libcoap/include -I../../../../../components/coap/libcoap/include/coap2 -I../../../../../components/console -I../../../../../components/nghttp/port/include -I../../../../../components/nghttp/nghttp2/lib/includes -I../../../../../components/esp-tls -I../../../../../components/esp_adc_cal/include -I../../../../../components/esp_gdbstub/include -I../../../../../components/esp_hid/include -I../../../../../components/tcp_transport/include -I../../../../../components/esp_http_client/include -I../../../../../components/esp_http_server/include -I../../../../../components/esp_https_ota/include -I../../../../../components/protobuf-c/protobuf-c -I../../../../../components/protocomm/include/common -I../../../../../components/protocomm/include/security -I../../../../../components/protocomm/include/transports -I../../../../../components/mdns/include -I../../../../../components/esp_local_ctrl/include -I../../../../../components/sdmmc/include -I../../../../../components/esp_serial_slave_link/include -I../../../../../components/esp_websocket_client/include -I../../../../../components/expat/expat/expat/lib -I../../../../../components/expat/port/include -I../../../../../components/wear_levelling/include -I../../../../../components/fatfs/diskio -I../../../../../components/fatfs/vfs -I../../../../../components/fatfs/src -I../../../../../components/freemodbus/common/include -I../../../../../components/idf_test/include -I../../../../../components/idf_test/include/esp32 -I../../../../../components/jsmn/include -I../../../../../components/json/cJSON -I../../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../../components/libsodium/port_include -I../../../../../components/mqtt/esp-mqtt/include -I../../../../../components/openssl/include -I../../../../../components/spiffs/include -I../../../../../components/ulp/include -I../../../../../components/unity/include -I../../../../../components/unity/unity/src -I../../../../../components/wifi_provisioning/include -I../../../include -I../../../../system/console/components/cmd_nvs -I../../../../system/console/components/cmd_system -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v4.2-dirty" -DESP_PLATFORM -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/qcloud_light.c.obj -MF esp-idf\main\CMakeFiles__idf_main.dir\qcloud_light.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/qcloud_light.c.obj -c ../main/qcloud_light.c
../main/qcloud_light.c:14:10: fatal error: esp_qcloud_log.h: No such file or directory
#include "esp_qcloud_log.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
[1191/1202] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/app_main.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/app_main.c.obj
ccache D:\ESP.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -I../main -I../../../../../components/newlib/platform_include -I../../../../../components/freertos/include -I../../../../../components/freertos/xtensa/include -I../../../../../components/heap/include -I../../../../../components/log/include -I../../../../../components/lwip/include/apps -I../../../../../components/lwip/include/apps/sntp -I../../../../../components/lwip/lwip/src/include -I../../../../../components/lwip/port/esp32/include -I../../../../../components/lwip/port/esp32/include/arch -I../../../../../components/soc/src/esp32/. -I../../../../../components/soc/src/esp32/include -I../../../../../components/soc/include -I../../../../../components/esp_rom/include -I../../../../../components/esp_common/include -I../../../../../components/esp_system/include -I../../../../../components/xtensa/include -I../../../../../components/xtensa/esp32/include -I../../../../../components/esp32/include -I../../../../../components/driver/include -I../../../../../components/driver/esp32/include -I../../../../../components/esp_ringbuf/include -I../../../../../components/efuse/include -I../../../../../components/efuse/esp32/include -I../../../../../components/espcoredump/include -I../../../../../components/esp_timer/include -I../../../../../components/esp_ipc/include -I../../../../../components/soc/soc/esp32/include -I../../../../../components/soc/soc/esp32/../include -I../../../../../components/soc/soc/esp32/private_include -I../../../../../components/vfs/include -I../../../../../components/esp_wifi/include -I../../../../../components/esp_wifi/esp32/include -I../../../../../components/esp_event/include -I../../../../../components/esp_netif/include -I../../../../../components/esp_eth/include -I../../../../../components/tcpip_adapter/include -I../../../../../components/app_trace/include -I../../../../../components/mbedtls/port/include -I../../../../../components/mbedtls/mbedtls/include -I../../../../../components/mbedtls/esp_crt_bundle/include -I../../../../../components/bootloader_support/include -I../../../../../components/app_update/include -I../../../../../components/spi_flash/include -I../../../../../components/wpa_supplicant/include -I../../../../../components/wpa_supplicant/port/include -I../../../../../components/wpa_supplicant/include/esp_supplicant -I../../../../../components/nvs_flash/include -I../../../../../components/pthread/include -I../../../../../components/perfmon/include -I../../../../../components/asio/asio/asio/include -I../../../../../components/asio/port/include -I../../../../../components/bt/include -I../../../../../components/bt/common/osi/include -I../../../../../components/bt/host/bluedroid/api/include/api -I../../../../../components/cbor/port/include -I../../../../../components/coap/port/include -I../../../../../components/coap/port/include/coap -I../../../../../components/coap/libcoap/include -I../../../../../components/coap/libcoap/include/coap2 -I../../../../../components/console -I../../../../../components/nghttp/port/include -I../../../../../components/nghttp/nghttp2/lib/includes -I../../../../../components/esp-tls -I../../../../../components/esp_adc_cal/include -I../../../../../components/esp_gdbstub/include -I../../../../../components/esp_hid/include -I../../../../../components/tcp_transport/include -I../../../../../components/esp_http_client/include -I../../../../../components/esp_http_server/include -I../../../../../components/esp_https_ota/include -I../../../../../components/protobuf-c/protobuf-c -I../../../../../components/protocomm/include/common -I../../../../../components/protocomm/include/security -I../../../../../components/protocomm/include/transports -I../../../../../components/mdns/include -I../../../../../components/esp_local_ctrl/include -I../../../../../components/sdmmc/include -I../../../../../components/esp_serial_slave_link/include -I../../../../../components/esp_websocket_client/include -I../../../../../components/expat/expat/expat/lib -I../../../../../components/expat/port/include -I../../../../../components/wear_levelling/include -I../../../../../components/fatfs/diskio -I../../../../../components/fatfs/vfs -I../../../../../components/fatfs/src -I../../../../../components/freemodbus/common/include -I../../../../../components/idf_test/include -I../../../../../components/idf_test/include/esp32 -I../../../../../components/jsmn/include -I../../../../../components/json/cJSON -I../../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../../components/libsodium/port_include -I../../../../../components/mqtt/esp-mqtt/include -I../../../../../components/openssl/include -I../../../../../components/spiffs/include -I../../../../../components/ulp/include -I../../../../../components/unity/include -I../../../../../components/unity/unity/src -I../../../../../components/wifi_provisioning/include -I../../../include -I../../../../system/console/components/cmd_nvs -I../../../../system/console/components/cmd_system -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v4.2-dirty" -DESP_PLATFORM -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/app_main.c.obj -MF esp-idf\main\CMakeFiles__idf_main.dir\app_main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/app_main.c.obj -c ../main/app_main.c
In file included from ../main/app_main.c:31:
../main/qcloud_light.h:13:10: fatal error: esp_qcloud_log.h: No such file or directory
#include "esp_qcloud_log.h"
^~~~~~~~~~~~~~~~~~

CSI not generated from UDP broadcast packets (AEGHB-213)

From the readme file it appears CSI (Channel State Information) can be generated from the UDP broadcast packets. So I have written a sample cmake based application to see if the CSI information can be generated upon receiving the UDP broadcasted packets, When run the application, i don't see CSI callback (from the WiFi driver task in the receiver application) is been invoked for each broadcast packet is received.

The sample ready to build application can be found at this repo: https://github.com/RaMaverick/WiFiUseCases.git

There are 2 application in the above repo. The UDP broadcast sender & receiver application. The sender application's WiFi driver is brought up in SoftAp mode & the receiver application is initialized with WiFi Station mode. The receiver application has CSI enabled.

When application is flash & loaded onto ESP32 module, the periodic 1 second trace (INFO) would indicate the number of broadcast packets sent, received & number of CSI callbacks. From that trace you can see there are virtually zero CSI callbacks. I was expecting to see CSI callback for each broadcast packet received. However that's not the case.

As such, can you pls investigate / clarify why CSI data isn't generated on the broadcast packets?

Environment/Device:-
Device : ESP32-WROOM-32 (DevKit1)
IDF framework version: esp-idf-v4.2.1

idf.py --version
1.0.1

Screenshot of the trace lines, showing zero CSI callbacks from WiFi task. The top trace is sender & bottom is receiver:-

image

#include "cmd_system.h"

esp32-idf:v4.4
os: win10

../main/csi_cmd.c:15:10: fatal error: cmd_system.h: No such file or directory
 #include "cmd_system.h"

[Question] By which API is the rx gain fixed? (AEGHB-212)

Hi, thank you for making wonderful CSI project. And I have some questions.

As far as I know, rx gain should be fixed (= Automatic gain control should be disabled) to obtain meaningful CSI data which can detect human movement.
Otherwise, CSI would be almost constant regardless of human movement.

To check whether there exist API which does the function of fixing rx gain, I looked up project codes (e.g., esp-csi/include/esp_radar.h), but there is no API whose name includes "fix" or "rx gain".

So I'd like to ask

  1. whether rx gain fixing function is implemented (and used) or not, and
  2. which API contains the Rx gain fixing function.

Thanks for reading!

CSI data format

Hello,

I want to make sure the CSI data format.

For example, the csi data:
CSI_DATA,0,ac:67:b2:53:8f:31,-26,11,1,7,1,1,1,0,0,0,0,-88,0,13,2,51236189,0,66,0,384,1,"[66,32,4,0,0,0,0,0,0,0,3,0,15,0,15,-1,15,-1,15,-1,15,-1,15,-1,15,-1,15,-2,15,-2,14,-2,14,-2,14,-3,15,-3,15,-3,15,-3,15,-4,15,-4,15,-4,15,-4,15,-4,15,-4,15,-5,14,-5,14,-6,15,-6,15,-7,7,-4,15,-7,15,-7,15,-7,15,-7,16,-7,16,-7,16,-7,17,-7,17,-8,17,-8,17,-8,18,-8,18,-8,18,-8,19,-8,19,-8,19,-7,20,-7,20,-6,20,-6,20,-5,21,-4,20,-4,21,-4,21,-3,21,-2,5,-1,0,0,0,0,0,0,0,0,1,0,4,0,28,3,28,2,28,2,28,2,28,0,28,0,28,0,28,-1,28,-1,28,-1,28,-2,28,-2,28,-3,28,-3,28,-3,28,-4,28,-4,28,-5,28,-5,28,-6,28,-7,28,-7,28,-7,28,-8,28,-8,28,-9,28,-10,28,-10,28,-11,29,-11,29,-11,29,-12,29,-13,29,-13,30,-13,30,-14,30,-14,31,-14,31,-15,32,-15,32,-15,33,-15,34,-15,34,-15,35,-15,35,-15,36,-14,37,-13,37,-13,38,-12,38,-11,39,-10,39,-9,39,-8,40,-7,40,-5,40,-4,12,-2,2,-1,-1,0,-2,0,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-4,5,-12,23,-13,23,-14,22,-14,22,-15,22,-15,22,-16,21,-16,21,-16,20,-17,20,-17,20,-17,20,-17,19,-18,19,-18,19,-17,19,-17,19,-17,18,-17,18,-17,19,-17,18,-16,18,-16,18,-16,18,-15,19,-15,19,-16,18,-15,19,-15,19,-14,19,-13,20,-13,19,-12,19,-12,20,-12,21,-12,21,-11,21,-11,21,-10,22,-10,22,-9,22,-9,23,-9,23,-8,23,-8,23,-8,24,-7,24,-7,24,-7,25,-6,25,-6,25,-5,26,-5,26,-6,27,-6,27,-5,27,-4,27,-1,3]"
sig_mode=1
secondary_channel= 2
bandwidth = 2
stbc = 1
len = 384
first_word =1

So, this data shall be
image
Then
LLTF: -64 ~ -1
HT-LLF: 0 ~ 63, -64 ~ -1
So, the first 64*2=128 bytes are LLTF, and the last (64+64)*2=256 bytes are HT-LLF?

And I have still a question that why so much channels are ignored in analisys_csi_data.py?

select_list = []
select_list += [i for i in range(5, 31)]
select_list += [i for i in range(33, 58)]
select_list += [i for i in range(66, 122)]
select_list += [i for i in range(123, 191)]
select_list.remove(128)

thx.

wifi_radar_cb never called

I have built and flash the code to ESP32 and successfully run the esp-csi console-test example program. but when I ping the router or device in the network, there is no CSI information shown like what is said in the readMe file (ex : (526744) app_main: <1> time: 1030 ms, rssi: -26, corr: 0.959, std: 0.008, std_avg: 0.000, std_max: 0.000, threshold: 0.300/1.500, trigger: 0/0, free_heap: 134928/137440
). The only thing that showed up was just the ping success information. but when I run "csi -o" command to get csi raw data the raw data showed up on the screen. It seems that the wifi_radar_cb never called even when there is CSI data. Do you have any suggestions?

`I (17584) system_cmd: compile time : Jan 15 2022 16:48:17
I (17584) system_cmd: free heap : 208600 Bytes
I (17584) system_cmd: CPU cores : 2
I (17594) system_cmd: silicon revision : 1
I (17594) system_cmd: feature : /802.11bgn/BLE/BT/External-Flash:4 MB
I (34994) wifi_cmd: sta connecting to 'TEST'
I (35004) wifi:mode : sta (e8:db:84:37:51:4c)
I (35004) wifi:enable tsf
I (35374) wifi:new:<4,0>, old:<1,1>, ap:<255,255>, sta:<4,0>, prof:1
I (36104) wifi:state: init -> auth (b0)
I (36154) wifi:state: auth -> assoc (0)
I (36164) wifi:state: assoc -> run (10)
I (36194) wifi:connected with TEST, aid = 1, channel 4, BW20, bssid = 22:ad:b9:f8:d9:8d
I (36194) wifi:security: WPA2-PSK, phy: bgn, rssi: -14
I (36194) wifi:pm start, type: 1

I (36214) wifi:AP's beacon interval = 102400 us, DTIM period = 2
I (36214) wifi_cmd: Connected to TEST (bssid: 22:ad:b9:f8:d9:8d, channel: 4)
I (37044) esp_netif_handlers: sta ip: 192.168.43.27, mask: 255.255.255.0, gw: 192.168.43.1
csi> W (61324) wifi:idx:0 (ifx:0, 22:ad:b9:f8:d9:8d), tid:0, ssn:3, winSize:64
I (61474) ping_cmd:
--- 192.168.43.1 ping statistics ---
I (61474) ping_cmd: 10 packets transmitted, 10 received, 0% packet loss, time 69ms
csi> I (91094) ping_cmd: i 1
--- 192.168.43.1 ping statistics ---
I (91094) ping_cmd: 10 packets transmitted, 10 received, 0% packet loss, time 339ms`

ping timeout error

Esp32-idf:v4.4
Device: esp32-wroom-32u.
Os: win10

I (42554) esp_netif_handlers: sta ip: 192.168.1.102, mask: 255.255.255.0, gw: 192.168.1.1

csi> W (52704) ping_cmd: From 192.168.1.1 icmp_seq=14 timeout
W (57094) ping_cmd: From 192.168.1.1 icmp_seq=58 timeout
W (60214) ping_cmd: From 192.168.1.1 icmp_seq=89 timeout

Broadcast example/README - Switching channel

Hi,

In your README, the section on Broadcast mode states:

How ​​to implement: The packet sending device continuously switches channels to send out packets. ESP32 A, B, and C all obtain the CSI information carried in the broadcast packet of the packet sending device. This method has the highest detection accuracy and reliability.

When you are saying switches channel, does it mean switching wifi channel (e.g 1, 6, 11, etc )?

I would have thought simply broadcasting a packet on a given channel should have been okay.

Really curious to understand and have the clarification.

Many thanks

Regards
Kapil

How to get CSI data in monitor mode?

It is such a good example. Now I can get CSI data by using ping command.
However, I notice that the time interval is not fixed, from 0.01 to 0.1 second. I have to do interpolation or even resampling before signal processing.
Therefore, I would like to try command mode to get a formated time serires data.

thanks for your help!

Unable to configure CSV file

When I was trying to implement the CSI demo example, I followed the instruction on this link. However, I don't know how to configure the CSV file, I chose partition table in menuconfig and it was shown as followed. I can't find this path ./config/partition_table/partitions_4MB.csv in my workspace. Can anyone tell me how to configure this CSV file?
1642510292(1)

ninja: build stopped: subcommand failed.

OS:windows 10.
ESP-IDF v4.3
Device: ESP32-wroom-32u.

The errors is coming when i called "idf.py flash:

C:\Espressif\frameworks\esp-idf-v4.3.2\esp-csi-master\examples\console_test>idf.py flash
Executing action: flash
Serial port COM13
Connecting....
Detecting chip type... ESP32
Running ninja in directory c:\espressif\frameworks\esp-idf-v4.3.2\esp-csi-master\examples\console_test\build
Executing "ninja flash"...
[0/1] Re-running CMake...
-- ccache will be used for faster recompilation
-- Building ESP-IDF components for target esp32
??? Linux ? Windows ?????????????
?????? Microsoft Store ??????:
https://aka.ms/wslstore
-- Project sdkconfig file C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/sdkconfig
C:\Users\ADMINI~1\AppData\Local\Temp\confgen_tmpf_sbzht7:5: warning: 'N' is not a valid value for the bool symbol ESP32_WIFI_AMPDU_TX_ENABLED (defined at C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_wifi/Kconfig:128). Assignment ignored.
C:\Users\ADMINI~1\AppData\Local\Temp\confgen_tmpf_sbzht7:6: warning: 'N' is not a valid value for the bool symbol ESP32_WIFI_AMPDU_RX_ENABLED (defined at C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_wifi/Kconfig:146). Assignment ignored.
Loading defaults file C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/sdkconfig.defaults...
-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- App "console_test" version: v4.3.2
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/build/esp-idf/esp32/esp32_out.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp32/ld/esp32.project.ld.in
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp32/ld/esp32.peripherals.ld
??? Linux ? Windows ?????????????
?????? Microsoft Store ??????:
https://aka.ms/wslstore
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor cmd_nvs cmd_system cmock coap console cxx driver efuse esp-csi-master esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_local_ctrl esp_netif esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap idf_test jsmn json libsodium log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter tinyusb ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Espressif/frameworks/esp-idf-v4.3.2/components/app_trace C:/Espressif/frameworks/esp-idf-v4.3.2/components/app_update C:/Espressif/frameworks/esp-idf-v4.3.2/components/asio C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader_support C:/Espressif/frameworks/esp-idf-v4.3.2/components/bt C:/Espressif/frameworks/esp-idf-v4.3.2/components/cbor C:/Espressif/frameworks/esp-idf-v4.3.2/examples/system/console/components/cmd_nvs C:/Espressif/frameworks/esp-idf-v4.3.2/examples/system/console/components/cmd_system C:/Espressif/frameworks/esp-idf-v4.3.2/components/cmock C:/Espressif/frameworks/esp-idf-v4.3.2/components/coap C:/Espressif/frameworks/esp-idf-v4.3.2/components/console C:/Espressif/frameworks/esp-idf-v4.3.2/components/cxx C:/Espressif/frameworks/esp-idf-v4.3.2/components/driver C:/Espressif/frameworks/esp-idf-v4.3.2/components/efuse C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp-tls C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp32 C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_adc_cal C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_common C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_eth C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_event C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_gdbstub C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_hid C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_http_client C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_http_server C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_https_ota C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_https_server C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_ipc C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_local_ctrl C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_netif C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_pm C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_ringbuf C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_serial_slave_link C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_system C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_timer C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_websocket_client C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_wifi C:/Espressif/frameworks/esp-idf-v4.3.2/components/espcoredump C:/Espressif/frameworks/esp-idf-v4.3.2/components/esptool_py C:/Espressif/frameworks/esp-idf-v4.3.2/components/expat C:/Espressif/frameworks/esp-idf-v4.3.2/components/fatfs C:/Espressif/frameworks/esp-idf-v4.3.2/components/freemodbus C:/Espressif/frameworks/esp-idf-v4.3.2/components/freertos C:/Espressif/frameworks/esp-idf-v4.3.2/components/hal C:/Espressif/frameworks/esp-idf-v4.3.2/components/heap C:/Espressif/frameworks/esp-idf-v4.3.2/components/idf_test C:/Espressif/frameworks/esp-idf-v4.3.2/components/jsmn C:/Espressif/frameworks/esp-idf-v4.3.2/components/json C:/Espressif/frameworks/esp-idf-v4.3.2/components/libsodium C:/Espressif/frameworks/esp-idf-v4.3.2/components/log C:/Espressif/frameworks/esp-idf-v4.3.2/components/lwip C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/main C:/Espressif/frameworks/esp-idf-v4.3.2/components/mbedtls C:/Espressif/frameworks/esp-idf-v4.3.2/components/mdns C:/Espressif/frameworks/esp-idf-v4.3.2/components/mqtt C:/Espressif/frameworks/esp-idf-v4.3.2/components/newlib C:/Espressif/frameworks/esp-idf-v4.3.2/components/nghttp C:/Espressif/frameworks/esp-idf-v4.3.2/components/nvs_flash C:/Espressif/frameworks/esp-idf-v4.3.2/components/openssl C:/Espressif/frameworks/esp-idf-v4.3.2/components/partition_table C:/Espressif/frameworks/esp-idf-v4.3.2/components/perfmon C:/Espressif/frameworks/esp-idf-v4.3.2/components/protobuf-c C:/Espressif/frameworks/esp-idf-v4.3.2/components/protocomm C:/Espressif/frameworks/esp-idf-v4.3.2/components/pthread C:/Espressif/frameworks/esp-idf-v4.3.2/components/sdmmc C:/Espressif/frameworks/esp-idf-v4.3.2/components/soc C:/Espressif/frameworks/esp-idf-v4.3.2/components/spi_flash C:/Espressif/frameworks/esp-idf-v4.3.2/components/spiffs C:/Espressif/frameworks/esp-idf-v4.3.2/components/tcp_transport C:/Espressif/frameworks/esp-idf-v4.3.2/components/tcpip_adapter C:/Espressif/frameworks/esp-idf-v4.3.2/components/tinyusb C:/Espressif/frameworks/esp-idf-v4.3.2/components/ulp C:/Espressif/frameworks/esp-idf-v4.3.2/components/unity C:/Espressif/frameworks/esp-idf-v4.3.2/components/vfs C:/Espressif/frameworks/esp-idf-v4.3.2/components/wear_levelling C:/Espressif/frameworks/esp-idf-v4.3.2/components/wifi_provisioning C:/Espressif/frameworks/esp-idf-v4.3.2/components/wpa_supplicant C:/Espressif/frameworks/esp-idf-v4.3.2/components/xtensa
Project commit: v4.3.2
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/build
[19/979] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[553/979] Performing configure step for 'bootloader'
-- Found Git: C:/Espressif/tools/idf-git/2.34.2/cmd/git.exe (found version "2.34.1.windows.1")
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/sdkconfig
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader_support C:/Espressif/frameworks/esp-idf-v4.3.2/components/efuse C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp32 C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_common C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_rom C:/Espressif/frameworks/esp-idf-v4.3.2/components/esp_system C:/Espressif/frameworks/esp-idf-v4.3.2/components/esptool_py C:/Espressif/frameworks/esp-idf-v4.3.2/components/hal C:/Espressif/frameworks/esp-idf-v4.3.2/components/log C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader/subproject/main C:/Espressif/frameworks/esp-idf-v4.3.2/components/bootloader/subproject/components/micro-ecc C:/Espressif/frameworks/esp-idf-v4.3.2/components/newlib C:/Espressif/frameworks/esp-idf-v4.3.2/components/partition_table C:/Espressif/frameworks/esp-idf-v4.3.2/components/soc C:/Espressif/frameworks/esp-idf-v4.3.2/components/spi_flash C:/Espressif/frameworks/esp-idf-v4.3.2/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/build/bootloader
[638/979] Performing build step for 'bootloader'
[1/87] Generating project_elf_src_esp32.c
[2/87] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[3/87] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[4/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/soc_include_legacy_warn.c.obj
[5/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[6/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/memory_layout_utils.c.obj
[7/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[8/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[9/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[10/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[11/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[12/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[13/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[14/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[15/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[16/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[17/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[18/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[19/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sigmadelta_periph.c.obj
[20/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[21/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[22/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[23/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/soc_memory_layout.c.obj
[24/87] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[25/87] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[26/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[27/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[28/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[29/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[30/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[31/87] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[32/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[33/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[34/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[35/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[36/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[37/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[38/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[39/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[40/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[41/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[42/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[43/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[44/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[45/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[46/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_api.c.obj
[47/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/flash_encrypt.c.obj
[48/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[49/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[50/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[51/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj
[52/87] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[53/87] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[54/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[55/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/compare_set.c.obj
[56/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[57/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu_util.c.obj
[58/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_utility.c.obj
[59/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[60/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[61/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[62/87] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_fields.c.obj
[63/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[64/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[65/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[66/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[67/87] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_wdt.c.obj
[68/87] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[69/87] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[70/87] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[71/87] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[72/87] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[73/87] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[74/87] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[75/87] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[76/87] Linking C static library esp-idf\log\liblog.a
[77/87] Linking C static library esp-idf\esp_rom\libesp_rom.a
[78/87] Linking C static library esp-idf\esp_hw_support\libesp_hw_support.a
[79/87] Linking C static library esp-idf\efuse\libefuse.a
[80/87] Linking C static library esp-idf\bootloader_support\libbootloader_support.a
[81/87] Linking C static library esp-idf\spi_flash\libspi_flash.a
[82/87] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a
[83/87] Linking C static library esp-idf\soc\libsoc.a
[84/87] Linking C static library esp-idf\hal\libhal.a
[85/87] Linking C static library esp-idf\main\libmain.a
[86/87] Linking C executable bootloader.elf
[87/87] Generating binary image from built executable
esptool.py v3.2-dev
Merged 1 ELF section
Generated C:/Espressif/frameworks/esp-idf-v4.3.2/esp-csi-master/examples/console_test/build/bootloader/bootloader.bin
[832/979] Building C object esp-idf/libsodium/CMakeFiles/__idf_libso...ox/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c.obj
FAILED: esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c.obj
ccache C:\Espressif\tools\xtensa-esp32-elf\esp-2021r2-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DCONFIGURED -DHAVE_WEAK_SYMBOLS -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DNATIVE_LITTLE_ENDIAN -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Iconfig -I../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../components/libsodium/port_include -I../../../../components/libsodium/libsodium/src/libsodium/include/sodium -I../../../../components/libsodium/port_include/sodium -I../../../../components/libsodium/port -I../../../../components/newlib/platform_include -I../../../../components/freertos/include -I../../../../components/freertos/port/xtensa/include -I../../../../components/esp_hw_support/include -I../../../../components/esp_hw_support/port/esp32/. -I../../../../components/heap/include -I../../../../components/log/include -I../../../../components/lwip/include/apps -I../../../../components/lwip/include/apps/sntp -I../../../../components/lwip/lwip/src/include -I../../../../components/lwip/port/esp32/include -I../../../../components/lwip/port/esp32/include/arch -I../../../../components/soc/include -I../../../../components/soc/esp32/. -I../../../../components/soc/esp32/include -I../../../../components/hal/esp32/include -I../../../../components/hal/include -I../../../../components/esp_rom/include -I../../../../components/esp_rom/esp32 -I../../../../components/esp_rom/include/esp32 -I../../../../components/esp_common/include -I../../../../components/esp_system/include -I../../../../components/esp32/include -I../../../../components/driver/include -I../../../../components/driver/esp32/include -I../../../../components/esp_ringbuf/include -I../../../../components/efuse/include -I../../../../components/efuse/esp32/include -I../../../../components/xtensa/include -I../../../../components/xtensa/esp32/include -I../../../../components/espcoredump/include -I../../../../components/esp_timer/include -I../../../../components/esp_ipc/include -I../../../../components/esp_pm/include -I../../../../components/vfs/include -I../../../../components/esp_wifi/include -I../../../../components/esp_wifi/esp32/include -I../../../../components/esp_event/include -I../../../../components/esp_netif/include -I../../../../components/esp_eth/include -I../../../../components/tcpip_adapter/include -I../../../../components/app_trace/include -I../../../../components/mbedtls/port/include -I../../../../components/mbedtls/mbedtls/include -I../../../../components/mbedtls/esp_crt_bundle/include -mlongcalls -Wno-frame-address   -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v4.3.2\" -DESP_PLATFORM -Wno-unused-function -MD -MT esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c.obj -MF esp-idf\libsodium\CMakeFiles\__idf_libsodium.dir\libsodium\src\libsodium\crypto_box\curve25519xchacha20poly1305\box_curve25519xchacha20poly1305.c.obj.d -o esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c.obj   -c C:/Espressif/frameworks/esp-idf-v4.3.2/components/libsodium/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c
ccache: error: Failed to create temporary file for esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c.obj: No such file or directory
[835/979] Building C object esp-idf/libsodium/CMakeFiles/__idf_libso..._box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c.obj
FAILED: esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c.obj
ccache C:\Espressif\tools\xtensa-esp32-elf\esp-2021r2-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DCONFIGURED -DHAVE_WEAK_SYMBOLS -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DNATIVE_LITTLE_ENDIAN -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Iconfig -I../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../components/libsodium/port_include -I../../../../components/libsodium/libsodium/src/libsodium/include/sodium -I../../../../components/libsodium/port_include/sodium -I../../../../components/libsodium/port -I../../../../components/newlib/platform_include -I../../../../components/freertos/include -I../../../../components/freertos/port/xtensa/include -I../../../../components/esp_hw_support/include -I../../../../components/esp_hw_support/port/esp32/. -I../../../../components/heap/include -I../../../../components/log/include -I../../../../components/lwip/include/apps -I../../../../components/lwip/include/apps/sntp -I../../../../components/lwip/lwip/src/include -I../../../../components/lwip/port/esp32/include -I../../../../components/lwip/port/esp32/include/arch -I../../../../components/soc/include -I../../../../components/soc/esp32/. -I../../../../components/soc/esp32/include -I../../../../components/hal/esp32/include -I../../../../components/hal/include -I../../../../components/esp_rom/include -I../../../../components/esp_rom/esp32 -I../../../../components/esp_rom/include/esp32 -I../../../../components/esp_common/include -I../../../../components/esp_system/include -I../../../../components/esp32/include -I../../../../components/driver/include -I../../../../components/driver/esp32/include -I../../../../components/esp_ringbuf/include -I../../../../components/efuse/include -I../../../../components/efuse/esp32/include -I../../../../components/xtensa/include -I../../../../components/xtensa/esp32/include -I../../../../components/espcoredump/include -I../../../../components/esp_timer/include -I../../../../components/esp_ipc/include -I../../../../components/esp_pm/include -I../../../../components/vfs/include -I../../../../components/esp_wifi/include -I../../../../components/esp_wifi/esp32/include -I../../../../components/esp_event/include -I../../../../components/esp_netif/include -I../../../../components/esp_eth/include -I../../../../components/tcpip_adapter/include -I../../../../components/app_trace/include -I../../../../components/mbedtls/port/include -I../../../../components/mbedtls/mbedtls/include -I../../../../components/mbedtls/esp_crt_bundle/include -mlongcalls -Wno-frame-address   -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v4.3.2\" -DESP_PLATFORM -Wno-unused-function -MD -MT esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c.obj -MF esp-idf\libsodium\CMakeFiles\__idf_libsodium.dir\libsodium\src\libsodium\crypto_box\curve25519xsalsa20poly1305\box_curve25519xsalsa20poly1305.c.obj.d -o esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c.obj   -c C:/Espressif/frameworks/esp-idf-v4.3.2/components/libsodium/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c
ccache: error: Failed to create temporary file for esp-idf\libsodium\CMakeFiles\__idf_libsodium.dir\libsodium\src\libsodium\crypto_box\curve25519xsalsa20poly1305\box_curve25519xsalsa20poly1305.c.obj.d: No such file or directory
[836/979] Building C object esp-idf/libsodium/CMakeFiles/__idf_libso...rve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c.obj
FAILED: esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c.obj
ccache C:\Espressif\tools\xtensa-esp32-elf\esp-2021r2-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DCONFIGURED -DHAVE_WEAK_SYMBOLS -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DNATIVE_LITTLE_ENDIAN -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Iconfig -I../../../../components/libsodium/libsodium/src/libsodium/include -I../../../../components/libsodium/port_include -I../../../../components/libsodium/libsodium/src/libsodium/include/sodium -I../../../../components/libsodium/port_include/sodium -I../../../../components/libsodium/port -I../../../../components/newlib/platform_include -I../../../../components/freertos/include -I../../../../components/freertos/port/xtensa/include -I../../../../components/esp_hw_support/include -I../../../../components/esp_hw_support/port/esp32/. -I../../../../components/heap/include -I../../../../components/log/include -I../../../../components/lwip/include/apps -I../../../../components/lwip/include/apps/sntp -I../../../../components/lwip/lwip/src/include -I../../../../components/lwip/port/esp32/include -I../../../../components/lwip/port/esp32/include/arch -I../../../../components/soc/include -I../../../../components/soc/esp32/. -I../../../../components/soc/esp32/include -I../../../../components/hal/esp32/include -I../../../../components/hal/include -I../../../../components/esp_rom/include -I../../../../components/esp_rom/esp32 -I../../../../components/esp_rom/include/esp32 -I../../../../components/esp_common/include -I../../../../components/esp_system/include -I../../../../components/esp32/include -I../../../../components/driver/include -I../../../../components/driver/esp32/include -I../../../../components/esp_ringbuf/include -I../../../../components/efuse/include -I../../../../components/efuse/esp32/include -I../../../../components/xtensa/include -I../../../../components/xtensa/esp32/include -I../../../../components/espcoredump/include -I../../../../components/esp_timer/include -I../../../../components/esp_ipc/include -I../../../../components/esp_pm/include -I../../../../components/vfs/include -I../../../../components/esp_wifi/include -I../../../../components/esp_wifi/esp32/include -I../../../../components/esp_event/include -I../../../../components/esp_netif/include -I../../../../components/esp_eth/include -I../../../../components/tcpip_adapter/include -I../../../../components/app_trace/include -I../../../../components/mbedtls/port/include -I../../../../components/mbedtls/mbedtls/include -I../../../../components/mbedtls/esp_crt_bundle/include -mlongcalls -Wno-frame-address   -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v4.3.2\" -DESP_PLATFORM -Wno-unused-function -MD -MT esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c.obj -MF esp-idf\libsodium\CMakeFiles\__idf_libsodium.dir\libsodium\src\libsodium\crypto_box\curve25519xchacha20poly1305\box_seal_curve25519xchacha20poly1305.c.obj.d -o esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c.obj   -c C:/Espressif/frameworks/esp-idf-v4.3.2/components/libsodium/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c
ccache: error: Failed to create temporary file for esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c.obj: No such file or directory
[837/979] Building C object esp-idf/libsodium/CMakeFiles/__idf_libso...ibsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c.obj
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

不断重启

I (577) heap_init: At 40078000 len 00008000 (32 KiB): IRAM
I (583) heap_init: At 40096E48 len 000091B8 (36 KiB): IRAM
I (589) spi_flash: detected chip: generic
I (594) spi_flash: flash io: qio
I (598) esp_core_dump_flash: Init core dump to flash
I (604) esp_core_dump_flash: Found partition 'coredump' @ 3c0000 65536 bytes
I (617) esp_core_dump_flash: Core dump data checksum is correct
I (618) esp_core_dump_flash: Found core dump 8452 bytes in flash @ 0x3c0000
I (626) cpu_start: Starting scheduler on PRO CPU.
D (643) esp_qcloud_reboot: reboot unbroken count: 1
D (646) esp_qcloud_reboot: version_fallback_task exit
W (647) esp_qcloud_log_flash: <ESP_ERR_NVS_NOT_FOUND> NVS open for log_status log_info log_info failed
I (782) esp_qcloud_log_flash: LOG flash initialized successfully
I (782) esp_qcloud_log_flash: Log save partition subtype: label: log_info, addr:0x3d0000, offset: 0, size: 65536
I (788) esp_qcloud_log: log initialized successfully
E (796) qcloud_light: The device has been restarted abnormally
E (801) esp_qcloud_device: Please check if the authentication information of the device is configured
E (811) esp_qcloud_device: Obtain authentication configuration information from login qcloud iothut:
E (820) esp_qcloud_device: https://console.cloud.tencent.com/iotexplorer
E (828) esp_qcloud_device: product_id: PRODUCT_ID
E (833) esp_qcloud_device: device_name: DEVICE_NAME
E (839) esp_qcloud_device: device_secret: DEVICE_SECRET

和三元组“PRODUCT_ID” 这些有关系? 有测试用的没有。

Power-down loss after burn-in

After flashing, I perform ap <myssid> <mypassword> test, but when it is re-powered, the WIFI hotspot is gone? This is also the case when I do the sta test, besides, he can't connect to my smart phone hotspot, can you help me?

Unable to enter commands into the Interactive Shell (AEGHB-203)

Steps to test CSI |
| |
| 1. Print 'help' to gain overview of commands |
| csi> help |
| 2. Start SoftAP or Sta on another ESP32/ESP32S2/ESP32C3 |
| csi> sta |
| csi> ap |
| 3. Run ping to test |
| csi> ping -c -i |
| 4. Configure CSI parameters |
| csi> csi -m <mac(xx:xx:xx:xx:xx:xx)> -l |
| 5. Configure CSI parameters |
| csi> detect -a <absolute_threshold> -r <relative_threshold>

This message keeps repeating itself.

configuration parameters to the firmware

Thank you for the code, I would like to ask: how to write the following configuration parameters to the firmware to burn into the esp32 device? If so, We can directly use.

Steps to test CSI                                |
 |                                                                     |
 |  1. Print 'help' to gain overview of commands                       |
 |     csi> help                                                       |
 |  2. Start SoftAP or Sta on another ESP32/ESP32S2/ESP32C3            |
 |     csi>     sta myssid  mypassword                                      |
 |     csi> ap myssid mypassword                                          |
 |  3. Run ping to test                                                |
 |     csi> ping <192.168.4.2> -c <100> -i <10>                         |
 |  4. Configure CSI parameters                                        |
 |     csi> csi -m <mac(xx:xx:xx:xx:xx:xx)> -l <len>                   |
 |  5. Configure CSI parameters                                        |
 |     csi> detect -a <absolute_threshold> -r <relative_threshold>

Generating CSI data into graphs

Hi everyone
Now i have a CSI data so i need to plot those data into graphs how can i do that anybody can suggest me how can i do that..??
And how can differentiate imaginary and real data ..??

esp-csi wifiradar inside, can someone add an API to supply the buffer from external malloc?

Hi everybody, I noticed that there are frequently realloc calls inside the csi library, which will fire a lot of warning messages as the system memory goes fragmented, finally the esp-csi library won't have any chance to alloc the big continneous memory - more than 32K as I can see from the warning log output.
I am wondering is it possible to supply another API that user can pass their own malloced memory which will be used dedicated only for esp-csi library, so it won't fail to alloc memory due to memory fragmentation.

connect ap crash

csi> E (16997) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (16997) task_wdt: - IDLE (CPU 0)
E (16997) task_wdt: Tasks currently running:
E (16997) task_wdt: CPU 0: wifi
E (16997) task_wdt: CPU 1: IDLE
E (16997) task_wdt: Print CPU 0 (current core) backtrace

Backtrace:0x400FF4AB:0x3FFB0810 0x40082871:0x3FFB0830 0x4010D5E1:0x3FFC0320 0x4011A7EF:0x3FFC0340 0x40090441:0x3FFC0460 0x400904F9:0x3FFC04C0 0x400948DD:0x3FFC04E0 0x400921E8:0x3FFC0500 0x4008CCDD:0x3FFC0530

E (16997) task_wdt: Print CPU 1 backtrace

Backtrace:0x4008496D:0x3FFB0E10 0x40082871:0x3FFB0E30 0x4000BFED:0x3FFBBD50 0x4008CFBE:0x3FFBBD60 0x400FF74F:0x3FFBBD80 0x400FF75B:0x3FFBBDB0 0x400D8A11:0x3FFBBDD0 0x4008A995:0x3FFBBDF0 0x4008CCDD:0x3FFBBE10

git clone 以及menuconfig错误问题

问题:拉idf报错“步骤1”, menuconfig报错 “步骤3”

每次拉idf 都会出现:
步骤1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
正克隆到 '/home/jiangyanxi/esp/esp-idf/components/nghttp/nghttp2'...
remote: Enumerating objects: 41013, done.
remote: Counting objects: 100% (284/284), done.
remote: Compressing objects: 100% (129/129), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败
fatal: 无法克隆 'https://github.com/nghttp2/nghttp2.git' 到子模组路径 '/home/jiangyanxi/esp/esp-idf/components/nghttp/nghttp2'
克隆 'components/nghttp/nghttp2' 失败。按计划重试
正克隆到 '/home/jiangyanxi/esp/esp-idf/components/protobuf-c/protobuf-c'...
remote: Enumerating objects: 3640, done.
remote: Counting objects: 100% (107/107), done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 3640 (delta 55), reused 57 (delta 30), pack-reused 3533
接收对象中: 100% (3640/3640), 1.47 MiB | 652.00 KiB/s, 完成.
处理 delta 中: 100% (2322/2322), 完成.
正克隆到 '/home/jiangyanxi/esp/esp-idf/components/spiffs/spiffs'...
remote: Enumerating objects: 1497, done.

.....
正克隆到 '/home/jiangyanxi/esp/esp-idf/components/esp_wifi/lib'...
fatal: unable to access 'https://github.com/espressif/esp32-wifi-lib.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
fatal: 无法克隆 'https://github.com/espressif/esp32-wifi-lib.git' 到子模组路径 '/home/jiangyanxi/esp/esp-idf/components/esp_wifi/lib'
第二次尝试克隆 'components/esp_wifi/lib' 失败,退出

步骤 2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

git checkout 6e776946d01ec0d081d09000c36d23ec1d318c06 到csi的head后(问题恢复: connect_qcloud 编译不过(配合moonlight开发板) #12

步骤3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menuconfig报错
jiangyanxi@GMPC2020050018:~/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo$ idf.py menuconfig
WARNING: Support for Python 2 is deprecated and will be removed in future versions.
Executing action: menuconfig
Running cmake in directory /home/jiangyanxi/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /home/jiangyanxi/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo"...
-- Found Git: /usr/bin/git (found version "2.17.1")
CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/asio/asio is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule
components/bootloader/subproject/components/micro-ecc/micro-ecc is out of
date. Run 'git submodule update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/bt/controller/lib is out of date. Run 'git
submodule update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/bt/host/nimble/nimble is out of date. Run 'git
submodule update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/cbor/tinycbor is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/coap/libcoap is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/json/cJSON is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/libsodium/libsodium is out of date. Run 'git
submodule update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/lwip/lwip is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/mqtt/esp-mqtt is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/protobuf-c/protobuf-c is out of date. Run 'git
submodule update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

CMake Warning at /home/jiangyanxi/esp/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
Git submodule components/spiffs/spiffs is out of date. Run 'git submodule
update --init --recursive' to fix.
Call Stack (most recent call first):
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
/home/jiangyanxi/esp/esp-idf/tools/cmake/build.cmake:163 (__build_get_idf_git_revision)
/home/jiangyanxi/esp/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
/home/jiangyanxi/esp/esp-idf/tools/cmake/project.cmake:7 (include)
CMakeLists.txt:10 (include)

-- IDF_TARGET not set, using default target: esp32
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/jiangyanxi/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/jiangyanxi/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/jiangyanxi/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/jiangyanxi/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /home/jiangyanxi/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/jiangyanxi/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo/sdkconfig
Loading defaults file /home/jiangyanxi/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo/sdkconfig.defaults...
CMake Error at ../../../../tools/cmake/component.cmake:305 (message):
Include directory
'/home/jiangyanxi/esp/esp-idf/components/mbedtls/mbedtls/include' is not a
directory.
Call Stack (most recent call first):
../../../../tools/cmake/component.cmake:477 (__component_add_include_dirs)
../../../../components/mbedtls/CMakeLists.txt:4 (idf_component_register)

-- Configuring incomplete, errors occurred!
See also "/home/jiangyanxi/esp/esp-idf/examples/bluetooth/esp_ble_mesh/aligenie_demo/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1

is it possible to collect CSI in monitor mode?

Hi, I am implementing the example in /get-started. I am writing to ask if it is possible to run the ESP32 in monitor mode rather than STA or AP, which extracts CSI from all packets in the air.

Thanks in advance.

What APIs does esp_radar use?

Are the APIs used by esp_radar available to everyone (e.g. wifi_csi_info_t)or does it have access to additional low level information? Will it be open source?

刷入console_test经常重启 (AEGHB-214)

你好,我刷入console_test之后控制经常滚动下面这些日志,命令好像也运行不了,
机器型号是eps32-cam
日志如下:
csi> ets Jun 8 2016 00:22:57

rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7024
load:0x40078000,len:14292
ho 0 tail 12 room 4
load:0x40080400,len:3700
0x40080400: _init at ??:?

entry 0x4008067c
I (57) boot: ESP-IDF v4.3-dirty 2nd stage bootloader
I (57) boot: compile time 23:14:59
I (58) boot: chip revision: 1
I (61) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (68) boot.esp32: SPI Speed : 40MHz
I (73) boot.esp32: SPI Mode : DIO
I (78) boot.esp32: SPI Flash Size : 4MB
W (82) boot.esp32: PRO CPU has been reset by WDT.
W (87) boot.esp32: WDT reset info: PRO CPU PC=0x400966c6
0x400966c6: xthal_save_extra_nw at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:72

W (93) boot.esp32: WDT reset info: APP CPU PC=0x400897cc
0x400897cc: _xt_context_save at C:/Users/muchuanhao/esp/esp-idf/components/freertos/port/xtensa/xtensa_context.S:130

I (99) boot: Enabling RNG early entropy source...
I (105) boot: Partition Table:
I (109) boot: ## Label Usage Type ST Offset Length
I (116) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (123) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (131) boot: 2 factory factory app 00 00 00010000 00100000
I (139) boot: End of partition table
I (143) boot_comm: chip revision: 1, min. application chip revision: 0
I (150) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=1b1fch (111100) map
I (201) esp_image: segment 1: paddr=0002b224 vaddr=3ffb0000 size=043dch ( 17372) load
I (208) esp_image: segment 2: paddr=0002f608 vaddr=40080000 size=00a10h ( 2576) load
I (209) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=89600h (562688) map
I (427) esp_image: segment 4: paddr=000b9628 vaddr=40080a10 size=15d20h ( 89376) load
I (465) esp_image: segment 5: paddr=000cf350 vaddr=50000000 size=00010h ( 16) load
I (478) boot: Loaded app from partition at offset 0x10000
I (478) boot: Disabling RNG early entropy source...
I (490) cpu_start: Pro cpu up.
I (490) cpu_start: Starting app cpu, entry point is 0x40081418
0x40081418: call_start_cpu1 at C:/Users/muchuanhao/esp/esp-idf/components/esp_system/port/cpu_start.c:141

I (0) cpu_start: App cpu up.
I (504) cpu_start: Pro cpu start user code
I (504) cpu_start: cpu freq: 160000000
I (504) cpu_start: Application information:
I (508) cpu_start: Project name: console_test
I (514) cpu_start: App version: 1
I (518) cpu_start: Compile time: Sep 2 2021 23:15:13
I (524) cpu_start: ELF file SHA256: b818b513474a37ee...
I (530) cpu_start: ESP-IDF: v4.3-dirty
I (536) heap_init: Initializing. RAM available for dynamic allocation:
I (543) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (549) heap_init: At 3FFB8A40 len 000275C0 (157 KiB): DRAM
I (555) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (561) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (568) heap_init: At 40096730 len 000098D0 (38 KiB): IRAM
I (575) spi_flash: detected chip: generic
I (579) spi_flash: flash io: dio
I (584) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (594) gpio: GPIO[18]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (654) wifi:wifi driver task: 3ffc1384, prio:23, stack:6656, core=0
I (654) system_api: Base MAC address is not set
I (654) system_api: read default base MAC address from EFUSE
I (674) wifi:wifi firmware version: c7d0450
I (674) wifi:wifi certification version: v7.0
I (674) wifi:config NVS flash: enabled
I (674) wifi:config nano formating: disabled
I (684) wifi:Init data frame dynamic rx buffer num: 32
I (684) wifi:Init management frame dynamic rx buffer num: 32
I (694) wifi:Init management short buffer num: 32
I (694) wifi:Init dynamic tx buffer num: 32
I (694) wifi:Init static rx buffer size: 2212
I (704) wifi:Init static rx buffer num: 10
I (704) wifi:Init dynamic rx buffer num: 32
I (714) wifi_init: rx ba win: 6
I (714) wifi_init: tcpip mbox: 32
I (714) wifi_init: udp mbox: 6
I (724) wifi_init: tcp mbox: 6
I (724) wifi_init: tcp tx win: 5744
I (734) wifi_init: tcp rx win: 5744
I (734) wifi_init: tcp mss: 1440
I (734) wifi_init: WiFi IRAM OP enabled
I (744) wifi_init: WiFi RX IRAM OP enabled
I (744) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (844) wifi:mode : null
I (844) wifi:ic_enable_sniffer

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.
Your terminal application does not support escape sequences.

Line editing and history features are disabled.

On Windows, try using Putty instead.

=======================================================================
| Steps to test CSI |
| |
| 1. Print 'help' to gain overview of commands |
| csi> help |
| 2. Start SoftAP or Sta on another ESP32/ESP32S2/ESP32C3 |
| csi> sta |
| csi> ap |
| 3. Run ping to test |
| csi> ping -c -i |
| 4. Configure CSI parameters |
| csi> csi -m <mac(xx:xx:xx:xx:xx:xx)> -l |
| 5. Configure CSI parameters |
| csi> detect -a <absolute_threshold> -r <relative_threshold> |
| |

运行ap csi_softap
显示
image

phase waveform instability

Hi, I managed to get the CSI matrix of 256 bytes and then I plotted the amplitude and phase of these 128 subcarriers.
However, the amplitude waveform is working well, but the phase waveform feels strange: even the phase waveform of the CSI acquired by the unmanned environment has a large variation in amplitude.
Here is my matlab code to extract the phase information: phase=unwrap(angle(CSI_complex));
Can you tell me the reason for the phase instability?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.