Applications based on Wi-Fi CSI (Channel state information), such as indoor positioning, human detection

Related tags

Utilities esp-csi
Overview

ESP-CSI

The main purpose of this project is to show the use of ESP-WIFI-CSI. The human body detection algorithm is still being optimized. You can get more accurate results through machine learning, neural network and other algorithms based on the original CSI data.

1 Introduction

1.1 Introduction to CSI

Channel state information (CSI) includes specific indicators such as carrier signal strength, amplitude, phase, and signal delay. These indicators reveal the signal scattering, reflection, and power attenuation phenomena that occur with the carrier as the transmission distance changes. It can be used to measure the channel status of the wireless network in Wi-Fi communication. By analyzing and studying the changes in CSI, we can conversely speculate on the changes in the physical environment that cause the changes in the channel state, that is, to achieve non-contact intelligent sensing. CSI is extremely sensitive to environmental changes. In addition to perceiving environmental changes caused by large movements such as walking and running of people or animals, it can also capture subtle movements caused by small movements such as breathing and chewing of people or animals in a static environment.

1.2 The relationship between CSI and RSSI

RSSI is the energy characteristic of the Media Access Control (MAC) layer. CSI uses a more fine-grained wireless channel measurement than RSSI, so CSI has some inherent advantages in terms of information. In an indoor environment, the signal sent by the transmitter passes through multiple propagation paths and undergoes reflection and scattering before reaching the receiver. Human behavior will inevitably cause major changes in signal propagation channels by changing multipath. RSSI, as the superposition of channel strength, cannot clearly reflect the channel changes, which greatly reduces the detection rate. Different from RSSI, because the superposition of the multipath signal exchange layer has the characteristics of rapid change, the power characteristics and channel response of the physical layer CSI can distinguish the multipath characteristics. Conceptually, the channel response is the response to RSSI, just like the response of the rainbow to the solar beam, the components of different wavelengths are separated, and OFDM is the medium that refracts RSSI into CSI.

1.3 Advantages of CSI

CSI is a physical layer characteristic.Compared with other indicators, CSI amplitude shows some advantages:

  1. Anti-interference: CSI amplitude is essentially the attenuation coefficient of a set of channels. As long as the channel itself does not change, it is quite robust to interference from power adaptors and other jumpers.
  2. More fine-grained: CSI does not use synthetic values ​​(such as RSSI) to measure the channel, but decomposes the entire channel measurement into sub-carriers, and estimates the frequency response of each sub-carrier, so as to determine the channel in the frequency domain. Make a more fine-grained description.

1.4 Espressif CSI Advantage

  1. All ESP32 series support CSI: ESP32 / ESP32-S2 / ESP32-C3.
  2. Powerful ecology: Espressif is a global leader in the field of Wi-Fi MCUs, combining CSI with existing IOT equipment.
  3. More information: Such as RSSI, RF noise floor, reception time and antenna rx_ctrl field.
  4. Bluetooth Assist: ESP32 also supports BLE, for example, it can scan surrounding devices to assist detection.
  5. Powerful processing capability: ESP32 CPU handles dual-core, 240MHz, AI instructions. Can run machine learning and neural networks.

2 CSI Application

2.1 Human activity detection and recognition

Select high-sensitivity sub-carrier combinations and signals from non-line-of-sight path directions in different multipath propagation environments, thereby enhancing the sensitivity of passive person detection and expanding the detection range. This method can form "no blind spot" intruder detection in security applications. The multipath propagation characteristics of wireless signals indoors make wireless perception have natural advantages in sensing range and directionality.

2.2 Positioning and ranging

You can learn from the RSSI method and use CSI as a more informative fingerprint (including information on signal amplitude and phase on multiple subcarriers), or rely on a frequency selective attenuation model for more accurate ranging.

2.3 Human activity detection and recognition

Use CSI's high sensitivity to environmental changes to recognize human movements, gestures, breathing and other small movements and daily activities.

3 Getting Started

The Getting Started project can be found in the examples/console_test directory. It will help you build a human activity detection application. See: README.

4 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]杨 铮,刘云浩.Wi-Fi雷达:从RSSI到CSI[J].中国计算机学会通讯,2014年11月,10(11):55-60.
  • [2]谈青青.基于 Wi-Fi 的被动式室内入侵检测与定位技术研究[D].南京:南京邮电大学,2019年4月.
Issues
  • Cannot connect to softAP when first connect to a TPLINK Wi-Fi AP

    Cannot connect to softAP when first connect to a TPLINK Wi-Fi AP

    Steps to reproduce: (1) open a terminal 1, type sta tplink_ssid tplink_password (2) open another terminal 2, type ap csi_softap (3) in terminal 1, type sta csi_softap resulted an endless loop.

    opened by erusyd 6
  • On timestamp interval between successive CSI feedback

    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?

    opened by erusyd 5
  • connect_qcloud 编译不过(配合moonlight开发板)

    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" ^~~~~~~~~~~~~~~~~~

    opened by cuityanxi 5
  • configuration parameters to the firmware

    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>
    
    opened by zhy102 4
  • git clone 以及menuconfig错误问题

    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报错 [email protected]:~/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

    opened by cuityanxi 4
  • How to get CSI data in monitor mode?

    How to get CSI data in monitor mode?

    It is such a good example. Now I can get CSI data by using pingcommand. 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!

    opened by kingaza 4
  • is it possible to collect CSI in monitor mode?

    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.

    opened by gxhen 3
  • ninja: build stopped: subcommand failed.

    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
    
    opened by zhy102 3
  • CSI_Data 绘图

    CSI_Data 绘图

    在下面的代码中, csi_vaid_subcarrier_index的第0个元素为0, 也就是说构建的第一个复数complex其实是csi_raw_data的第0个数和最后一个数. 这里是否正确呢?

    
    csi_vaid_subcarrier_index = []
    csi_vaid_subcarrier_color = []
    color_step = 255 // (28 // CSI_VAID_SUBCARRIER_INTERVAL + 1)
    
    # LLTF: 52
    csi_vaid_subcarrier_index += [i for i in range(0, 26, CSI_VAID_SUBCARRIER_INTERVAL)]     # 26  red
    csi_vaid_subcarrier_color += [(i * color_step, 0, 0) for i in range(1,  26 // CSI_VAID_SUBCARRIER_INTERVAL + 2)]
    csi_vaid_subcarrier_index += [i for i in range(26, 52, CSI_VAID_SUBCARRIER_INTERVAL)]    # 26  green
    csi_vaid_subcarrier_color += [(0, i * color_step, 0) for i in range(1,  26 // CSI_VAID_SUBCARRIER_INTERVAL + 2)]
    
    ...
    
    def csi_data_handle(self, data):
        csi_raw_data = json.loads(data['data'])
        
        # Rotate data
        g_csi_phase_array[:-1]     = g_csi_phase_array[1:]
        g_rssi_array[:-1]          = g_rssi_array[1:]
        g_radio_header_pd.iloc[1:] = g_radio_header_pd.iloc[:-1]
    
        for i in range(CSI_DATA_COLUMNS):
            data_complex = complex(csi_raw_data[csi_vaid_subcarrier_index[i] * 2],
                                   csi_raw_data[csi_vaid_subcarrier_index[i] * 2 - 1])
            g_csi_phase_array[-1][i] = np.abs(data_complex)
    
        g_rssi_array[-1]         = data['rssi']
        g_radio_header_pd.loc[0] = data[1:]
    
        return
    
    opened by tanghy2016 2
  • Yes, channel state information generally refers to all information that can reflect the physical properties of the channel, including multipath delay, Doppler frequency shift, beamforming vector and other multipath effects, which are manifested as amplitude attenuation, phase offset and time delay in the time domain,See: https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=WIFI%20CSI

    Yes, channel state information generally refers to all information that can reflect the physical properties of the channel, including multipath delay, Doppler frequency shift, beamforming vector and other multipath effects, which are manifested as amplitude attenuation, phase offset and time delay in the time domain,See: https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=WIFI%20CSI

    Yes, channel state information generally refers to all information that can reflect the physical properties of the channel, including multipath delay, Doppler frequency shift, beamforming vector and other multipath effects, which are manifested as amplitude attenuation, phase offset and time delay in the time domain,See: https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=WIFI%20CSI

    Originally posted by @zhanzhaocheng in https://github.com/espressif/esp-csi/issues/48#issuecomment-1094630450

    opened by KOOKOKOK 2
  • useful subcarrier channel in tools/analisys_csi_data.py

    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

    opened by erusyd 2
  • CSI Data

    CSI Data

    From CSI data we get bandwidth, noise, aggregation, csi value ,mac etc. But how these value can help for plant monitoring or human activity recognition or in other projects. I am new to this field. So I can't understand. Thanks in advance.

    opened by tiyuuu 5
  • Using two esp32

    Using two esp32

    I want to use two esp32 for CSI collection. I I will use one esp as transmitter and another one as receiver. So when i go through the interface window ,in the router connection window ,what should i give in the field of router ssid and password part. Thanks.

    opened by Tisha36 1
  • Running space shortage when using csi API

    Running space shortage when using csi API

    My goal is to first connect via WiFi, then Ping the router to obtain CSI data, and finally send the data to the computer through UDP. However, there is not enough running space in the whole process. I wonder if there is any optimization method.

    env: vscode + esp-idf plugin

    chip : esp32 flash: 4M

    code link:

    https://github.com/KOOKOKOK/template-app.git

    Debug Logs image

    ` Debug log : KH2(0$05IWA(1JY@CP9Q}GW

    I (1096) wifi:AP's beacon interval = 102400 us, DTIM period = 1 I (1616) esp_netif_handlers: sta ip: 192.168.2.100, mask: 255.255.255.0, gw: 192.168.2.1 I (1616) wifi station: got ip:192.168.2.100 I (1616) wifi station: connected to ap SSID:pan(1) password:panning2011 I (1626) wifi:ic_enable_sniffer ip addresss: 192.168.2.1 I (1636) wifi station: ================ CSI RECV ================ type,id,mac,rssi,rate,sig_mode,mcs,bandwidth,smoothing,not_sounding,aggregation,stbc,fec_coding,sgi,noise_floor,ampdu_cnt,channel,secondary_channel,local_timestamp,ant,sig_len,rx_state,len,first_word,data CSI_DATA,0,3c:06:a7:14:3b:8e,-17,11,1,7,1,0,1,1,0,0,0,-96,1,11,2,385510,0,146,0,384,1,"[-110,-96,8,0,0,0,0,0,0,0,-5,-1,-19,-4,-18,-4,-18,-3,-18,-3,-18,-4,-18,-4,-17,-4,-17,-4,-17,-4,-17,-4,-17,-4,-17,-4,-17,-4,-16,-4,-16,-4,-16,-4,-16,-3,-16,-3,-16,-3,-16,-2,-16,-2,-16,-2,-16,-2,-15,-2,-15,-3,-15,-3,-8,-1,-15,-1,-15,0,-15,0,-15,1,-15,1,-15,1,-14,2,-14,2,-14,2,-14,1,-15,1,-15,1,-14,1,-14,1,-14,1,-14,1,-14,1,-14,1,-13,1,-13,0,-13,0,-14,0,-14,0,-14,-1,-13,-2,-13,-2,-4,-1,0,0,0,0,0,0,0,0,-1,-1,-5,0,-35,6,-35,6,-35,5,-35,5,-35,-2,-34,-2,-34,-2,-33,-2,-33,-3,-33,-3,-33,-3,-32,-3,-32,-3,-32,-3,-32,-4,-32,-4,-31,-4,-31,-4,-31,-3,-30,-2,-30,-2,-30,-2,-29,-1,-29,0,-29,0,-29,0,-29,0,-29,-1,-29,-2,-29,-1,-28,3,-28,2,-28,3,-28,4,-27,5,-26,6,-26,7,-26,7,-25,7,-25,7,-26,6,-26,5,-26,5,-26,5,-25,6,-25,6,-25,5,-25,5,-24,5,-24,5,-24,5,-25,4,-25,4,-26,2,-26,1,-25,0,-24,-1,-6,-1,0,0,0,0,-1,-1,-1,-1,0,0,0,0,0,0,-1,-1,-1,-1,-7,-2,-25,-7,-25,-8,-25,-9,-25,-10,-24,-11,-24,-11,-23,-11,-23,-12,-23,-13,-22,-14,-22,-15,-22,-16,-21,-17,-21,-17,-20,-18,-20,-18,-20,-18,-19,-19,-19,-19,-18,-19,-18,-20,-18,-20,-17,-21,-17,-22,-17,-22,-16,-23,-18,-21,-16,-24,-16,-24,-15,-24,-15,-24,-14,-25,-14,-25,-14,-25,-14,-26,-14,-26,-14,-27,-13,-27,-12,-28,-11,-28,-11,-28,-11,-29,-11,-29,-11,-30,-10,-30,-10,-30,-10,-31,-10,-31,-9,-32,-9,-33,-7,-33,-7,-33,-6,-34,-10,-34,-9,-34,-10,-33,-10,-34,-2,-5]" E (1816) esp32_asio_exception: Caught exception: send_to: Not enough space! `

    opened by KOOKOKOK 1
  • JSONDecodeError

    JSONDecodeError

    I'm getting some problem using the esp_csi_tool.py, the issue is when we use a computer with poor I/O or cpu performance, for example our laptop without charger, there will be some problem reading the strings from serial port. 3b119bb95d330459dc7f97e16953ba3 135b7d1ab30ffb8297657cbdd5ab36d In the above pictures, obviously the data invalid, causing the whole frame lost. In that case we can cope with the issue by using a more powerful PC, but it isn't just about the performance. esp_csi_tool.py writes each CSI_DATA into csi_data.csv, as the file getting larger, the handling speed will slow down and cause the issue above. A new version of esp_csi_tool.py is needed.

    opened by JLnukeNV 1
  • CSI resolution and phase unwrapping

    CSI resolution and phase unwrapping

    Hi,

    In my experiment all CSI values seems to fall in the range of -16-16, is this intended? A byte should have a range of -128-127?

    Also, the CSI order seems to be different when associated with an AP, when unassociated the CSI is from 0-31, -31- -1, but after association it becomes -31-31.

    Thanks a lot!

    opened by NaivelyWritten 3
  • wifi_radar_cb no callback succeeded

    wifi_radar_cb no callback succeeded

    step: 1、 wifi_config -s TPLinkHome -p 1234567890. 2、 ping -i 10 -c 0

    device error log: W (81912) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81925) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81931) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81932) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81940) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81946) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81956) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81964) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81971) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81980) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (81987) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82005) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82015) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82027) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82036) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82045) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82055) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82061) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1 W (82068) esp_radar: value fail, len: 376, secondary_channel: 1, sig_mode: 1, cwb: 0, stbc: 1

    opened by homent-hutu 3
Owner
Espressif Systems
Espressif Systems
Lightweight state machine implemented in C++

Intro This is my second take on C++ state machine implementation. My first attempt can be found here. The main goals of the implementation are: No dyn

Łukasz Gemborowski 20 Jul 14, 2022
Hook up the OnePlus6(T) tri-state key in PostmarketOS!

OnePlus 6(T) tri-state key support in PostmarketOS As the name suggest, the goal of this little project is to hook up the OnePlus6(T) tri-state key in

Michele Perrone 7 Nov 14, 2021
Edf is an event-driven framework for embedded system (e.g. FreeRTOS) with state machine and subscriber-publisher pattern.

Edf means event-driven framework. Event-driven programming is a common pattern in embedded systems. However, if you develop software directly on top o

Arrow89 5 Apr 21, 2022
LoL-Reader is a tool to read game-state.

LoL-Reader LoL-Reader is a tool to read real-time League of Legends statistics from memory. Installation - Compile g++ *.cpp -L. -lPsapi -w -o progra

Kaan Caglan 2 Dec 28, 2021
PoC memory injection detection agent based on ETW, for offensive and defensive research purposes

TiEtwAgent - ETW-based process injection detection This project was created to research, build and test different memory injection detection use cases

Filip Olszak 153 Jul 29, 2022
Another system information tool written in C++

Sysfex Another neofetch-like system information fetching tool for linux-based systems written in C++. This is a hobby project, so bugs are to be expec

Mehedi Rahman Mahi 107 Aug 2, 2022
Translates binary information (images, fonts, shaders) into C++ source code.

Binary bakery ?? Translates binary files (images, fonts etc.) into C++ source code and gives access to that data at compile- or runtime. There are dif

Sebastian Werhausen 126 May 28, 2022
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

WAFer WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written i

Riolet Corporation 693 Jul 3, 2022
Security product hook detection

HookDump EDR function hook dumping Please refer to the Zeroperil blog post for more information https://zeroperil.co.uk/hookdump/ Building source In o

zeroperil 142 Jul 28, 2022
You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery

YOLT You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery As of 24 October 2018 YOLT has been superceded by SIMRDWN YOLT is an

CosmiQ Works 602 Aug 2, 2022
WhyNotWin11 - Detection Script to help identify why your PC isn't Windows 11 ready

Detection Script to help identify why your PC isn't Windows 11 ready

Robert C. Maehl 5.8k Aug 8, 2022
Hybrid Detect demonstrates CPU topology detection using multiple intrinsic and OS level APIs.

Hybrid Detect Hybrid Detect demonstrates CPU topology detection using multiple intrinsic and OS level APIs. First, we demonstrate usage of CPUID intri

null 27 Jul 21, 2022
A 2D collision detection and physics library written in C.

A 2D collision detection and physics library written in C. WARNING: This library is in an early alpha stage, use it at your own risk. Documentation —

c-krit 74 Jul 30, 2022
Library for writing text-based user interfaces

IMPORTANT This library is no longer maintained. It's pretty small if you have a big project that relies on it, just maintain it yourself. Or look for

null 1.9k Jul 27, 2022
Fast comparison-based sort algorithm

nanosort Algorithm nanosort aims to be a fast comparison-based sorting algorithm, tuned for POD types of reasonably small sizes. nanosort implements a

Arseny Kapoulkine 36 May 24, 2022
fpicker is a Frida-based fuzzing suite supporting various modes (including AFL++ in-process fuzzing)

fpicker fpicker is a Frida-based fuzzing suite that offers a variety of fuzzing modes for in-process fuzzing, such as an AFL++ mode or a passive traci

Dennis Heinze 178 Jul 28, 2022
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

Microsoft 7k Aug 4, 2022
runsc loads 32/64 bit shellcode (depending on how runsc is compiled) in a way that makes it easy to load in a debugger. This code is based on the code from https://github.com/Kdr0x/Kd_Shellcode_Loader by Gary "kd" Contreras.

runsc This code is based on the code from https://github.com/Kdr0x/Kd_Shellcode_Loader by Gary "kd" Contreras and contains additional functionality. T

null 25 Jul 27, 2022