Coder Social home page Coder Social logo

esp32-cam-fpv's People

Contributors

jeanlemotan avatar julesthuillier 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

esp32-cam-fpv's Issues

ground station can only get a part of data

Hi, Thanks for your share about your work.

I test this projects by using ESP32-CAM and My PC(linux) with net card(AR9271 and RT3070), because I have no RP3 or RP4. I removed the code related to RaspberryPi/Decode/GUI and just test the data transmition.

while I power on the esp32-cam, and run the program, the log shows that I only got a part of the data. For example, 2 part of 1 frame, and could not get a complete video frame.

I) src/main.cpp: 129: OK Video frame 49896, 10 1457 - CRC OK 117. 
(I) src/main.cpp: 129: OK Video frame 49896, 20 1457 - CRC OK 21. 
(I) src/main.cpp: 129: OK Video frame 49897, 4 1457 - CRC OK 49. 
(I) src/main.cpp: 129: OK Video frame 49899, 1 1457 - CRC OK 240. 
(I) src/main.cpp: 129: OK Video frame 49899, 9 1457 - CRC OK 233. 
(I) src/main.cpp: 129: OK Video frame 49900, 7 1457 - CRC OK 217. 
(I) src/main.cpp: 129: OK Video frame 49901, 11 1457 - CRC OK 89. 
(I) src/main.cpp: 129: OK Video frame 49901, 21 1457 - CRC OK 57. 
(I) src/main.cpp: 129: OK Video frame 49902, 17 1457 - CRC OK 140. 
(I) src/main.cpp: 129: OK Video frame 49905, 0 1457 - CRC OK 105. 
(I) src/main.cpp: 129: OK Video frame 49905, 20 1457 - CRC OK 212. 
(I) src/main.cpp: 129: OK Video frame 49907, 2 1457 - CRC OK 129. 
(I) src/main.cpp: 129: OK Video frame 49907, 14 1457 - CRC OK 23. 
(I) src/main.cpp: 129: OK Video frame 49908, 11 1457 - CRC OK 152. 
(I) src/main.cpp: 129: OK Video frame 49909, 11 1457 - CRC OK 142.

the log format is:

LOGI("OK Video frame {}, {} {} - CRC OK {}. ", air2ground_video_packet.frame_index, (int)air2ground_video_packet.part_index, payload_size, crc);

the code is here:
https://github.com/Ncerzzk/esp32-cam-fpv/tree/temp

have you met this kind of problem?

Any idea to improve the low latency when using higher resolution

Hi

Currently, as readme and test shows:

Up to 12Mbps video rate.
More than 90 FPS at 400x296 or lower with 20-50 ms latency.
34-44 FPS at 800x600 or 640x480 with 50-80 ms latency.
12 FPS at 1024x768 with >100 ms latency.

Is there any way to improve the low latency, especially higher resolution?

e.g. XGA, //1024x768

Milestone for airunit-firmware and gs desktop program (requested.)

I think esp32-cam-fpv need a milestone, which should be at least
a) both airunit-firmware and gs program can be compiled.
b) both airunit-firmware (AI thinker OV2604) + RPI 3B/3B+/4 should be OK
c) both airunit-firmware (AI thinker OV2604) + laptop (ubuntu 64) should be OK
d) FPS rate ~ 30, resolution 800 x 600??? ===> which is usable for FPV
e) IDF 4.4.3 ???? IDF 5.0 ???? I think 4.4.3 might be ok for initial step.
f) others.......

Please feel free to discuss?

make -j4 gives error: unrecognized command-line option ‘-mfpu=neon’

Hello, I am trying to install the gs on my raspberry pi 4 with ubuntu, I have installed all the dependencies as listed on the guide and edited main.cpp according with my wireless adapters, tough when I try to run sudo make -j4 (just make -j4 gives me permission errors) I get this error and I can't quite figure out what is the problem:

g++ -MT .o/src/main.o -MD -MP -MF .d/src/main.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/main.o src/main.cpp
g++ -MT .o/src/droid_sans_font.o -MD -MP -MF .d/src/droid_sans_font.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/droid_sans_font.o src/droid_sans_font.cpp
g++ -MT .o/src/HUD.o -MD -MP -MF .d/src/HUD.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/HUD.o src/HUD.cpp
g++ -MT .o/src/imgui_impl_opengl3.o -MD -MP -MF .d/src/imgui_impl_opengl3.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/imgui_impl_opengl3.o src/imgui_impl_opengl3.cpp
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** [Makefile:126: .o/src/main.o] Error 1
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** Waiting for unfinished jobs....
make: *** [Makefile:126: .o/src/droid_sans_font.o] Error 1
g++: error: unrecognized command-line option ‘-mfpu=neon’
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** [Makefile:126: .o/src/HUD.o] Error 1
make: *** [Makefile:126: .o/src/imgui_impl_opengl3.o] Error 1

Does anyone have any idea what I might be doing wrong? Thank you for your time

can it work with openHD?

can it work with open HD?

Since there is no discussion, and I didn't find way to email. Hope issues will get any luck response. :)

What is the limiting factor in the current system?

Hi, what is currently the limiting factor of the whole system? Is it the camera or the esp32 itself, would offloading image processing and acquisition to another board allow lower latency at higher resolutions?

Write to SD card: how to?

Hi,
Thanks for sharing your great work.
How can we have the mjpeg file on the sdcard?

I tried with below steps:

  • inserted a sdcard
  • turned on the esp
  • On monitor, it shows the expected output
  • wait a few seconds
  • turn off the esp
  • checking the sd card, but no files created.

(Not related but, is there any chance to use your logic to have better FPS to be sent to a browser/video program?)

Thanks in advance,

Very poor latency / FPS performance

I got the ground station running on a laptop, see #39 for more details.
But my performance is very bad. I am also no using a diversity receiver, but my latency is atrocious and framerate as well ( 0 to 5 fps).
Some logs from the ground station:

(I) src/main.cpp: 102: Sent: 2, RX len: 61740, RSSI: -28, Latency: 2/2/2
(I) src/main.cpp: 102: Sent: 2, RX len: 79380, RSSI: -29, Latency: 4/164/84
(I) src/main.cpp: 102: Sent: 2, RX len: 39690, RSSI: -29, Latency: 177/220/199
(I) src/main.cpp: 102: Sent: 2, RX len: 51450, RSSI: -28, Latency: 180/180/180
(I) src/main.cpp: 102: Sent: 2, RX len: 73500, RSSI: -32, Latency: 39/200/119
(I) src/main.cpp: 102: Sent: 2, RX len: 57330, RSSI: -31, Latency: 103/115/109
(I) src/main.cpp: 102: Sent: 2, RX len: 49980, RSSI: -31, Latency: 76/126/101
(I) src/main.cpp: 102: Sent: 2, RX len: 52920, RSSI: -31, Latency: 134/178/156
(I) src/main.cpp: 102: Sent: 2, RX len: 41160, RSSI: -31, Latency: 145/145/145

and the esp:

WLAN S: 106272, R: 350, E: 0, D: 0, % : 94 || FPS: 51, D: 131983 || D: 0, E: 0
WLAN S: 78228, R: 420, E: 0, D: 0, % : 94 || FPS: 52, D: 131661 || D: 0, E: 0
WLAN S: 76752, R: 420, E: 0, D: 0, % : 97 || FPS: 51, D: 140211 || D: 0, E: 0
WLAN S: 129888, R: 420, E: 0, D: 0, % : 97 || FPS: 52, D: 141822 || D: 0, E: 0
WLAN S: 174168, R: 350, E: 0, D: 0, % : 52 || FPS: 52, D: 141902 || D: 0, E: 0
WLAN S: 64944, R: 420, E: 0, D: 0, % : 97 || FPS: 51, D: 142672 || D: 0, E: 0
WLAN S: 69372, R: 420, E: 0, D: 0, % : 97 || FPS: 52, D: 136611 || D: 0, E: 0
WLAN S: 41328, R: 420, E: 0, D: 0, % : 97 || FPS: 51, D: 132176 || D: 0, E: 0

I am not sure what the issue is, the RSSI seems very good. I am in a noisy 2.4 GHz location, but the proximity should overpower everything. What could be the cause of this performance issue, and how can I diagnose it?

VFPS and stucky problems

Have anyone really could enjoy an vf
ps higher than 10? Or just some very stucky things?

Please post your system info , device info , WiFi card type, driver version and download address.
We need to find the best combination .
I'm suffering from super looooow vfps with both of my monitor card. I have checked the raw pack in tcpdump bytes by bytes and figured out my cards really lost a lot of packcts.

I have borrowed an EM wave darkroom(a large shield box with materials whcih could absorb EM wave) from my college and do more test to see if it is heavy traffic that influence.

fatal error: crc.h: No such file or directory

root@raspberrypi:~# git clone https://github.com/jeanlemotan/esp32-cam-fpv.git
Cloning into 'esp32-cam-fpv'...
remote: Enumerating objects: 277, done.
remote: Counting objects: 100% (277/277), done.
remote: Compressing objects: 100% (185/185), done.
remote: Total 277 (delta 99), reused 238 (delta 74), pack-reused 0
Receiving objects: 100% (277/277), 905.21 KiB | 388.00 KiB/s, done.
Resolving deltas: 100% (99/99), done.
root@raspberrypi:~#cd esp32-cam-fpv root@raspberrypi:~/esp32-cam-fpv# cd gs/ root@raspberrypi:~/esp32-cam-fpv/gs# ls Makefile src root@raspberrypi:~/esp32-cam-fpv/gs# make
g++ -MT .o/src/main.o -MD -MP -MF .d/src/main.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/main.o src/main.cpp
src/main.cpp:20:10: fatal error: crc.h: No such file or directory
20 | #include "crc.h"
| ^~~~~~~
compilation terminated.
make: *** [Makefile:126: .o/src/main.o] Error 1
root@raspberrypi:~/esp32-cam-fpv/gs#
`

PIXFORMAT_GREYSCALE uncompressed streaming

Hi, currently, this only works when using jpeg compressed streaming. Would support for high fps (30-90)fps be possible with grayscale output and a low res like 96x96?

Allwinner v3s + ESP32 version

I love the premise of this project, but want to take it a step up in video quality and latency.
To do this I'm using a Allwinner V3s as camera interface, image signal processor and jpeg compressor. This allows many many more sensors, frame rates and resolutions to be an option, then using an ESP32 as wifi broadcast card (as per ESP32_bridge_broadcast).

Currently testing with an OV5640 as it works, but I'm aiming to use a OV4669 (same as the Runcam Split 3), which should provide a big boost in quality, and be good for 720p/60 (the sensor is good for 720p/120, but I don't have enough CSI lanes)
I've eventually managed to get hardware accelerated jpeg encoding to run, and it should be good for 720p 60fps.

Wifi wise I'm ending up with similar findings to what you found with the ESP8266_bridge_broadcast : finding SDIO Wifi modules capable of Monitor mode is tough, getting drivers on the ancient kernel I'm using a pain, so I heading down using an ESP32 over SPI (tested to 25Mhz, and 4K SPI messages allows over 20Mbps of throughput).
I just need to hack esp32-cam-fpv to take it's input from SPI, and then get the OV4669 working and it should be good for a test.

Have you got any interest on working on esp32-cam-fpv, or are you done with it? If possible I'd love a bit of assistance in working out the magic in camera_data_available(), but if not I'm sure I'll get there eventually.

Error in pcap_activate: That device doesn't support monitor mode

Hi,
I trying to make gs works on RPI4 running openhd kernel 6.1.29-v8+ and openhd rtl drivers for my TP-Link RTL8812AU Archer T4U 802.11ac wifi adapter.
Unfortunelty it does not work even when the wifi seems to be in monitor mode

iw wlan1 info
Interface wlan1
        ifindex 6
        wdev 0x300000001
        addr c4:e9:84:09:07:35
        type monitor
        wiphy 3
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 18.00 dBm

The error is " Error in pcap_activate: That device doesn't support monitor mode" and tcpdump also claims the same

 sudo tcpdump --monitor-mode -i wlan1
tcpdump: wlan1: That device doesn't support monitor mode

Any idea what i do wrong,
thank you in advance
Kris

`esp_wifi_config_80211_tx_rate` not declared

Hello, I'm trying to flash the software to my ESP-32 cam. I followed the tutorial for ESP32 v4.3-beta1 and everything seems to work well.
However, after going to air_firmware and running idf.py -p /dev/ttyUSB0 flash monitor, I get this error:

../main/main.cpp:695:21: error: 'esp_wifi_config_80211_tx_rate' was not declared in this scope
     esp_err_t err = esp_wifi_config_80211_tx_rate(ESP_WIFI_IF, (wifi_phy_rate_t)rates[(int)value]);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../main/main.cpp:695:21: note: suggested alternative: 'esp_wifi_80211_tx'
     esp_err_t err = esp_wifi_config_80211_tx_rate(ESP_WIFI_IF, (wifi_phy_rate_t)rates[(int)value]);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     esp_wifi_80211_tx
../main/main.cpp: In function 'void wifi_rx_proc(void*)':
../main/main.cpp:1036:21: warning: unused variable 'rssi' [-Wunused-variable]
             int16_t rssi = s_wlan_incoming_rssi;
                     ^~~~
`ninja: build stopped: subcommand failed.

I see that in main.cpp there are two other options for setting the esp_err_t. After trying the esp_wifi_internal_set_fix_rate, the program flashes successfully, but it doesn't seem to work. I'm gettin this error from the monitor:

MEMORY at start: 
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 140 allocated 4668 min_free 140
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb91a8 len 159320 free 129072 allocated 28624 min_free 128104
    largest_free_block 65536 alloc_blocks 27 free_blocks 2 total_blocks 29
  At 0x3ffe0440 len 15072 free 13448 allocated 0 min_free 13448
    largest_free_block 8192 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 112216 allocated 0 min_free 112216
    largest_free_block 65536 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 254876 allocated 33292 min_free 253908 largest_free_block 65536
^[[0;32mI (813) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 ^[[0m
MEMORY after fec: 
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 140 allocated 4668 min_free 140
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb91a8 len 159320 free 1220 allocated 156476 min_free 1220
    largest_free_block 0 alloc_blocks 304 free_blocks 0 total_blocks 304
  At 0x3ffe0440 len 15072 free 88 allocated 13360 min_free 88
    largest_free_block 0 alloc_blocks 21 free_blocks 0 total_blocks 21
  At 0x3ffe4350 len 113840 free 106648 allocated 5568 min_free 106648
    largest_free_block 65536 alloc_blocks 17 free_blocks 1 total_blocks 18
  Totals:
    free 108096 allocated 180072 min_free 108096 largest_free_block 65536
(893) wifi:wifi driver task: 3ffe9110, prio:23, stack:6656, core=0
[0;32mI (893) system_api: Base MAC address is not set^[[0m
[0;32mI (893) system_api: read default base MAC address from EFUSE^[[0m
(913) wifi:wifi firmware version: 6b2834e
(913) wifi:wifi certification version: v7.0
(913) wifi:config NVS flash: enabled
(923) wifi:config nano formating: disabled
(923) wifi:Init data frame dynamic rx buffer num: 32
(923) wifi:Init management frame dynamic rx buffer num: 32
(933) wifi:Init management short buffer num: 32
(933) wifi:Init dynamic tx buffer num: 32
(943) wifi:Init static rx buffer size: 1600
(943) wifi:Init static rx buffer num: 10
(953) wifi:Init dynamic rx buffer num: 32
[0;32mI (953) wifi_init: rx ba win: 6^[[0m
[0;32mI (953) wifi_init: tcpip mbox: 32^[[0m
[0;32mI (963) wifi_init: udp mbox: 6^[[0m
[0;32mI (963) wifi_init: tcp mbox: 6^[[0m
[0;32mI (963) wifi_init: tcp tx win: 5744^[[0m
[0;32mI (973) wifi_init: tcp rx win: 5744^[[0m
[0;32mI (973) wifi_init: tcp mss: 1440^[[0m
[0;32mI (983) wifi_init: WiFi IRAM OP enabled^[[0m
[0;32mI (983) wifi_init: WiFi RX IRAM OP enabled^[[0m
[0;32mI (993) phy_init: phy_version 4660,0162888,Dec 23 2020^[[0m
(1093) wifi:mode : sta (0c:b8:15:76:f8:24)
(1093) wifi:enable tsf
(1093) wifi:Set ps type: 0
E (1093) wifi:can't set fix rate when tx ampdu is enabled
ESP_ERROR_CHECK failed: esp_err_t 0x106 (ESP_ERR_NOT_SUPPORTED) at 0x4008918c
file: "../main/main.cpp" line 1155
func: void setup_wifi()
expression: set_wifi_fixed_rate(s_ground2air_config_packet.wifi_rate)
abort() was called at PC 0x4008918f on core 0
Backtrace:0x4008ae17:0x3ffbe540 0x4008b5e9:0x3ffbe560 0x4009326a:0x3ffbe580 0x4008918f:0x3ffbe5f0 0x400d830d:0x3ffbe610 0x400d8478:0x3ffbe700 0x40153111:0x3ffbe750 0x4008ecfd:0x3ffbe770
ELF file SHA256: 5dd20f27a573f3a3
Rebooting...

What might I have done wrong and how can I fix it? I'm working on Ubuntu 20.04 and using the v4.3-beta1 version of ESP-IDF.
Sorry if this problem comes from my lack of knowledge of these systems.
Thanks in advance

I end up with an end-to-end latency of around 800 milliseconds

I tried to get this running, but found several issues, which might or might not be related to each other. Any idea what's going wrong?

Issues:

  1. I end up with an end-to-end latency of around 800 milliseconds – far beyond the figures in the description. I found this out by by directing the camera to the display and at the same time to a stopwatch app and taking a photo of the setup.
2. The output on the display shows checkerboard-like compression artefacts and is virtually unusable.
3. Though I can move the cursor on the RPI-screen with the mouse, I cannot change the configuration-settings.
4. gs shows error messages on startup (I added LOGE("{}", SDL_GetError()); in the SDLCHK macro)

pi@fpvbusterpi:~/esp32-cam-fpv/gs $ sudo -E LD_LIBRARY_PATH=/usr/local/lib ./gs
(I) src/PI_HAL.cpp: 125: Initializing pigpio
(I) src/PI_HAL.cpp: 283: Drivers: 4
(I) src/PI_HAL.cpp: 286: Driver 0: x11
(I) src/PI_HAL.cpp: 286: Driver 1: KMSDRM
(I) src/PI_HAL.cpp: 286: Driver 2: dummy
(I) src/PI_HAL.cpp: 286: Driver 3: evdev
(I) src/PI_HAL.cpp: 295: Mode 0: 1280x1024
(I) src/Comms.cpp: 718: Radiocap header size: 11, IEEE header size: 24
(I) src/Comms.cpp: 581: Opening interface wlan1 in monitor mode
(I) src/Comms.cpp: 282: DLT_IEEE802_11_RADIO Encap
(I) src/Comms.cpp: 581: Opening interface wlan2 in monitor mode
(I) src/Comms.cpp: 282: DLT_IEEE802_11_RADIO Encap
(I) src/Video_Decoder.cpp: 160: SDL window: 31254080
(E) src/Video_Decoder.cpp: 161: SDL error -1 in SDL_GL_MakeCurrent(m_impl->window, m_impl->contexts[thread_index])file src/Video_Decoder.cpp line 161
(E) src/Video_Decoder.cpp: 161: Unable to make EGL context current (call to eglMakeCurrent failed, reporting an error of EGL_BAD_ACCESS)
(I) src/Video_Decoder.cpp: 160: SDL window: 31254080
(E) src/Video_Decoder.cpp: 161: SDL error -1 in SDL_GL_MakeCurrent(m_impl->window, m_impl->contexts[thread_index])file src/Video_Decoder.cpp line 161
(E) src/Video_Decoder.cpp: 161: Unable to make EGL context current (call to eglMakeCurrent failed, reporting an error of EGL_BAD_ACCESS)
(I) src/Video_Decoder.cpp: 160: SDL window: 31254080
(E) src/Video_Decoder.cpp: 161: SDL error -1 in SDL_GL_MakeCurrent(m_impl->window, m_impl->contexts[thread_index])file src/Video_Decoder.cpp line 161
(E) src/Video_Decoder.cpp: 161: Unable to make EGL context current (call to eglMakeCurrent failed, reporting an error of EGL_BAD_ACCESS)
(I) src/Video_Decoder.cpp: 160: SDL window: 31254080
(E) src/Video_Decoder.cpp: 161: SDL error -1 in SDL_GL_MakeCurrent(m_impl->window, m_impl->contexts[thread_index])file src/Video_Decoder.cpp line 161
(E) src/Video_Decoder.cpp: 161: Unable to make EGL context current (call to eglMakeCurrent failed, reporting an error of EGL_BAD_ACCESS)

What's my setup and what did I do?

 
• I’m using an RPI4 with a Buster image and TL-WN722 v2 adapters together with appropriate driver from https://github.com/aircrack-ng/rtl8188eus.
• I provided the prerequisites as described
• I fixed the obvious issue in Makefile in order to find all headers
• I had to change Comms.cpp ( pcap_set_rfmon(pcap.pcap, 0) < 0) ) in order to work around a PCAP problem (pcap_activate … too many arguments)
• WLAN1 und WLAN2 are successfully brought up in monitoring mode before startup of gs
• I made sure ESP32-CAM was running continuously
• I accessed RPI by ssh to start gs
• I did serial monitoring on ESP32

Typical output of gs:


(I) src/main.cpp: 104: RX len: 77910, RSSI: -65, Latency: 158/158/158
(I) src/main.cpp: 104: RX len: 99960, RSSI: -69, Latency: 144/144/144
(I) src/main.cpp: 104: RX len: 104370, RSSI: -47, Latency: 168/168/168
(I) src/main.cpp: 104: RX len: 113190, RSSI: -81, Latency: 162/162/162
(I) src/main.cpp: 104: RX len: 110250, RSSI: -47, Latency: 130/130/130
(I) src/main.cpp: 104: RX len: 108780, RSSI: -65, Latency: 140/140/140
(I) src/main.cpp: 104: RX len: 104370, RSSI: -69, Latency: 144/144/144
(I) src/main.cpp: 104: RX len: 107310, RSSI: -47, Latency: 167/167/167
(I) src/main.cpp: 104: RX len: 98490, RSSI: -47, Latency: 160/160/160
(I) src/main.cpp: 104: RX len: 108780, RSSI: -81, Latency: 195/195/195
(I) src/main.cpp: 104: RX len: 97020, RSSI: -65, Latency: 126/126/126
(I) src/main.cpp: 104: RX len: 102900, RSSI: -95, Latency: 180/180/180
(I) src/main.cpp: 104: RX len: 101430, RSSI: -95, Latency: 130/130/130
(I) src/main.cpp: 104: RX len: 104370, RSSI: -95, Latency: 141/141/141

HAL widget on DISPLAY reports <5ms/frame and >200fps

Typical output of esp32-cam:


MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
At 0x3f800000 len 4194303 free 979859 allocated 3211264 min_free 979859
largest_free_block 966656 alloc_blocks 257 free_blocks 1 total_blocks 258
At 0x3ffae6e0 len 6432 free 4 allocated 4136 min_free 4
largest_free_block 0 alloc_blocks 35 free_blocks 0 total_blocks 35
At 0x3ffb7920 len 165600 free 4 allocated 162832 min_free 4
largest_free_block 0 alloc_blocks 153 free_blocks 0 total_blocks 153
At 0x3ffe0440 len 15072 free 4 allocated 12876 min_free 4
largest_free_block 0 alloc_blocks 10 free_blocks 0 total_blocks 10
At 0x3ffe4350 len 113840 free 6888 allocated 104528 min_free 6872
largest_free_block 6784 alloc_blocks 68 free_blocks 2 total_blocks 70
Totals:
free 986759 allocated 3495636 min_free 986743 largest_free_block 966656
WLAN S: 29520, R: 70, E: 0, D: 0, % : 99 || FPS: 1, D: 68846 || D: 0, E: 0
Wifi rate changed from 9 to 13
Camera resolution changed from 3 to 0
Target FPS changed from 30 to 0
Camera quality from 8 to 63
WLAN S: 119556, R: 280, E: 0, D: 0, % : 97 || FPS: 48, D: 537492 || D: 0, E: 0
WLAN S: 119556, R: 210, E: 0, D: 0, % : 97 || FPS: 54, D: 123820 || D: 0, E: 0
WLAN S: 119556, R: 350, E: 0, D: 0, % : 95 || FPS: 54, D: 124757 || D: 0, E: 0
WLAN S: 119556, R: 210, E: 0, D: 0, % : 97 || FPS: 54, D: 124719 || D: 0, E: 0
WLAN S: 121032, R: 210, E: 0, D: 0, % : 95 || FPS: 54, D: 125311 || D: 0, E: 0
WLAN S: 119556, R: 350, E: 0, D: 0, % : 97 || FPS: 53, D: 125379 || D: 0, E: 0
WLAN S: 119556, R: 210, E: 0, D: 0, % : 97 || FPS: 54, D: 125704 || D: 0, E: 0
WLAN S: 119556, R: 210, E: 0, D: 0, % : 97 || FPS: 53, D: 123120 || D: 0, E: 0
WLAN S: 121032, R: 280, E: 0, D: 0, % : 95 || FPS: 53, D: 122297 || D: 0, E: 0
WLAN S: 119556, R: 210, E: 0, D: 0, % : 95 || FPS: 53, D: 124083 || D: 0, E: 0
WLAN S: 119556, R: 280, E: 0, D: 0, % : 95 || FPS: 53, D: 125109 || D: 0, E: 0
WLAN S: 119556, R: 280, E: 0, D: 0, % : 95 || FPS: 53, D: 124289 || D: 0, E: 0
WLAN S: 119556, R: 350, E: 0, D: 0, % : 97 || FPS: 53, D: 124572 || D: 0, E: 0
WLAN S: 121032, R: 350, E: 0, D: 0, % : 95 || FPS: 53, D: 123323 || D: 0, E: 0

Problem while running make -j4

I followed the readme instructions, it worked perfectly for the ESP32CAM module but not on my Raspberry PI4B...

On the Raspberry PI 4B when execute "make -j4" in gs folder:

g++ -MT .o/src/main.o -MD -MP -MF .d/src/main.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -I../components/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/main.o src/main.cpp
g++ -MT .o/src/droid_sans_font.o -MD -MP -MF .d/src/droid_sans_font.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -I../components/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/droid_sans_font.o src/droid_sans_font.cpp
g++ -MT .o/src/HUD.o -MD -MP -MF .d/src/HUD.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -I../components/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/HUD.o src/HUD.cpp
g++ -MT .o/src/imgui_impl_opengl3.o -MD -MP -MF .d/src/imgui_impl_opengl3.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -I../components/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/imgui_impl_opengl3.o src/imgui_impl_opengl3.cpp
g++: error: unrecognized command-line option ‘-mfpu=neon’
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** [Makefile:162: .o/src/main.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:162: .o/src/droid_sans_font.o] Error 1
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** [Makefile:162: .o/src/HUD.o] Error 1
g++: error: unrecognized command-line option ‘-mfpu=neon’
make: *** [Makefile:162: .o/src/imgui_impl_opengl3.o] Error 1

If someone can help me it would be great, this project excites me

How-to install details?

Great project! Hoping you'll write up some instructions on how to install this on an ESP32-CAM and Rpi!

Undefined reference issues when compiling gs code.

  • I could not compile the gs code.I have tried my best to compile them and tried to modify the Makefile but nothing worked.there is some screenshots when i tried to compile :
g++ -o gs "-L/usr/lib/aarch64-linux-gnu" "-L/usr/lib" "-L/opt/vc/lib" -lstdc++ -lm -pthread -lz -lrt -lfreetype -lSDL2 -lturbojpeg -lpcap -lGLESv2 -lpigpio  .o/src/main.o .o/src/droid_sans_font.o .o/src/HUD.o .o/src/imgui_impl_opengl3.o .o/src/PI_HAL.o .o/src/Comms.o .o/src/Video_Decoder.o .o/src/utils/radiotap/radiotap.o .o/src/imgui/imgui_impl_sdl.o .o/src/imgui/imgui_demo.o .o/src/imgui/imgui_draw.o .o/src/imgui/imgui.o .o/src/imgui/misc/freetype/imgui_freetype.o .o/../components/common/crc.o .o/../components/common/fec.o .o/src/fmt/format.o .o/src/fmt/os.o
/usr/bin/ld: .o/src/main.o: in function `comms_thread_proc()':
main.cpp:(.text+0xb14): undefined reference to `gpioWrite'
/usr/bin/ld: main.cpp:(.text+0xd10): undefined reference to `gpioWrite'
/usr/bin/ld: .o/src/main.o: in function `main':
main.cpp:(.text.startup+0x94): undefined reference to `gpioSetMode'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::prepare_filter(Comms::PCap&)':
Comms.cpp:(.text+0x34e0): undefined reference to `pcap_datalink'
/usr/bin/ld: Comms.cpp:(.text+0x3620): undefined reference to `pcap_compile'
/usr/bin/ld: Comms.cpp:(.text+0x3634): undefined reference to `pcap_setfilter'
/usr/bin/ld: Comms.cpp:(.text+0x3644): undefined reference to `pcap_freecode'
/usr/bin/ld: Comms.cpp:(.text+0x364c): undefined reference to `pcap_get_selectable_fd'
/usr/bin/ld: Comms.cpp:(.text+0x36f4): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x375c): undefined reference to `pcap_freecode'
/usr/bin/ld: Comms.cpp:(.text+0x3768): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::prepare_pcap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Comms::PCap&)':
Comms.cpp:(.text+0x3b38): undefined reference to `pcap_create'
/usr/bin/ld: Comms.cpp:(.text+0x3b48): undefined reference to `pcap_set_snaplen'
/usr/bin/ld: Comms.cpp:(.text+0x3b58): undefined reference to `pcap_set_promisc'
/usr/bin/ld: Comms.cpp:(.text+0x3b68): undefined reference to `pcap_set_rfmon'
/usr/bin/ld: Comms.cpp:(.text+0x3b78): undefined reference to `pcap_set_timeout'
/usr/bin/ld: Comms.cpp:(.text+0x3b88): undefined reference to `pcap_set_immediate_mode'
/usr/bin/ld: Comms.cpp:(.text+0x3b9c): undefined reference to `pcap_set_buffer_size'
/usr/bin/ld: Comms.cpp:(.text+0x3bdc): undefined reference to `pcap_activate'
/usr/bin/ld: Comms.cpp:(.text+0x3c00): undefined reference to `pcap_setdirection'
/usr/bin/ld: Comms.cpp:(.text+0x3c2c): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x3c70): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x3cac): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x3d24): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x3d78): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Comms.o:Comms.cpp:(.text+0x3dc8): more undefined references to `pcap_geterr' follow

(all the libraries are undefined reference. I do install the libraries sudo apt install libdrm-dev libgbm-dev libgles2-mesa-dev libpcap-dev libturbojpeg0-dev libts-dev libsdl2-dev)

  • The instructions on compile SDL2 are outdated.When doing the clone , i got SDL3 and the newer version needs cmake ,not configure.
  • 64bit OS support is needed.maybe means a faster compute speed?
  • We do need to move to a newer version of IDF (5.0) . Because the support of 80211 raw radio doesn't include dumping the CRC error frame in IDF 4.3. We still need the error frames because we have the ability to correct them by fec.
    wi-fi-80211-packet-send
    The following packets will NOT be dumped to the application:
        802.11 error frame, such as the frame with a CRC error, etc.
    
    I notice that IDF 5.0 allows us to do this.

If the above things really matter,i am very very glad to participate in fixing bugs and helping to make the features happen as long as anyone could help me to figure out which step i missed or wrong?
Now i am stucking at compiling gs code :)

I am having difficulty compiling

I have to admit I never used ESP-IDF before so I am having difficulty compiling your great project. I always use Arduino IDE for my small projects.

Can you please publish compiled binary which I can upload to ESP32 or guide me to use it with Arduino ?

Thanks.

Laptop build

Hi there! Pop OS 6.1.11-76060111-generic #202302091138~1675975749~22.04~f771a7f SMP PREEMPT_DYNAMIC Thu F x86_64 x86_64 x86_64 GNU/Linux here. HW: TL-WN722N v2 card with this fix. Airdump-ng works fine - tested it.

$ sudo -E DISPLAY=:0 ./gs (I) src/PI_HAL.cpp: 286: Drivers: 4 (I) src/PI_HAL.cpp: 289: Driver 0: x11 (I) src/PI_HAL.cpp: 289: Driver 1: wayland (I) src/PI_HAL.cpp: 289: Driver 2: KMSDRM (I) src/PI_HAL.cpp: 289: Driver 3: dummy (I) src/PI_HAL.cpp: 298: Mode -1: 455844177x671522212 (E) src/PI_HAL.cpp: 317: Cannot create window: No available video device (E) src/PI_HAL.cpp: 604: Cannot initialize display Segmentation fault
or

`$ sudo -E ./gs
(I) src/PI_HAL.cpp: 286: Drivers: 4
(I) src/PI_HAL.cpp: 289: Driver 0: x11
(I) src/PI_HAL.cpp: 289: Driver 1: wayland
(I) src/PI_HAL.cpp: 289: Driver 2: KMSDRM
(I) src/PI_HAL.cpp: 289: Driver 3: dummy
(I) src/PI_HAL.cpp: 298: Mode 0: 1366x768
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader
(E) src/imgui_impl_opengl3.cpp: 382: GL error 1282 in glShaderSource(shaderData.VertHandle, 2, vertex_shader_with_version, NULL) file src/imgui_impl_opengl3.cpp line 382
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader
(E) src/imgui_impl_opengl3.cpp: 477: GL error 1282 in glGenBuffers(1, &g_VboHandle) file src/imgui_impl_opengl3.cpp line 477
(I) src/Comms.cpp: 718: Radiocap header size: 11, IEEE header size: 24
(I) src/Comms.cpp: 581: Opening interface wlxac15a2eb4253 in monitor mode
(E) src/Comms.cpp: 623: Error in pcap_activate: That device doesn't support monitor mode
`
What's my problem there?
Thanks

IDF4.4.4 sd_enqueue_proc stack issue

I use the IDF4.4.4 with this default SDK config.

There are two issue:

  1. see my log attached to esp-idf 4.3 + latest code(56ee43e) constantly reboot #16
  2. below log is based on 1) fixes.

1024 might be not enough for sd_enqueue_proc, 1536 seems fine.
BaseType_t res = xTaskCreatePinnedToCore(&sd_enqueue_proc, "SD Enq", 1024, nullptr, 1, &s_sd_enqueue_task, core);

$ idf.py -p /dev/ttyUSB0 flash monitor
Executing action: flash
Running ninja in directory /home/daniel/Work/esp32-cam-fpv/air_firmware/build
Executing "ninja flash"...
[1/5] cd /home/daniel/Work/esp32-cam-fpv/air_firmware/build/esp-idf/esptool_py && ...tion-table.bin /home/daniel/Work/esp32-cam-fpv/air_firmware/build/air_firmware.bin
air_firmware.bin binary size 0xb9010 bytes. Smallest app partition is 0x100000 bytes. 0x46ff0 bytes (28%) free.
[2/5] Performing build step for 'bootloader'
[1/1] cd /home/daniel/Work/esp32-cam-fpv/air_firmware/build/bootloader/esp-idf/esptool_py && /home/daniel/.espressif/python_env/idf4.4_py3.8_env/bin/python /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/daniel/Work/esp32-cam-fpv/air_firmware/build/bootloader/bootloader.bin
Bootloader binary size 0x63b0 bytes. 0xc50 bytes (11%) free.
[2/3] cd /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/esptool_py && /usr/bi...ome/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/esptool_py/run_serial_tool.cmake
esptool.py esp32 -p /dev/ttyUSB0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 air_firmware.bin 0x8000 partition_table/partition-table.bin
esptool.py v3.3.2
Serial port /dev/ttyUSB0
Connecting..........
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: e0:5a:1b:6b:d5:74
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00010000 to 0x000c9fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Compressed 25520 bytes to 15998...
Writing at 0x00001000... (100 %)
Wrote 25520 bytes (15998 compressed) at 0x00001000 in 1.2 seconds (effective 168.2 kbit/s)...
Hash of data verified.
Compressed 757776 bytes to 474248...
Writing at 0x00010000... (3 %)
Writing at 0x0001c116... (6 %)
Writing at 0x0002760a... (10 %)
Writing at 0x0003200b... (13 %)
Writing at 0x000376a1... (17 %)
Writing at 0x0003d876... (20 %)
Writing at 0x0004343b... (24 %)
Writing at 0x0004923c... (27 %)
Writing at 0x0004ec06... (31 %)
Writing at 0x0005482c... (34 %)
Writing at 0x00059e61... (37 %)
Writing at 0x0005f118... (41 %)
Writing at 0x00064504... (44 %)
Writing at 0x000698ca... (48 %)
Writing at 0x0006ef0d... (51 %)
Writing at 0x0007483c... (55 %)
Writing at 0x0007a77a... (58 %)
Writing at 0x000801b9... (62 %)
Writing at 0x00085a47... (65 %)
Writing at 0x0008b169... (68 %)
Writing at 0x00090829... (72 %)
Writing at 0x00096c96... (75 %)
Writing at 0x0009c716... (79 %)
Writing at 0x000a4812... (82 %)
Writing at 0x000ad347... (86 %)
Writing at 0x000b3020... (89 %)
Writing at 0x000b87d3... (93 %)
Writing at 0x000be1e2... (96 %)
Writing at 0x000c3cf7... (100 %)
Wrote 757776 bytes (474248 compressed) at 0x00010000 in 11.7 seconds (effective 517.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 103...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 217.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Executing action: monitor
Running idf_monitor in directory /home/daniel/Work/esp32-cam-fpv/air_firmware
Executing "/home/daniel/.espressif/python_env/idf4.4_py3.8_env/bin/python /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/tools/idf_monitor.py -p /dev/ttyUSB0 -b 115200 --toolchain-prefix xtensa-esp32-elf- --target esp32 --revision 0 /home/daniel/Work/esp32-cam-fpv/air_firmware/build/air_firmware.elf -m '/home/daniel/.espressif/python_env/idf4.4_py3.8_env/bin/python' '/home/daniel/Work/esp-sdk/esp-idf-v4.4.4/tools/idf.py' '-p' '/dev/ttyUSB0'"...
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
xx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xxx▒▒▒x▒x▒x▒▒xets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul▒ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_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:6664
load:0x40078000,len:14944
load:0x40080400,len:3816
0x40080400: _init at ??:?

entry 0x40080698
I (27) boot: ESP-IDF v4.4.4 2nd stage bootloader
I (27) boot: compile time 09:05:29
I (27) boot: chip revision: v3.0
I (30) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (37) boot.esp32: SPI Speed      : 40MHz
I (42) boot.esp32: SPI Mode       : DIO
I (47) boot.esp32: SPI Flash Size : 2MB
I (51) boot: Enabling RNG early entropy source...
I (57) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (75) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (82) boot:  2 factory          factory app      00 00 00010000 00100000
I (90) boot: End of partition table
I (94) boot_comm: chip revision: 3, min. application chip revision: 0
I (101) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=1b4bch (111804) map
I (150) esp_image: segment 1: paddr=0002b4e4 vaddr=3ffb0000 size=043fch ( 17404) load
I (157) esp_image: segment 2: paddr=0002f8e8 vaddr=40080000 size=00730h (  1840) load
I (158) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=80a88h (526984) map
I (355) esp_image: segment 4: paddr=000b0ab0 vaddr=40080730 size=18538h ( 99640) load
I (408) boot: Loaded app from partition at offset 0x10000
I (408) boot: Disabling RNG early entropy source...
I (420) cpu_start: Pro cpu up.
I (420) cpu_start: Starting app cpu, entry point is 0x40081550
0x40081550: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/esp_system/port/cpu_start.c:148

I (0) cpu_start: App cpu up.
I (437) cpu_start: Pro cpu start user code
I (437) cpu_start: cpu freq: 160000000
I (437) cpu_start: Application information:
I (441) cpu_start: Project name:     air_firmware
I (446) cpu_start: App version:      9adb40b
I (451) cpu_start: Compile time:     Feb  6 2023 09:05:14
I (458) cpu_start: ELF file SHA256:  55c3a3b9f7f4ce65...
I (463) cpu_start: ESP-IDF:          v4.4.4
I (469) heap_init: Initializing. RAM available for dynamic allocation:
I (476) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (482) heap_init: At 3FFB8A38 len 000275C8 (157 KiB): DRAM
I (488) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (494) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (501) heap_init: At 40098C68 len 00007398 (28 KiB): IRAM
I (508) spi_flash: detected chip: gd
I (511) spi_flash: flash io: dio
W (515) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (530) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 136396 allocated 23780 min_free 136396
    largest_free_block 131072 alloc_blocks 27 free_blocks 1 total_blocks 28
  At 0x3ffe0440 len 15072 free 14656 allocated 0 min_free 14656
    largest_free_block 14336 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 112968 allocated 0 min_free 112968
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 264024 allocated 29692 min_free 264024 largest_free_block 131072
I (802) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 1348 allocated 13140 min_free 1348
    largest_free_block 1280 alloc_blocks 42 free_blocks 1 total_blocks 43
  At 0x3ffe4350 len 113840 free 104768 allocated 8192 min_free 104768
    largest_free_block 102400 alloc_blocks 2 free_blocks 1 total_blocks 3
  Totals:
    free 106124 allocated 186336 min_free 106124 largest_free_block 102400
I (872) wifi:wifi driver task: 3ffe9364, prio:23, stack:6656, core=0
I (872) system_api: Base MAC address is not set
I (872) system_api: read default base MAC address from EFUSE
I (902) wifi:wifi firmware version: 6567a16
I (902) wifi:wifi certification version: v7.0
I (902) wifi:config NVS flash: enabled
I (902) wifi:config nano formating: disabled
I (912) wifi:Init data frame dynamic rx buffer num: 32
I (912) wifi:Init management frame dynamic rx buffer num: 32
I (922) wifi:Init management short buffer num: 32
I (922) wifi:Init dynamic tx buffer num: 32
I (932) wifi:Init static rx buffer size: 1600
I (932) wifi:Init static rx buffer num: 10
I (942) wifi:Init dynamic rx buffer num: 32
I (942) wifi_init: rx ba win: 6
I (942) wifi_init: tcpip mbox: 32
I (952) wifi_init: udp mbox: 6
I (952) wifi_init: tcp mbox: 6
I (952) wifi_init: tcp tx win: 5744
I (962) wifi_init: tcp rx win: 5744
I (962) wifi_init: tcp mss: 1440
I (972) wifi_init: WiFi IRAM OP enabled
I (972) wifi_init: WiFi RX IRAM OP enabled
I (982) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (1082) wifi:mode : sta (e0:5a:1b:6b:d5:74)
I (1082) wifi:enable tsf
I (1082) wifi:Set ps type: 0

I (1082) wifi:ic_enable_sniffer
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 4 allocated 14444 min_free 4
    largest_free_block 0 alloc_blocks 52 free_blocks 0 total_blocks 52
  At 0x3ffe4350 len 113840 free 71328 allocated 41428 min_free 71300
    largest_free_block 69632 alloc_blocks 53 free_blocks 2 total_blocks 55
  Totals:
    free 71340 allocated 220876 min_free 71312 largest_free_block 69632
Initialized
I (1142) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1152) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1162) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1172) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1182) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1192) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1202) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1212) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1222) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1232) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1242) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1252) sccb: pin_sda 26 pin_scl 27

I (1252) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1422) camera: Detected OV2640 camera
I (1422) camera: Line width (for DMA): 6400 bytes
I (1422) camera: DMA buffer size: 3200, DMA buffers per line: 2
I (1422) camera: DMA buffer count: 8
I (1432) camera: DMA buffer total: 25600 bytes
I (1432) camera: Allocating DMA buffer #0, size=3200
I (1442) camera: Allocating DMA buffer #1, size=3200
I (1442) camera: Allocating DMA buffer #2, size=3200
I (1452) camera: Allocating DMA buffer #3, size=3200
I (1452) camera: Allocating DMA buffer #4, size=3200
I (1462) camera: Allocating DMA buffer #5, size=3200
I (1462) camera: Allocating DMA buffer #6, size=3200
I (1472) camera: Allocating DMA buffer #7, size=3200
MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 4 allocated 14444 min_free 4
    largest_free_block 0 alloc_blocks 52 free_blocks 0 total_blocks 52
  At 0x3ffe4350 len 113840 free 2464 allocated 110100 min_free 2464
    largest_free_block 1600 alloc_blocks 101 free_blocks 2 total_blocks 103
  Totals:
    free 4112 allocated 287916 min_free 2476 largest_free_block 1600
S: 94464, R: 0, E: 0, D: 0, % : 97 | FPS: 2, D: 178130 | D: 0, E: 0
S: 1546848, R: 0, E: 0, D: 0, % : 97 | FPS: 42, D: 3129186 | D: 0, E: 0
S: 1712160, R: 0, E: 0, D: 0, % : 95 | FPS: 46, D: 2088226 | D: 0, E: 0
S: 1530612, R: 0, E: 0, D: 0, % : 95 | FPS: 42, D: 1719292 | D: 0, E: 0
S: 1591128, R: 0, E: 0, D: 0, % : 95 | FPS: 46, D: 1885012 | D: 0, E: 0
S: 1545372, R: 0, E: 0, D: 0, % : 95 | FPS: 42, D: 1709435 | D: 0, E: 0
S: 1566036, R: 0, E: 0, D: 0, % : 95 | FPS: 41, D: 1710876 | D: 0, E: 0
Wifi rate changed from 9 to 13
Camera resolution changed from 3 to 0
Target FPS changed from 30 to 0
Camera quality from 8 to 63
S: 1064196, R: 350, E: 0, D: 0, % : 0 | FPS: 74, D: 939872 | D: 0, E: 0
S: 411804, R: 420, E: 0, D: 0, % : 0 | FPS: 93, D: 203399 | D: 0, E: 0
S: 411804, R: 420, E: 0, D: 0, % : 4 | FPS: 93, D: 204859 | D: 0, E: 0
S: 413280, R: 420, E: 0, D: 0, % : 0 | FPS: 93, D: 203624 | D: 0, E: 0
S: 408852, R: 350, E: 0, D: 0, % : 0 | FPS: 93, D: 202705 | D: 0, E: 0
S: 411804, R: 420, E: 0, D: 0, % : 0 | FPS: 93, D: 204502 | D: 0, E: 0
S: 407376, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 202271 | D: 0, E: 0
S: 410328, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 203578 | D: 0, E: 0
S: 408852, R: 350, E: 0, D: 0, % : 0 | FPS: 93, D: 202812 | D: 0, E: 0
S: 407376, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 202108 | D: 0, E: 0
S: 407376, R: 350, E: 0, D: 0, % : 0 | FPS: 92, D: 202121 | D: 0, E: 0
S: 405900, R: 350, E: 0, D: 0, % : 2 | FPS: 92, D: 201994 | D: 0, E: 0
S: 407376, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 201160 | D: 0, E: 0
S: 404424, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 200264 | D: 0, E: 0
S: 405900, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 201039 | D: 0, E: 0
S: 404424, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 200198 | D: 0, E: 0
S: 402948, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 199513 | D: 0, E: 0
S: 405900, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 200891 | D: 0, E: 0
S: 404424, R: 420, E: 0, D: 0, % : 0 | FPS: 92, D: 199844 | D: 0, E: 0
S: 402948, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 199188 | D: 0, E: 0
S: 402948, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 199350 | D: 0, E: 0
S: 402948, R: 420, E: 0, D: 0, % : 0 | FPS: 91, D: 199347 | D: 0, E: 0
Mounting SD card...
I (30622) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4000c2e4  PS      : 0x00060a30  A0      : 0x800d6834  A1      : 0x3fff9450
A2      : 0x00000000  A3      : 0x3ffb91ac  A4      : 0x00000320  A5      : 0x00000000
A6      : 0xe0ffd8ff  A7      : 0x464a1000  A8      : 0x00000000  A9      : 0x3fff9400
A10     : 0x3ffb4668  A11     : 0x3ffb4668  A12     : 0x00000000  A13     : 0x3ffb904c
A14     : 0x00000001  A15     : 0x00060c23  SAR     : 0x00000000  EXCCAUSE: 0x0000001d
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000031


Backtrace: 0x4000c2e1:0x3fff9450 0x400d6831:0x3fff9460 0x4008eb69:0x3fff9480
0x400d6831: Circular_Buffer::write(void const*, unsigned int) at /home/daniel/Work/esp32-cam-fpv/components/common/circular_buffer.h:56
 (inlined by) sd_enqueue_proc at /home/daniel/Work/esp32-cam-fpv/air_firmware/build/../main/main.cpp:604

0x4008eb69: vPortTaskWrapper at /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/freertos/port/xtensa/port.c:142





ELF file SHA256: 55c3a3b9f7f4ce65

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_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:6664
load:0x40078000,len:14944
load:0x40080400,len:3816
0x40080400: _init at ??:?

entry 0x40080698
I (27) boot: ESP-IDF v4.4.4 2nd stage bootloader
I (27) boot: compile time 09:05:29
I (27) boot: chip revision: v3.0
I (30) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (37) boot.esp32: SPI Speed      : 40MHz
I (42) boot.esp32: SPI Mode       : DIO
I (46) boot.esp32: SPI Flash Size : 2MB
Fatal exception (29): StoreProhibited
epc1=0x4007af2f, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00040064, depc=0x00000000
ets Jul 29 2019 12:21:46

rst:0x10 (RTCWDT_RTC_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:6664
load:0x40078000,len:14944
load:0x40080400,len:3816
0x40080400: _init at ??:?

entry 0x40080698
I (28) boot: ESP-IDF v4.4.4 2nd stage bootloader
I (28) boot: compile time 09:05:29
I (28) boot: chip revision: v3.0
I (31) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (38) boot.esp32: SPI Speed      : 40MHz
I (42) boot.esp32: SPI Mode       : DIO
I (47) boot.esp32: SPI Flash Size : 2MB
I (52) boot: Enabling RNG early entropy source...
I (57) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (68) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (75) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (83) boot:  2 factory          factory app      00 00 00010000 00100000
I (90) boot: End of partition table
I (94) boot_comm: chip revision: 3, min. application chip revision: 0
I (101) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=1b4bch (111804) map
I (151) esp_image: segment 1: paddr=0002b4e4 vaddr=3ffb0000 size=043fch ( 17404) load
I (158) esp_image: segment 2: paddr=0002f8e8 vaddr=40080000 size=00730h (  1840) load
I (159) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=80a88h (526984) map
I (355) esp_image: segment 4: paddr=000b0ab0 vaddr=40080730 size=18538h ( 99640) load
I (409) boot: Loaded app from partition at offset 0x10000
I (409) boot: Disabling RNG early entropy source...
I (420) cpu_start: Pro cpu up.
I (421) cpu_start: Starting app cpu, entry point is 0x40081550
0x40081550: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.4.4/components/esp_system/port/cpu_start.c:148

I (0) cpu_start: App cpu up.
I (437) cpu_start: Pro cpu start user code
I (437) cpu_start: cpu freq: 160000000
I (437) cpu_start: Application information:
I (441) cpu_start: Project name:     air_firmware
I (447) cpu_start: App version:      9adb40b
I (452) cpu_start: Compile time:     Feb  6 2023 09:05:14
I (458) cpu_start: ELF file SHA256:  55c3a3b9f7f4ce65...
I (464) cpu_start: ESP-IDF:          v4.4.4
I (469) heap_init: Initializing. RAM available for dynamic allocation:
I (476) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (482) heap_init: At 3FFB8A38 len 000275C8 (157 KiB): DRAM
I (488) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (495) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (501) heap_init: At 40098C68 len 00007398 (28 KiB): IRAM
I (509) spi_flash: detected chip: gd
I (512) spi_flash: flash io: dio
W (515) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (530) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 136396 allocated 23780 min_free 136396
    largest_free_block 131072 alloc_blocks 27 free_blocks 1 total_blocks 28
  At 0x3ffe0440 len 15072 free 14656 allocated 0 min_free 14656
    largest_free_block 14336 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 112968 allocated 0 min_free 112968
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 264024 allocated 29692 min_free 264024 largest_free_block 131072
I (802) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 1348 allocated 13140 min_free 1348
    largest_free_block 1280 alloc_blocks 42 free_blocks 1 total_blocks 43
  At 0x3ffe4350 len 113840 free 104768 allocated 8192 min_free 104768
    largest_free_block 102400 alloc_blocks 2 free_blocks 1 total_blocks 3
  Totals:
    free 106124 allocated 186336 min_free 106124 largest_free_block 102400
I (872) wifi:wifi driver task: 3ffe9364, prio:23, stack:6656, core=0
I (872) system_api: Base MAC address is not set
I (872) system_api: read default base MAC address from EFUSE
I (902) wifi:wifi firmware version: 6567a16
I (902) wifi:wifi certification version: v7.0
I (902) wifi:config NVS flash: enabled
I (902) wifi:config nano formating: disabled
I (912) wifi:Init data frame dynamic rx buffer num: 32
I (912) wifi:Init management frame dynamic rx buffer num: 32
I (922) wifi:Init management short buffer num: 32
I (922) wifi:Init dynamic tx buffer num: 32
I (932) wifi:Init static rx buffer size: 1600
I (932) wifi:Init static rx buffer num: 10
I (942) wifi:Init dynamic rx buffer num: 32
I (942) wifi_init: rx ba win: 6
I (942) wifi_init: tcpip mbox: 32
I (952) wifi_init: udp mbox: 6
I (952) wifi_init: tcp mbox: 6
I (952) wifi_init: tcp tx win: 5744
I (962) wifi_init: tcp rx win: 5744
I (962) wifi_init: tcp mss: 1440
I (972) wifi_init: WiFi IRAM OP enabled
I (972) wifi_init: WiFi RX IRAM OP enabled
I (982) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (1082) wifi:mode : sta (e0:5a:1b:6b:d5:74)
I (1082) wifi:enable tsf
I (1082) wifi:Set ps type: 0

I (1092) wifi:ic_enable_sniffer
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 4 allocated 14444 min_free 4
    largest_free_block 0 alloc_blocks 52 free_blocks 0 total_blocks 52
  At 0x3ffe4350 len 113840 free 71328 allocated 41428 min_free 71300
    largest_free_block 69632 alloc_blocks 53 free_blocks 2 total_blocks 55
  Totals:
    free 71340 allocated 220876 min_free 71312 largest_free_block 69632
Initialized
I (1152) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1152) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1162) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1172) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1182) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1192) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1202) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1212) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1222) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1232) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1242) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1252) sccb: pin_sda 26 pin_scl 27

I (1252) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1422) camera: Detected OV2640 camera
I (1422) camera: Line width (for DMA): 6400 bytes
I (1422) camera: DMA buffer size: 3200, DMA buffers per line: 2
I (1422) camera: DMA buffer count: 8
I (1432) camera: DMA buffer total: 25600 bytes
I (1432) camera: Allocating DMA buffer #0, size=3200
I (1442) camera: Allocating DMA buffer #1, size=3200
I (1442) camera: Allocating DMA buffer #2, size=3200
I (1452) camera: Allocating DMA buffer #3, size=3200
I (1452) camera: Allocating DMA buffer #4, size=3200
I (1462) camera: Allocating DMA buffer #5, size=3200
I (1462) camera: Allocating DMA buffer #6, size=3200
I (1472) camera: Allocating DMA buffer #7, size=3200
MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
  At 0x3ffae6e0 len 6432 free 4 allocated 5912 min_free 4
    largest_free_block 0 alloc_blocks 34 free_blocks 0 total_blocks 34
  At 0x3ffb8a38 len 161224 free 4 allocated 159092 min_free 4
    largest_free_block 0 alloc_blocks 297 free_blocks 0 total_blocks 297
  At 0x3ffe0440 len 15072 free 4 allocated 14444 min_free 4
    largest_free_block 0 alloc_blocks 52 free_blocks 0 total_blocks 52
  At 0x3ffe4350 len 113840 free 4100 allocated 108468 min_free 2464
    largest_free_block 1600 alloc_blocks 100 free_blocks 3 total_blocks 103
  Totals:
    free 4112 allocated 287916 min_free 2476 largest_free_block 1600
S: 87084, R: 0, E: 0, D: 0, % : 97 | FPS: 1, D: 133577 | D: 0, E: 0
S: 1359396, R: 0, E: 0, D: 0, % : 97 | FPS: 39, D: 3066468 | D: 0, E: 0
S: 1526184, R: 0, E: 0, D: 0, % : 95 | FPS: 40, D: 1909868 | D: 0, E: 0
S: 1490760, R: 0, E: 0, D: 0, % : 97 | FPS: 40, D: 1743754 | D: 0, E: 0

Is it possible to use a pi zero as the base station?

Apologies in advanced im not to experienced with this kind of stuff but I wanted to make an rc car/tank. With the current unavailiablity of pi 4s I was wondering if it would be possible to use a pi zero that I have lying about.

Additionally can data be sent back to the esp32? It would simplify my project if i could control the car with a controller or something plugged into the pi.

Idea for exposing the raw video stream on a GPIO pin.

I would like to use the esp32 for encoding the video but use a separate VHF band RF module for sending and receiving the data. In this case turning off the wifi transmission would be a good option power wise.
Of course this communication would be only monodirectional thus setting some default values in code for the resolution and values like that would be neccessary.

gs get stuck full cpu and no popup window.

RPI 3B+ latest code, desktop got stuck, checked from putty. top suggested 100% CPU on each core.

图片

Kill from putty

图片

sudo -E DISPLAY=:0 ./gs

图片

wlan1 & wlan2 support monitor mode, which is rtl8192cu card.

$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:51:af:e3:b7  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.19  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8112:16ad:ead7:dc16  prefixlen 64  scopeid 0x20<link>
        inet6 2408:8240:610:61f0:f198:aad0:39d1:abfa  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:f3:69:a6  txqueuelen 1000  (Ethernet)
        RX packets 3134  bytes 914784 (893.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 970  bytes 270711 (264.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 5  bytes 284 (284.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 284 (284.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.68.231  netmask 255.255.255.0  broadcast 192.168.68.255
        inet6 fe80::25d8:b6f9:e8b3:2573  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a6:3c:f3  txqueuelen 1000  (Ethernet)
        RX packets 7708  bytes 893984 (873.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9031  bytes 6097881 (5.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        unspec 14-CF-92-0B-EA-04-30-30-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 98697  bytes 22437402 (21.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 25826 (25.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Mouse Y-Axis Offset bug

In fact, in my computer, the mouse pointer has some pixel offset on the y-axis. The offset of these pixels is exactly equal to the height of the taskbar at the top of ubuntu.
I know this should be a question of imgui. Because I have also seen similar problems in imgui. Does the program have mouse drift on your computer? Can anyone help solve this problem?

latest code(9610792) no video on RPI Window

latest code(9610792)+ ESP_IDF 4.3 beta 1 + AI Thinker Module (2MB PSRAM)==> build OK
latest code(9610792)+ RPI 3B+ minor OPENGL 2.0 and on wlan1 for TxRx ==> build OK

no video on RPI Window, all black. It seems that ESP32 didn't send any data packet out. Any idea about this?

图片

rst:0x1 (POWERON_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:1
load:0x3fff0030,len:4
load:0x3fff0034,len:6220
load:0x40078000,len:15076
load:0x40080400,len:4316
0x40080400: _init at ??:?

entry 0x40080674
I (29) boot: ESP-IDF v4.3-beta1 2nd stage bootloader
I (29) boot: compile time 14:47:29
I (29) boot: chip revision: 3
I (32) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (42) qio_mode: Enabling default flash chip QIO
E (45) qio_mode: Failed to set QIE bit, not enabling QIO mode
I (51) boot.esp32: SPI Speed      : 80MHz
I (56) boot.esp32: SPI Mode       : DIO
I (60) boot.esp32: SPI Flash Size : 4MB
I (65) boot: Enabling RNG early entropy source...
I (70) boot: Partition Table:
I (74) boot: ## Label            Usage          Type ST Offset   Length
I (81) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (89) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (96) boot:  2 factory          factory app      00 00 00010000 00100000
I (104) boot: End of partition table
I (108) boot_comm: chip revision: 3, min. application chip revision: 0
I (115) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=14094h ( 82068) map
I (149) esp_image: segment 1: paddr=000240bc vaddr=3ffb0000 size=03b70h ( 15216) load
I (155) esp_image: segment 2: paddr=00027c34 vaddr=40080000 size=00404h (  1028) load
I (155) esp_image: segment 3: paddr=00028040 vaddr=40080404 size=07fd8h ( 32728) load
I (175) esp_image: segment 4: paddr=00030020 vaddr=400d0020 size=73454h (472148) map
I (322) esp_image: segment 5: paddr=000a347c vaddr=400883dc size=146ech ( 83692) load
I (368) boot: Loaded app from partition at offset 0x10000
I (368) boot: Disabling RNG early entropy source...
I (379) psram: This chip is ESP32-D0WD
I (380) spiram: Found 16MBit SPI RAM device
I (380) spiram: SPI RAM mode: flash 80m sram 80m
I (385) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (392) cpu_start: Pro cpu up.
I (396) cpu_start: Starting app cpu, entry point is 0x40081340
0x40081340: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.3-beta1/components/esp_system/port/cpu_start.c:143

I (0) cpu_start: App cpu up.
I (653) spiram: SPI SRAM memory test OK
I (661) cpu_start: Pro cpu start user code
I (661) cpu_start: cpu freq: 240000000
I (661) cpu_start: Application information:
I (664) cpu_start: Project name:     air_firmware
I (669) cpu_start: App version:      47ba7e7-dirty
I (675) cpu_start: Compile time:     Jan 23 2023 14:47:18
I (681) cpu_start: ELF file SHA256:  017c16ca42493aa1...
I (687) cpu_start: ESP-IDF:          v4.3-beta1
I (692) heap_init: Initializing. RAM available for dynamic allocation:
I (699) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (705) heap_init: At 3FFB8000 len 00028000 (160 KiB): DRAM
I (712) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (718) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (724) heap_init: At 4009CAC8 len 00003538 (13 KiB): IRAM
I (731) spiram: Adding pool of 2048K of external SPI memory to heap allocator
I (739) spi_flash: detected chip: gd
I (743) spi_flash: flash io: qio
I (748) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2094999 allocated 0 min_free 2094999
    largest_free_block 1048576 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffae6e0 len 6432 free 156 allocated 4124 min_free 156
    largest_free_block 0 alloc_blocks 38 free_blocks 0 total_blocks 38
  At 0x3ffb8000 len 163840 free 132404 allocated 29284 min_free 131436
    largest_free_block 131072 alloc_blocks 25 free_blocks 2 total_blocks 27
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 8192 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 65536 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2352167 allocated 33408 min_free 2351199 largest_free_block 1048576
I (955) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2029463 allocated 65536 min_free 2029463
    largest_free_block 1048576 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 156 allocated 4124 min_free 156
    largest_free_block 0 alloc_blocks 38 free_blocks 0 total_blocks 38
  At 0x3ffb8000 len 163840 free 42548 allocated 119140 min_free 42548
    largest_free_block 32768 alloc_blocks 72 free_blocks 1 total_blocks 73
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 8192 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 65536 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2196775 allocated 188800 min_free 2196775 largest_free_block 1048576
I (1030) wifi_init: tcpip mbox: 32
I (1033) wifi_init: udp mbox: 6
I (1037) wifi_init: tcp mbox: 6
I (1041) wifi_init: tcp tx win: 5744
I (1045) wifi_init: tcp rx win: 5744
I (1049) wifi_init: tcp mss: 1440
I (1053) wifi_init: WiFi IRAM OP enabled
I (1058) wifi_init: WiFi RX IRAM OP enabled
I (1063) wifi_init: WiFi SLP IRAM OP enabled
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2029463 allocated 65536 min_free 2029463
    largest_free_block 1048576 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 156 allocated 4124 min_free 156
    largest_free_block 0 alloc_blocks 38 free_blocks 0 total_blocks 38
  At 0x3ffb8000 len 163840 free 38516 allocated 123172 min_free 38444
    largest_free_block 32768 alloc_blocks 79 free_blocks 2 total_blocks 81
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 8192 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 65536 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2192743 allocated 192832 min_free 2192671 largest_free_block 1048576
Initialized
I (1145) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1154) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1163) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1173) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1182) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1191) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1201) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1210) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1219) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1229) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1238) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1248) sccb: pin_sda 26 pin_scl 27

I (1253) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1506) camera: Detected OV2640 camera
I (1507) camera: Line width (for DMA): 6400 bytes
I (1507) camera: DMA buffer size: 3200, DMA buffers per line: 2
I (1511) camera: DMA buffer count: 8
I (1515) camera: DMA buffer total: 25600 bytes
I (1520) camera: Allocating DMA buffer #0, size=3200
I (1526) camera: Allocating DMA buffer #1, size=3200
I (1532) camera: Allocating DMA buffer #2, size=3200
I (1537) camera: Allocating DMA buffer #3, size=3200
I (1543) camera: Allocating DMA buffer #4, size=3200
I (1549) camera: Allocating DMA buffer #5, size=3200
I (1554) camera: Allocating DMA buffer #6, size=3200
I (1560) camera: Allocating DMA buffer #7, size=3200
MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2029463 allocated 65536 min_free 2029463
    largest_free_block 1048576 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 156 allocated 4124 min_free 156
    largest_free_block 0 alloc_blocks 38 free_blocks 0 total_blocks 38
  At 0x3ffb8000 len 163840 free 1120 allocated 160568 min_free 1108
    largest_free_block 256 alloc_blocks 113 free_blocks 3 total_blocks 116
  At 0x3ffe0440 len 15072 free 632 allocated 12288 min_free 632
    largest_free_block 512 alloc_blocks 2 free_blocks 1 total_blocks 3
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 65536 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2143059 allocated 242516 min_free 2143047 largest_free_block 1048576
WLAN S: 0, R: 0, E: 196, D: 0, % : 2 || FPS: 2, D: 191855 || D: 0, E: 0
WLAN S: 0, R: 0, E: 3331, D: 0, % : 0 || FPS: 40, D: 3202853 || D: 0, E: 0
WLAN S: 0, R: 0, E: 2163, D: 0, % : 0 || FPS: 40, D: 2074085 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1980, D: 0, % : 0 || FPS: 40, D: 1895269 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1977, D: 0, % : 0 || FPS: 40, D: 1886976 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1973, D: 0, % : 2 || FPS: 40, D: 1885556 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1970, D: 0, % : 0 || FPS: 40, D: 1879612 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1974, D: 0, % : 0 || FPS: 39, D: 1883401 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1972, D: 0, % : 0 || FPS: 40, D: 1879624 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1973, D: 0, % : 0 || FPS: 40, D: 1879807 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1966, D: 0, % : 0 || FPS: 40, D: 1872319 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1965, D: 0, % : 0 || FPS: 40, D: 1869919 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1970, D: 0, % : 0 || FPS: 39, D: 1874858 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1969, D: 0, % : 0 || FPS: 40, D: 1873980 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1964, D: 0, % : 0 || FPS: 40, D: 1869010 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1960, D: 0, % : 0 || FPS: 40, D: 1864735 || D: 0, E: 0
WLAN S: 0, R: 0, E: 1949, D: 0, % : 0 || FPS: 39, D: 1859572 || D: 0, E: 0

GS log

$ sudo -E DISPLAY=:0 ./gs
(I) src/PI_HAL.cpp: 125: Initializing pigpio
(I) src/PI_HAL.cpp: 283: Drivers: 4
(I) src/PI_HAL.cpp: 286: Driver 0: x11
(I) src/PI_HAL.cpp: 286: Driver 1: wayland
(I) src/PI_HAL.cpp: 286: Driver 2: RPI
(I) src/PI_HAL.cpp: 286: Driver 3: dummy
(I) src/PI_HAL.cpp: 295: Mode 0: 1280x720
(I) src/Comms.cpp: 718: Radiocap header size: 11, IEEE header size: 24
(I) src/Comms.cpp: 581: Opening interface wlan1 in monitor mode
(I) src/Comms.cpp: 282: DLT_IEEE802_11_RADIO Encap
(I) src/Video_Decoder.cpp: 160: SDL window: 19615824
(I) src/Video_Decoder.cpp: 160: SDL window: 19615824
(I) src/Video_Decoder.cpp: 160: SDL window: 19615824
(I) src/Video_Decoder.cpp: 160: SDL window: 19615824
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0
(I) src/main.cpp: 104: RX len: 0, RSSI: 0, Latency: 0/0/0

WLAN1 channel is 11, which is the same as esp32. And tcpdump, there is data monitored.

$ sudo iwlist wlan1 channel
wlan1     13 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Channel 12 : 2.467 GHz
          Channel 13 : 2.472 GHz
          Current Frequency:2.462 GHz (Channel 11)
$ sudo tcpdump -i wlan1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan1, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
15:22:38.691693 2541643608us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Beacon (floor 1) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.709409 2541661947us tsft 1.0 Mb/s 2462 MHz 11b -84dBm signal antenna 0 Beacon (ChinaNet-v2JP) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 13, PRIVACY
15:22:38.713555 2541665472us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Beacon (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.721623 2541675706us tsft 6.0 Mb/s 2462 MHz 11g -75dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.728075 2541679512us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.747875 2541699642us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
15:22:38.756944 2541708343us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (Qch001) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.791406 2541743178us tsft 1.0 Mb/s 2462 MHz 11b -68dBm signal antenna 0 Beacon (201) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.820293 2541772212us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Beacon (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.823272 2541774912us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Beacon (Suzuki) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.859365 2541810746us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (Qch001) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.902208 2541854135us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Beacon (floor 1) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.914196 2541866741us tsft 1.0 Mb/s 2462 MHz 11b -82dBm signal antenna 0 Beacon (ChinaNet-v2JP) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 13, PRIVACY
15:22:38.926427 2541880513us tsft 6.0 Mb/s 2462 MHz 11g -76dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:38.996435 2541948358us tsft 1.0 Mb/s 2462 MHz 11b -84dBm signal antenna 0 Beacon (floor 1) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.005062 2541957299us tsft 1.0 Mb/s 2462 MHz 11b -42dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.020661 2541972578us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.022960 2541975281us tsft 1.0 Mb/s 2462 MHz 11b -84dBm signal antenna 0 Beacon (ChinaNet-Sagy) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.043833 2541996065us tsft 1.0 Mb/s 2462 MHz 11b -44dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.046977 2541998771us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Probe Response (AutoLab) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.078085 2542030322us tsft 1.0 Mb/s 2462 MHz 11b -44dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.086695 2542038940us tsft 1.0 Mb/s 2462 MHz 11b -42dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.089178 2542041423us tsft 1.0 Mb/s 2462 MHz 11b -46dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.100275 2542052518us tsft 1.0 Mb/s 2462 MHz 11b -46dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.102850 2542055080us tsft 1.0 Mb/s 2462 MHz 11b -42dBm signal antenna 0 Probe Response (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] CH: 6, PRIVACY
15:22:39.111415 2542062406us tsft 1.0 Mb/s 2462 MHz 11b -68dBm signal antenna 0 Probe Response (201) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] CH: 11, PRIVACY
15:22:39.117168 2542070875us tsft 1.0 Mb/s 2462 MHz 11b -48dBm signal antenna 0 Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
15:22:39.118423 2542072177us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Data IV:ff65 Pad 20 KeyID 2
15:22:39.135954 2542087872us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Beacon (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.142066 2542094292us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (CMCC-pf4h) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 9, PRIVACY
15:22:39.148839 2542100270us tsft 1.0 Mb/s 2462 MHz 11b -74dBm signal antenna 0 Probe Response (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] CH: 11, PRIVACY
15:22:39.149133 2542103433us tsft 1.0 Mb/s 2462 MHz 11b -48dBm signal antenna 0 Acknowledgment RA:24:7e:51:98:eb:40 (oui Unknown)
15:22:39.150365 2542104086us tsft 1.0 Mb/s 2462 MHz 11b -54dBm signal antenna 0 Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
15:22:39.158854 2542110593us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
15:22:39.166534 2542117923us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (Qch001) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.182186 2542133951us tsft 1.0 Mb/s 2462 MHz 11b -84dBm signal antenna 0 Beacon (301) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.200996 2542152757us tsft 1.0 Mb/s 2462 MHz 11b -68dBm signal antenna 0 Beacon (201) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.239988 2542191423us tsft 1.0 Mb/s 2462 MHz 11b -80dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.259881 2542211637us tsft 1.0 Mb/s 2462 MHz 11b -74dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
15:22:39.262823 2542216557us tsft 1.0 Mb/s 2462 MHz 11b -52dBm signal antenna 0 Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
15:22:39.268944 2542220329us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (Qch001) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.284569 2542236341us tsft 1.0 Mb/s 2462 MHz 11b -82dBm signal antenna 0 Beacon (301) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.303396 2542255170us tsft 1.0 Mb/s 2462 MHz 11b -68dBm signal antenna 0 Beacon (201) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.320627 2542273234us tsft 1.0 Mb/s 2462 MHz 11b -44dBm signal antenna 0 Beacon (AutoConnect) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 6, PRIVACY
15:22:39.336028 2542290106us tsft 6.0 Mb/s 2462 MHz 11g -74dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.362288 2542314036us tsft 1.0 Mb/s 2462 MHz 11b -76dBm signal antenna 0 Beacon () [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
15:22:39.371368 2542322741us tsft 1.0 Mb/s 2462 MHz 11b -72dBm signal antenna 0 Beacon (Qch001) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.386981 2542338745us tsft 1.0 Mb/s 2462 MHz 11b -84dBm signal antenna 0 Beacon (301) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY
15:22:39.431089 2542382991us tsft 1.0 Mb/s 2462 MHz 11b -74dBm signal antenna 0 Beacon (ChinaNet-5MGg) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 11, PRIVACY

Ideas for a faster/lower latency system

I thought I was smart when I started my own project 3 days ago that grabbed the JPEG image and dumped it through 80211_tx function. Little did I know that I was re-inventing the wheel...

Anyway, I read some of your code and it's actually smart, how you've implemented error correction, why you do so, etc. My last trick (as in idea, haven't done that yet) was to:

  • Tell the camera to spit out raw pixels (much faster than JPEG I think)
  • Maaaaaaybe apply some kind of compression on each packet?
  • Encode each packet with FEC (is this feasible or you need the whole video frame?)
  • Reduce the DMA buffer to 2-3x the max 80211 frame size (1500-32 but taking into account compression/FEC/other metadata)
  • Access the DMA directly with "just enough" data to send a packet frame (essentially override the dma ISR esp-camera sets up)

There's also the ability to disable the sanity checks that 80211_tx does by overwriting ieee80211_raw_frame_sanity_check to always return ESP_OK. Check out some of the esp32 deauther projects

What do you think? Have you thought of these or even tried them?

esp-idf 4.3 + latest code(56ee43e) constantly reboot

I use AI-Thinker module with 2MB PSRAM(which should be causion). The code constantly rebooted, any clues?

$ git log -n 1
commit 56ee43ec5ea813809fc1a9da1cc644559b4ea975 (HEAD -> release/v4.3, origin/release/v4.3)
Merge: 0d48889e81 b44da528db
Author: Jiang Jiang Jian <[email protected]>
Date:   Tue Jan 17 19:56:03 2023 +0800

    Merge branch 'bugfix/sta_add_config_for_wpa3_transition_disable_v4.3' into 'release/v4.3'

    esp_wifi:Add wifi station config for enabling transition_disbale feature

    See merge request espressif/esp-idf!21332

$ git log -n 1
commit 9610792f8544361bac21f774c7700551f9bcfc6e (HEAD -> main, origin/main, origin/HEAD)
Author: jeanlemotan <[email protected]>
Date:   Thu Apr 29 20:40:40 2021 +0200

    Update README.md

Just flash and monitor the logs:

$ idf.py -p /dev/ttyUSB0 flash monitor
Executing action: flash
Running ninja in directory /home/daniel/Work/esp32-cam-fpv/air_firmware/build
Executing "ninja flash"...
[1/4] Performing build step for 'bootloader'
ninja: no work to do.
[1/2] cd /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esptool_py && /usr/bin/.../home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esptool_py/run_serial_tool.cmake
esptool.py esp32 -p /dev/ttyUSB0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 air_firmware.bin
esptool.py v3.3.2-dev
Serial port /dev/ttyUSB0


Connecting....
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: e0:5a:1b:6b:d5:74
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00010000 to 0x000adfff...
Compressed 3072 bytes to 103...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 231.8 kbit/s)...
Hash of data verified.
Compressed 26192 bytes to 16369...
Writing at 0x00001000... (100 %)
Wrote 26192 bytes (16369 compressed) at 0x00001000 in 1.2 seconds (effective 172.4 kbit/s)...
Hash of data verified.
Compressed 646352 bytes to 422177...
Writing at 0x00010000... (3 %)
Writing at 0x0001ac67... (7 %)
Writing at 0x00026bac... (11 %)
Writing at 0x0002c454... (15 %)
Writing at 0x000319f2... (19 %)
Writing at 0x00037198... (23 %)
Writing at 0x0003c3fa... (26 %)
Writing at 0x0004198c... (30 %)
Writing at 0x00046e7d... (34 %)
Writing at 0x0004c4bd... (38 %)
Writing at 0x00051874... (42 %)
Writing at 0x00056bb1... (46 %)
Writing at 0x0005bcf3... (50 %)
Writing at 0x00061478... (53 %)
Writing at 0x00066c07... (57 %)
Writing at 0x0006c845... (61 %)
Writing at 0x0007234f... (65 %)
Writing at 0x00077844... (69 %)
Writing at 0x0007cb82... (73 %)
Writing at 0x00081f68... (76 %)
Writing at 0x000872b1... (80 %)
Writing at 0x0009020c... (84 %)
Writing at 0x00098fc0... (88 %)
Writing at 0x0009eaee... (92 %)
Writing at 0x000a44df... (96 %)
Writing at 0x000a9a54... (100 %)
Wrote 646352 bytes (422177 compressed) at 0x00010000 in 10.2 seconds (effective 508.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Executing action: monitor
Running idf_monitor in directory /home/daniel/Work/esp32-cam-fpv/air_firmware
Executing "/home/daniel/.espressif/python_env/idf4.3_py3.8_env/bin/python /home/daniel/Work/esp-sdk/esp-idf-v4.3/tools/idf_monitor.py -p /dev/ttyUSB0 -b 115200 --toolchain-prefix xtensa-esp32-elf- /home/daniel/Work/esp32-cam-fpv/air_firmware/build/air_firmware.elf -m '/home/daniel/.espressif/python_env/idf4.3_py3.8_env/bin/python' '/home/daniel/Work/esp-sdk/esp-idf-v4.3/tools/idf.py' '-p' '/dev/ttyUSB0'"...
/home/daniel/Work/esp-sdk/esp-idf-v4.3/tools/idf_monitor.py:518: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if StrictVersion(serial.VERSION) < StrictVersion('3.3.0'):
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒x▒▒xxxx▒x▒xxx▒▒▒▒x▒x▒x▒▒xets Jul 29 2019 12:21:46

rst:ets Jul 29 2019 12:21:46

rst:ets Jul 29 2019 12:21:46

rst:ets Jul 29 2019 12:21:46

rst:ets Jul 29 2019 12:21:46

rst:ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_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:1
load:0x3fff0030,len:6532
load:0x40078000,len:15292
load:0x40080400,len:4276
0x40080400: _init at ??:?

entry 0x4008067c
I (27) boot: ESP-IDF v4.3.4-332-g56ee43ec5e 2nd stage bootloader
I (27) boot: compile time 17:28:14
I (27) boot: chip revision: 3
I (31) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (39) qio_mode: Enabling default flash chip QIO
E (44) qio_mode: Failed to set QIE bit, not enabling QIO mode
I (50) boot.esp32: SPI Speed      : 80MHz
I (55) boot.esp32: SPI Mode       : DIO
I (59) boot.esp32: SPI Flash Size : 2MB
I (64) boot: Enabling RNG early entropy source...
I (69) boot: Partition Table:
I (73) boot: ## Label            Usage          Type ST Offset   Length
I (80) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (88) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (95) boot:  2 factory          factory app      00 00 00010000 00100000
I (103) boot: End of partition table
I (107) boot_comm: chip revision: 3, min. application chip revision: 0
I (114) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=114d4h ( 70868) map
I (144) esp_image: segment 1: paddr=000214fc vaddr=3ffb0000 size=03b10h ( 15120) load
I (149) esp_image: segment 2: paddr=00025014 vaddr=40080000 size=0b004h ( 45060) load
I (165) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=6c850h (444496) map
I (298) esp_image: segment 4: paddr=0009c878 vaddr=4008b004 size=11434h ( 70708) load
I (337) boot: Loaded app from partition at offset 0x10000
I (337) boot: Disabling RNG early entropy source...
I (348) psram: This chip is ESP32-D0WD
I (349) spiram: Found 16MBit SPI RAM device
I (349) spiram: SPI RAM mode: flash 80m sram 80m
I (354) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (361) cpu_start: Pro cpu up.
I (365) cpu_start: Starting app cpu, entry point is 0x4008134c
0x4008134c: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/port/cpu_start.c:150

I (0) cpu_start: App cpu up.
I (623) spiram: SPI SRAM memory test OK
I (630) cpu_start: Pro cpu start user code
I (630) cpu_start: cpu freq: 240000000
I (630) cpu_start: Application information:
I (633) cpu_start: Project name:     air_firmware
I (639) cpu_start: App version:      9610792-dirty
I (644) cpu_start: Compile time:     Jan 20 2023 17:28:02
I (650) cpu_start: ELF file SHA256:  8bacc37f0d04e4bf...
I (656) cpu_start: ESP-IDF:          v4.3.4-332-g56ee43ec5e
I (663) heap_init: Initializing. RAM available for dynamic allocation:
I (670) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (676) heap_init: At 3FFB83C8 len 00027C38 (159 KiB): DRAM
I (682) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (688) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (695) heap_init: At 4009C438 len 00003BC8 (14 KiB): IRAM
I (701) spiram: Adding pool of 2048K of external SPI memory to heap allocator
I (709) spi_flash: detected chip: gd
I (713) spi_flash: flash io: qio
I (718) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2094999 allocated 0 min_free 2094999
    largest_free_block 2064384 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 131040 allocated 29560 min_free 130104
    largest_free_block 129024 alloc_blocks 30 free_blocks 1 total_blocks 31
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2350651 allocated 33692 min_free 2349715 largest_free_block 2064384
I (925) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 41000 allocated 119412 min_free 41000
    largest_free_block 40960 alloc_blocks 77 free_blocks 1 total_blocks 78
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2194051 allocated 189080 min_free 2194051 largest_free_block 1998848
W (999) wifi:wifi osi_nvs_open fail ret=4353

I (1003) wifi_init: tcpip mbox: 32
I (1007) wifi_init: udp mbox: 6
I (1011) wifi_init: tcp mbox: 6
I (1015) wifi_init: tcp tx win: 5744
I (1019) wifi_init: tcp rx win: 5744
I (1023) wifi_init: tcp mss: 1440
I (1027) wifi_init: WiFi IRAM OP enabled
I (1032) wifi_init: WiFi RX IRAM OP enabled
I (1037) wifi_init: WiFi SLP IRAM OP enabled
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 36852 allocated 123528 min_free 36772
    largest_free_block 35840 alloc_blocks 85 free_blocks 2 total_blocks 87
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2189903 allocated 193196 min_free 2189823 largest_free_block 1998848
Initialized
I (1118) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1128) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1137) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1146) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1156) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1165) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1174) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1184) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1193) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1203) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1212) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1222) sccb: pin_sda 26 pin_scl 27

I (1226) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1368) camera: Detected OV2640 camera
I (1369) camera: Line width (for DMA): 6400 bytes
I (1369) camera: DMA buffer size: 3200, DMA buffers per line: 2
I (1374) camera: DMA buffer count: 8
I (1378) camera: DMA buffer total: 25600 bytes
I (1383) camera: Allocating DMA buffer #0, size=3200
I (1389) camera: Allocating DMA buffer #1, size=3200
I (1394) camera: Allocating DMA buffer #2, size=3200
I (1400) camera: Allocating DMA buffer #3, size=3200
I (1406) camera: Allocating DMA buffer #4, size=3200
I (1411) camera: Allocating DMA buffer #5, size=3200
I (1417) camera: Allocating DMA buffer #6, size=3200
I (1423) camera: Allocating DMA buffer #7, size=3200
MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 860 allocated 159388 min_free 844
    largest_free_block 592 alloc_blocks 118 free_blocks 3 total_blocks 121
  At 0x3ffe0440 len 15072 free 7792 allocated 5120 min_free 7792
E (1590) wifi:    largest_free_block 7680 alloc_blocks 2 free_blocks 1 total_blocks 3
  At 0x3ffe4350 len 113840 free 103492 allocated 8192 min_free 103492
    largest_free_block 102400 alloc_blocks 1 free_blocks 1 total_blocks 2
invalid interface 0
  Totals:
E (1647) wifi:invalid interface 0
    free 2140587 allocated 242368 min_free 2140571 largest_free_block 1998848
E (WL1AN 65S: 01), R: 0, E : 2, D: 0, % : 99 || FwifPS: 3, D:i:invalid  235089 || D:i 0, E: 0
nterface 0
E (1668) wifi:invalid interface 0
E (1671) wifi:invalid interface 0
E (1674) wifi:invalid interface 0
E (1677) wifi:invalid interface 0
E (1680) wifi:invalid interface 0
E (1683) wifi:invalid interface 0
E (1686) wifi:invalid interface 0
E (1689) wifi:invalid interface 0
E (1692) wifi:invalid interface 0
E (1695) wifi:invalid interface 0
E (1698) wifi:invalid interface 0
E (1701) wifi:invalid interface 0
E (1704) wifi:invalid interface 0
E (1707) wifi:invalid interface 0
E (1710) wifi:invalid interface 0
E (1713) wifi:invalid interface 0
E (1716) wifi:invalid interface 0
E (1719) wifi:invalid interface 0
E (1722) wifi:invalid interface 0
E (1725) wifi:invalid interface 0
E (1728) wifi:invalid interface 0
E (1731) wifi:invalid interface 0
E (1734) wifi:invalid interface 0
E (1737) wifi:invalid interface 0
E (1740) wifi:invalid interface 0
E (1744) wifi:invalid interface 0
E (1747) wifi:invalid interface 0
E (1750) wifi:invalid interface 0
E (1753) wifi:invalid interface 0
E (1756) wifi:invalid interface 0
E (1759) wifi:invalid interface 0
E (1762) wifi:invalid interface 0
E (1765) wifi:invalid interface 0
E (1768) wifi:invalid interface 0
E (1771) wifi:invalid interface 0
E (1774) wifi:invalid interface 0
E (1777) wifi:invalid interface 0
E (1780) wifi:invalid interface 0
E (1783) wifi:invalid interface 0
E (1786) wifi:invalid interface 0
E (1789) wifi:invalid interface 0
E (1792) wifi:invalid interface 0
E (1795) wifi:invalid interface 0
E (1798) wifi:invalid interface 0
E (1801) wifi:invalid interface 0
E (1804) wifi:invalid interface 0
E (1807) wifi:invalid interface 0
E (1810) wifi:invalid interface 0
E (1813) wifi:invalid interface 0
E (1816) wifi:invalid interface 0
E (1819) wifi:invalid interface 0
E (1823) wifi:invalid interface 0
E (1826) wifi:invalid interface 0
E (1829) wifi:invalid interface 0
E (1832) wifi:invalid interface 0
E (1835) wifi:invalid interface 0
E (1838) wifi:invalid interface 0
E (1841) wifi:invalid interface 0
E (1844) wifi:invalid interface 0
E (1847) wifi:invalid interface 0
E (1850) wifi:invalid interface 0
E (1853) wifi:invalid interface 0
E (1856) wifi:invalid interface 0
E (1859) wifi:invalid interface 0
E (1862) wifi:invalid interface 0
E (1865) wifi:invalid interface 0
E (1868) wifi:invalid interface 0
E (1871) wifi:invalid interface 0
E (1874) wifi:invalid interface 0
E (1877) wifi:invalid interface 0
E (1880) wifi:invalid interface 0
E (1883) wifi:invalid interface 0
E (1886) wifi:invalid interface 0
E (1889) wifi:invalid interface 0
E (1892) wifi:invalid interface 0
E (1895) wifi:invalid interface 0
E (1898) wifi:invalid interface 0

***ERROR*** A stack overflow in task Wifi TX has been detected.

Backtrace:0x400819a5:0x3ffde740 0x4008e905:0x3ffde760 0x40091915:0x3ffde780 0x400901c9:0x3ffde800 0x4008ec2c:0x3ffde830 0x4008ebde:0x00000000 |<-CORRUPTED
0x400819a5: panic_abort at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/panic.c:404

0x4008e905: esp_system_abort at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/system_api.c:112

0x40091915: vApplicationStackOverflowHook at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/port.c:490

0x400901c9: vTaskSwitchContext at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/tasks.c:3370

0x4008ec2c: _frxt_dispatch at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/portasm.S:432

0x4008ebde: _frxt_int_exit at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/portasm.S:231



ELF file SHA256: 8bacc37f0d04e4bf

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_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:1
load:0x3fff0030,len:6532
load:0x40078000,len:15292
load:0x40080400,len:4276
0x40080400: _init at ??:?

entry 0x4008067c
I (27) boot: ESP-IDF v4.3.4-332-g56ee43ec5e 2nd stage bootloader
I (27) boot: compile time 17:28:14
I (27) boot: chip revision: 3
I (31) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (41) qio_mode: Enabling default flash chip QIO
E (44) qio_mode: Failed to set QIE bit, not enabling QIO mode
I (50) boot.esp32: SPI Speed      : 80MHz
I (55) boot.esp32: SPI Mode       : DIO
I (59) boot.esp32: SPI Flash Size : 2MB
I (64) boot: Enabling RNG early entropy source...
I (69) boot: Partition Table:
I (73) boot: ## Label            Usage          Type ST Offset   Length
I (80) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (88) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (95) boot:  2 factory          factory app      00 00 00010000 00100000
I (103) boot: End of partition table
I (107) boot_comm: chip revision: 3, min. application chip revision: 0
I (114) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=114d4h ( 70868) map
I (144) esp_image: segment 1: paddr=000214fc vaddr=3ffb0000 size=03b10h ( 15120) load
I (149) esp_image: segment 2: paddr=00025014 vaddr=40080000 size=0b004h ( 45060) load
I (165) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=6c850h (444496) map
I (298) esp_image: segment 4: paddr=0009c878 vaddr=4008b004 size=11434h ( 70708) load
I (337) boot: Loaded app from partition at offset 0x10000
I (337) boot: Disabling RNG early entropy source...
I (348) psram: This chip is ESP32-D0WD
I (349) spiram: Found 16MBit SPI RAM device
I (349) spiram: SPI RAM mode: flash 80m sram 80m
I (354) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (361) cpu_start: Pro cpu up.
I (365) cpu_start: Starting app cpu, entry point is 0x4008134c
0x4008134c: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/port/cpu_start.c:150

I (358) cpu_start: App cpu up.
I (622) spiram: SPI SRAM memory test OK
I (630) cpu_start: Pro cpu start user code
I (630) cpu_start: cpu freq: 240000000
I (630) cpu_start: Application information:
I (633) cpu_start: Project name:     air_firmware
I (638) cpu_start: App version:      9610792-dirty
I (644) cpu_start: Compile time:     Jan 20 2023 17:28:02
I (650) cpu_start: ELF file SHA256:  8bacc37f0d04e4bf...
I (656) cpu_start: ESP-IDF:          v4.3.4-332-g56ee43ec5e
I (662) heap_init: Initializing. RAM available for dynamic allocation:
I (669) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (675) heap_init: At 3FFB83C8 len 00027C38 (159 KiB): DRAM
I (682) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (688) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (694) heap_init: At 4009C438 len 00003BC8 (14 KiB): IRAM
I (701) spiram: Adding pool of 2048K of external SPI memory to heap allocator
I (709) spi_flash: detected chip: gd
I (713) spi_flash: flash io: qio
I (718) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2094999 allocated 0 min_free 2094999
    largest_free_block 2064384 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 131040 allocated 29560 min_free 130104
    largest_free_block 129024 alloc_blocks 30 free_blocks 1 total_blocks 31
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2350651 allocated 33692 min_free 2349715 largest_free_block 2064384
I (924) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 41000 allocated 119412 min_free 41000
    largest_free_block 40960 alloc_blocks 77 free_blocks 1 total_blocks 78
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2194051 allocated 189080 min_free 2194051 largest_free_block 1998848
W (998) wifi:wifi osi_nvs_open fail ret=4353

I (1002) wifi_init: tcpip mbox: 32
I (1006) wifi_init: udp mbox: 6
I (1010) wifi_init: tcp mbox: 6
I (1014) wifi_init: tcp tx win: 5744
I (1018) wifi_init: tcp rx win: 5744
I (1022) wifi_init: tcp mss: 1440
I (1026) wifi_init: WiFi IRAM OP enabled
I (1031) wifi_init: WiFi RX IRAM OP enabled
I (1036) wifi_init: WiFi SLP IRAM OP enabled
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 36852 allocated 123528 min_free 36772
    largest_free_block 35840 alloc_blocks 85 free_blocks 2 total_blocks 87
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2189903 allocated 193196 min_free 2189823 largest_free_block 1998848
Initialized
I (1117) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1127) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1136) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1145) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1155) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1164) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1173) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1183) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1192) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1202) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1211) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1221) sccb: pin_sda 26 pin_scl 27

I (1225) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1367) camera: Detected OV2640 camera
I (1368) camera: Line width (for DMA): 6400 bytes
I (1368) camera: DMA buffer size: 3200, DMA buffers per line: 2
I (1373) camera: DMA buffer count: 8
I (1377) camera: DMA buffer total: 25600 bytes
I (1382) camera: Allocating DMA buffer #0, size=3200
I (1388) camera: Allocating DMA buffer #1, size=3200
I (1393) camera: Allocating DMA buffer #2, size=3200
I (1399) camera: Allocating DMA buffer #3, size=3200
I (1405) camera: Allocating DMA buffer #4, size=3200
I (1410) camera: Allocating DMA buffer #5, size=3200
I (1416) camera: Allocating DMA buffer #6, size=3200
I (1422) camera: Allocating DMA buffer #7, size=3200
MEMORY Before Loop:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
E (1590) wifi:invalid interface 0
E (1598) wifi:  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 860 allocated 159388 min_free 844
invalid interface 0
E (1618) wifi:invalid interface 0
    largest_free_block 592 alloc_blocks 118 free_blocks 3 total_blocks 121
E (1621) wifi:invalid interface 0
  At 0x3ffe0440 len 15072 free 7792 allocated 5120 min_free 7792
    largest_free_block 7680 alloc_blocks 2 free_blocks 1 total_blocks 3
  At 0x3ffe4350 len 113840 free 103492 allocated 8192 min_free 103492
E (1631) wifi:invalid interface 0
    largest_free_block 102400 alloc_blocks 1 free_blocks 1 total_blocks 2
  Totals:
E (1652) wifi:invalid interface 0
    free 2140587 allocated 242368 min_free 2140571 largest_free_block 1998848
E WLAN S: 0, R: 0, E: 6, D: 0(16, % : 99 |62)| FP wiS: 4, D: 146371 fi:|| D: 0, E: inv0
alid interface 0
E (1679) wifi:invalid interface 0
E (1682) wifi:invalid interface 0
E (1685) wifi:invalid interface 0
E (1688) wifi:invalid interface 0
E (1691) wifi:invalid interface 0
E (1694) wifi:invalid interface 0
E (1697) wifi:invalid interface 0
E (1700) wifi:invalid interface 0
E (1703) wifi:invalid interface 0
E (1706) wifi:invalid interface 0
E (1709) wifi:invalid interface 0
E (1712) wifi:invalid interface 0
E (1715) wifi:invalid interface 0
E (1718) wifi:invalid interface 0
E (1721) wifi:invalid interface 0
E (1724) wifi:invalid interface 0
E (1727) wifi:invalid interface 0
E (1730) wifi:invalid interface 0
E (1733) wifi:invalid interface 0
E (1736) wifi:invalid interface 0
E (1739) wifi:invalid interface 0
E (1742) wifi:invalid interface 0
E (1745) wifi:invalid interface 0
E (1748) wifi:invalid interface 0
E (1751) wifi:invalid interface 0
E (1755) wifi:invalid interface 0
E (1758) wifi:invalid interface 0
E (1761) wifi:invalid interface 0
E (1764) wifi:invalid interface 0
E (1767) wifi:invalid interface 0
E (1770) wifi:invalid interface 0
E (1773) wifi:invalid interface 0
E (1776) wifi:invalid interface 0
E (1779) wifi:invalid interface 0
E (1782) wifi:invalid interface 0
E (1785) wifi:invalid interface 0
E (1788) wifi:invalid interface 0
E (1791) wifi:invalid interface 0
E (1794) wifi:invalid interface 0
E (1797) wifi:invalid interface 0
E (1800) wifi:invalid interface 0
E (1803) wifi:invalid interface 0
E (1806) wifi:invalid interface 0
E (1809) wifi:invalid interface 0
E (1812) wifi:invalid interface 0
E (1815) wifi:invalid interface 0
E (1818) wifi:invalid interface 0
E (1821) wifi:invalid interface 0
E (1824) wifi:invalid interface 0
E (1827) wifi:invalid interface 0
E (1830) wifi:invalid interface 0
E (1834) wifi:invalid interface 0
E (1837) wifi:invalid interface 0
E (1840) wifi:invalid interface 0
E (1843) wifi:invalid interface 0
E (1846) wifi:invalid interface 0
E (1849) wifi:invalid interface 0
E (1852) wifi:invalid interface 0
E (1855) wifi:invalid interface 0
E (1858) wifi:invalid interface 0
E (1861) wifi:invalid interface 0
E (1864) wifi:invalid interface 0
E (1867) wifi:invalid interface 0
E (1870) wifi:invalid interface 0
E (1873) wifi:invalid interface 0
E (1876) wifi:invalid interface 0
E (1879) wifi:invalid interface 0
E (1882) wifi:invalid interface 0
E (1885) wifi:invalid interface 0
E (1888) wifi:invalid interface 0
E (1891) wifi:invalid interface 0
E (1894) wifi:invalid interface 0
E (1897) wifi:invalid interface 0
E (1900) wifi:invalid interface 0
E (1903) wifi:invalid interface 0
E (1906) wifi:invalid interface 0
E (1909) wifi:invalid interface 0

***ERROR*** A stack overflow in task Wifi TX has been detected.

Backtrace:0x400819a5:0x3ffde740 0x4008e905:0x3ffde760 0x40091915:0x3ffde780 0x400901c9:0x3ffde800 0x4008ec2c:0x3ffde830 0x4008ebde:0x00000000 |<-CORRUPTED
0x400819a5: panic_abort at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/panic.c:404

0x4008e905: esp_system_abort at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/system_api.c:112

0x40091915: vApplicationStackOverflowHook at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/port.c:490

0x400901c9: vTaskSwitchContext at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/tasks.c:3370

0x4008ec2c: _frxt_dispatch at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/portasm.S:432

0x4008ebde: _frxt_int_exit at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/freertos/port/xtensa/portasm.S:231



ELF file SHA256: 8bacc37f0d04e4bf

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_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:1
load:0x3fff0030,len:6532
load:0x40078000,len:15292
load:0x40080400,len:4276
0x40080400: _init at ??:?

entry 0x4008067c
I (27) boot: ESP-IDF v4.3.4-332-g56ee43ec5e 2nd stage bootloader
I (27) boot: compile time 17:28:14
I (27) boot: chip revision: 3
I (31) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (41) qio_mode: Enabling default flash chip QIO
E (44) qio_mode: Failed to set QIE bit, not enabling QIO mode
I (50) boot.esp32: SPI Speed      : 80MHz
I (55) boot.esp32: SPI Mode       : DIO
I (59) boot.esp32: SPI Flash Size : 2MB
I (64) boot: Enabling RNG early entropy source...
I (69) boot: Partition Table:
I (73) boot: ## Label            Usage          Type ST Offset   Length
I (80) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (88) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (95) boot:  2 factory          factory app      00 00 00010000 00100000
I (103) boot: End of partition table
I (107) boot_comm: chip revision: 3, min. application chip revision: 0
I (114) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=114d4h ( 70868) map
I (144) esp_image: segment 1: paddr=000214fc vaddr=3ffb0000 size=03b10h ( 15120) load
I (149) esp_image: segment 2: paddr=00025014 vaddr=40080000 size=0b004h ( 45060) load
I (165) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=6c850h (444496) map
I (298) esp_image: segment 4: paddr=0009c878 vaddr=4008b004 size=11434h ( 70708) load
I (337) boot: Loaded app from partition at offset 0x10000
I (337) boot: Disabling RNG early entropy source...
I (348) psram: This chip is ESP32-D0WD
I (349) spiram: Found 16MBit SPI RAM device
I (349) spiram: SPI RAM mode: flash 80m sram 80m
I (354) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (361) cpu_start: Pro cpu up.
I (365) cpu_start: Starting app cpu, entry point is 0x4008134c
0x4008134c: call_start_cpu1 at /home/daniel/Work/esp-sdk/esp-idf-v4.3/components/esp_system/port/cpu_start.c:150

I (358) cpu_start: App cpu up.
I (622) spiram: SPI SRAM memory test OK
I (630) cpu_start: Pro cpu start user code
I (630) cpu_start: cpu freq: 240000000
I (630) cpu_start: Application information:
I (633) cpu_start: Project name:     air_firmware
I (638) cpu_start: App version:      9610792-dirty
I (644) cpu_start: Compile time:     Jan 20 2023 17:28:02
I (650) cpu_start: ELF file SHA256:  8bacc37f0d04e4bf...
I (656) cpu_start: ESP-IDF:          v4.3.4-332-g56ee43ec5e
I (662) heap_init: Initializing. RAM available for dynamic allocation:
I (669) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (675) heap_init: At 3FFB83C8 len 00027C38 (159 KiB): DRAM
I (682) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (688) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (694) heap_init: At 4009C438 len 00003BC8 (14 KiB): IRAM
I (701) spiram: Adding pool of 2048K of external SPI memory to heap allocator
I (709) spi_flash: detected chip: gd
I (713) spi_flash: flash io: qio
I (718) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Initializing...
MEMORY at start:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2094999 allocated 0 min_free 2094999
    largest_free_block 2064384 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 131040 allocated 29560 min_free 130104
    largest_free_block 129024 alloc_blocks 30 free_blocks 1 total_blocks 31
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2350651 allocated 33692 min_free 2349715 largest_free_block 2064384
I (924) gpio: GPIO[33]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
MEMORY after fec:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 41000 allocated 119412 min_free 41000
    largest_free_block 40960 alloc_blocks 77 free_blocks 1 total_blocks 78
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2194051 allocated 189080 min_free 2194051 largest_free_block 1998848
W (998) wifi:wifi osi_nvs_open fail ret=4353

I (1002) wifi_init: tcpip mbox: 32
I (1006) wifi_init: udp mbox: 6
I (1010) wifi_init: tcp mbox: 6
I (1014) wifi_init: tcp tx win: 5744
I (1018) wifi_init: tcp rx win: 5744
I (1022) wifi_init: tcp mss: 1440
I (1026) wifi_init: WiFi IRAM OP enabled
I (1031) wifi_init: WiFi RX IRAM OP enabled
I (1036) wifi_init: WiFi SLP IRAM OP enabled
MEMORY After WIFI:
Heap summary for capabilities 0x00000004:
  At 0x3f800000 len 2097151 free 2028439 allocated 65536 min_free 2028439
    largest_free_block 1998848 alloc_blocks 256 free_blocks 1 total_blocks 257
  At 0x3ffae6e0 len 6432 free 4 allocated 4132 min_free 4
    largest_free_block 0 alloc_blocks 36 free_blocks 0 total_blocks 36
  At 0x3ffb83c8 len 162872 free 36852 allocated 123528 min_free 36772
    largest_free_block 35840 alloc_blocks 85 free_blocks 2 total_blocks 87
  At 0x3ffe0440 len 15072 free 12920 allocated 0 min_free 12920
    largest_free_block 12800 alloc_blocks 0 free_blocks 1 total_blocks 1
  At 0x3ffe4350 len 113840 free 111688 allocated 0 min_free 111688
    largest_free_block 110592 alloc_blocks 0 free_blocks 1 total_blocks 1
  Totals:
    free 2189903 allocated 193196 min_free 2189823 largest_free_block 1998848
Initialized
I (1117) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1127) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1136) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1145) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1155) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1164) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1173) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1183) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1192) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1202) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1211) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (1221) sccb: pin_sda 26 pin_scl 27

I (1225) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0

ESP_IDF 4.3 and esp32-cam-fpvn(latest), which might be a little bit different from esp-idf-v4.3-beta1.

And the default build sdkconfig is quite different with repo's sdkconfig(which should be used with esp-idf-v4.3-beta1 , see
sdkconfig_with_default_build.patch

gs compiles ok, but it doesn't work properly

I have to wifi cards installed (which has monitor mode)

pi@PiNas:~ $ iw phy1 info
Wiphy phy1
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        RTS threshold: 2347
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports RSN-IBSS.
        Supported Ciphers:
                * WEP40 (00-0f-ac:1)
                * WEP104 (00-0f-ac:5)
                * TKIP (00-0f-ac:2)
                * CCMP-128 (00-0f-ac:4)
                * CCMP-256 (00-0f-ac:10)
                * GCMP-128 (00-0f-ac:8)
                * GCMP-256 (00-0f-ac:9)
                * CMAC (00-0f-ac:6)
                * CMAC-256 (00-0f-ac:13)
                * GMAC-128 (00-0f-ac:11)
                * GMAC-256 (00-0f-ac:12)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
                 * P2P-client
                 * P2P-GO
        Band 1:
                Capabilities: 0x186e
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT Max RX data rate: 150 Mbps
                HT TX/RX MCS rate indexes supported: 0-7, 32
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps
                        * 5.5 Mbps
                        * 11.0 Mbps
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * start_ap
                 * new_station
                 * new_mpath
                 * set_mesh_config
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * join_mesh
                 * remain_on_channel
                 * set_tx_bitrate_mask
                 * frame
                 * frame_wait_cancel
                 * set_wiphy_netns
                 * set_channel
                 * set_wds_peer
                 * probe_client
                 * set_noack_map
                 * register_beacons
                 * start_p2p_device
                 * set_mcast_rate
                 * connect
                 * disconnect
                 * set_qos_map
                 * set_multicast_to_unicast
        software interface modes (can always be added):
                 * AP/VLAN
                 * monitor
        interface combinations are not supported
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        Device supports TX status socket option.
        Device supports HT-IBSS.
        Device supports SAE with AUTHENTICATE command
        Device supports low priority scan.
        Device supports scan flush.
        Device supports AP scan.
        Device supports per-vif TX power setting
        Driver supports full state transitions for AP/GO clients
        Driver supports a userspace MPM
        Device supports configuring vdev MAC-addr on create.
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Supported TX frame types:
                 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
        Supported RX frame types:
                 * IBSS: 0x40 0xb0 0xc0 0xd0
                 * managed: 0x40 0xb0 0xd0
                 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * mesh point: 0xb0 0xc0 0xd0
                 * P2P-client: 0x40 0xd0
                 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-device: 0x40 0xd0
        Supported extended features:
                * [ RRM ]: RRM
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
pi@PiNas:~ $ iw phy2 info
Wiphy phy2
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        RTS threshold: 2347
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports RSN-IBSS.
        Supported Ciphers:
                * WEP40 (00-0f-ac:1)
                * WEP104 (00-0f-ac:5)
                * TKIP (00-0f-ac:2)
                * CCMP-128 (00-0f-ac:4)
                * CCMP-256 (00-0f-ac:10)
                * GCMP-128 (00-0f-ac:8)
                * GCMP-256 (00-0f-ac:9)
                * CMAC (00-0f-ac:6)
                * CMAC-256 (00-0f-ac:13)
                * GMAC-128 (00-0f-ac:11)
                * GMAC-256 (00-0f-ac:12)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
                 * P2P-client
                 * P2P-GO
        Band 1:
                Capabilities: 0x186e
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT Max RX data rate: 150 Mbps
                HT TX/RX MCS rate indexes supported: 0-7, 32
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps
                        * 5.5 Mbps
                        * 11.0 Mbps
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * start_ap
                 * new_station
                 * new_mpath
                 * set_mesh_config
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * join_mesh
                 * remain_on_channel
                 * set_tx_bitrate_mask
                 * frame
                 * frame_wait_cancel
                 * set_wiphy_netns
                 * set_channel
                 * set_wds_peer
                 * probe_client
                 * set_noack_map
                 * register_beacons
                 * start_p2p_device
                 * set_mcast_rate
                 * connect
                 * disconnect
                 * set_qos_map
                 * set_multicast_to_unicast
        software interface modes (can always be added):
                 * AP/VLAN
                 * monitor
        interface combinations are not supported
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        Device supports TX status socket option.
        Device supports HT-IBSS.
        Device supports SAE with AUTHENTICATE command
        Device supports low priority scan.
        Device supports scan flush.
        Device supports AP scan.
        Device supports per-vif TX power setting
        Driver supports full state transitions for AP/GO clients
        Driver supports a userspace MPM
        Device supports configuring vdev MAC-addr on create.
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Supported TX frame types:
                 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
        Supported RX frame types:
                 * IBSS: 0x40 0xb0 0xc0 0xd0
                 * managed: 0x40 0xb0 0xd0
                 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * mesh point: 0xb0 0xc0 0xd0
                 * P2P-client: 0x40 0xd0
                 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-device: 0x40 0xd0
        Supported extended features:
                * [ RRM ]: RRM
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211

And gs has been compiled OK, but it failed during execution, any ideas?

esp32-cam-fpv/gs $ sudo -E DISPLAY=:0 ./gs
(I) src/PI_HAL.cpp: 125: Initializing pigpio
(I) src/PI_HAL.cpp: 283: Drivers: 4
(I) src/PI_HAL.cpp: 286: Driver 0: x11
(I) src/PI_HAL.cpp: 286: Driver 1: wayland
(I) src/PI_HAL.cpp: 286: Driver 2: RPI
(I) src/PI_HAL.cpp: 286: Driver 3: dummy
(I) src/PI_HAL.cpp: 295: Mode 0: 1280x720
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
(I) src/Comms.cpp: 718: Radiocap header size: 11, IEEE header size: 24
(I) src/Comms.cpp: 581: Opening interface wlan1 in monitor mode
(I) src/Comms.cpp: 282: DLT_IEEE802_11_RADIO Encap
(I) src/Comms.cpp: 581: Opening interface wlan2 in monitor mode
(E) src/Comms.cpp: 623: Error in pcap_activate: That device is not up

Makefile with specific dir, which is NOT avaliable

/opt/vc/include/, /usr/include/freetype2 is a specific dir. Is it possible to use code in git or any pre-configuration or setup procedure can hanle these specific dirs?

INCLUDE  := -Isrc \
	-Isrc/utils \
	-Isrc/imgui \
	-Icomponents/common \
	-I/opt/vc/include/ \
	-I/usr/include/freetype2

I tried raspberry pi3 build as docs suggested, it failed. And I checked Makefile it includes crc folder. Any idea?

pi@PiNas:~/Work/esp32-cam-fpv/gs $ make -j4
g++ -MT .o/src/main.o -MD -MP -MF .d/src/main.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/main.o src/main.cpp
g++ -MT .o/src/droid_sans_font.o -MD -MP -MF .d/src/droid_sans_font.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/droid_sans_font.o src/droid_sans_font.cpp
g++ -MT .o/src/HUD.o -MD -MP -MF .d/src/HUD.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/HUD.o src/HUD.cpp
g++ -MT .o/src/imgui_impl_opengl3.o -MD -MP -MF .d/src/imgui_impl_opengl3.Td -std=c++17 -O3 -DNDEBUG -ffast-math -funroll-loops -mcpu=cortex-a8 -mfpu=neon -Wall -DRASPBERRY_PI -Isrc -Isrc/utils -Isrc/imgui -Icomponents/common -I/opt/vc/include/ -I/usr/include/freetype2 -c -o .o/src/imgui_impl_opengl3.o src/imgui_impl_opengl3.cpp
src/HUD.cpp:5:13: warning: 'void AddShadowText(ImDrawList&, const ImVec2&, ImU32, const char*)' defined but not used [-Wunused-function]
 static void AddShadowText(ImDrawList& drawList, const ImVec2& pos, ImU32 col, const char* text)
             ^~~~~~~~~~~~~
src/main.cpp:20:10: fatal error: crc.h: No such file or directory
 #include "crc.h"
          ^~~~~~~
compilation terminated.
make: *** [Makefile:126: .o/src/main.o] Error 1
make: *** Waiting for unfinished jobs....
mv -f .d/src/HUD.Td .d/src/HUD.d
mv -f .d/src/droid_sans_font.Td .d/src/droid_sans_font.d
mv -f .d/src/imgui_impl_opengl3.Td .d/src/imgui_impl_opengl3.d
pi@PiNas:~/Work/esp32-cam-fpv/gs $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

OpenGL Shader errors when running on AMD64 Ubuntu 23.04

Hi,

Similar to #36 , I am trying to run the ground station on a laptop instead of a Raspberry Pi, since I do not have on hand.
I have the same WiFi driver issues as in #36, but can also fix them by commenting out:
if (pcap_set_rfmon(pcap.pcap, 1) < 0)
, and manually putting my card in monitor mode.
This seems to work fine since I am getting gs output like:
(I) src/main.cpp: 102: Sent: 2, RX len: 69090, RSSI: -47, Latency: 12/17/14

gs compiles fine, but the problem is that I am getting no video output to screen. This seems to be due to an OpenGL issue:

(E) src/imgui_impl_opengl3.cpp: 129: GL error 1282 in glUseProgram(shaderData.ShaderHandle) file src/imgui_impl_opengl3.cpp line 129
(E) src/imgui_impl_opengl3.cpp: 130: GL error 1282 in glUniform1i(shaderData.AttribLocationTex, 0) file src/imgui_impl_opengl3.cpp line 130
(E) src/imgui_impl_opengl3.cpp: 137: GL error 1282 in glUniformMatrix4fv(shaderData.AttribLocationProjMtx, 1, GL_FALSE, &projection[0][0]) file src/imgui_impl_opengl3.cpp line 137
(E) src/imgui_impl_opengl3.cpp: 139: GL error 1281 in glEnableVertexAttribArray(shaderData.AttribLocationPosition) file src/imgui_impl_opengl3.cpp line 139
(E) src/imgui_impl_opengl3.cpp: 140: GL error 1281 in glEnableVertexAttribArray(shaderData.AttribLocationUV) file src/imgui_impl_opengl3.cpp line 140
(E) src/imgui_impl_opengl3.cpp: 141: GL error 1281 in glEnableVertexAttribArray(shaderData.AttribLocationColor) file src/imgui_impl_opengl3.cpp line 141
(E) src/imgui_impl_opengl3.cpp: 142: GL error 1281 in glVertexAttribPointer(shaderData.AttribLocationPosition, 2, GL_FLOAT, GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, pos)) file src/imgui_impl_opengl3.cpp line 142
(E) src/imgui_impl_opengl3.cpp: 143: GL error 1281 in glVertexAttribPointer(shaderData.AttribLocationUV, 2, GL_FLOAT, GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, uv)) file src/imgui_impl_opengl3.cpp line 143
(E) src/imgui_impl_opengl3.cpp: 144: GL error 1281 in glVertexAttribPointer(shaderData.AttribLocationColor, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, col)) file src/imgui_impl_opengl3.cpp line 144

This is repeatably written to the terminal.
Along with these errors, I also captured another error:

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
0:1(10): error: GLSL 1.30 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program!
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader

So it seems to be due to an OpenGL mismatch? I am not familiar with low level graphics API myself. This is the output of glxinfo, concerning OpenGL, if it helps:

$ glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_ATI_pixel_format_float, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
    GLX_NV_float_buffer, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.49, 6.2.0-20-generic) (0x164c)
    Version: 23.0.2
    Accelerated: yes
    Video memory: 512MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 37 MB, largest block: 37 MB
    VBO free aux. memory - total: 7241 MB, largest block: 7241 MB
    Texture free memory - total: 37 MB, largest block: 37 MB
    Texture free aux. memory - total: 7241 MB, largest block: 7241 MB
    Renderbuffer free memory - total: 37 MB, largest block: 37 MB
    Renderbuffer free aux. memory - total: 7241 MB, largest block: 7241 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 512 MB
    Total available memory: 8172 MB
    Currently available dedicated video memory: 37 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.49, 6.2.0-20-generic)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.0.2
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate, 
    GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, 
    GL_AMD_gpu_shader_int64, GL_AMD_multi_draw_indirect, 
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, 
    GL_AMD_query_buffer_object, GL_AMD_seamless_cubemap_per_texture, 
    GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, 
    GL_AMD_texture_texture4, GL_AMD_vertex_shader_layer, 
    GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_bindless_texture, GL_ARB_blend_func_extended, 
    GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, 
    GL_ARB_clip_control, GL_ARB_color_buffer_float, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, 
    GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, 
    GL_ARB_depth_clamp, GL_ARB_derivative_control, GL_ARB_direct_state_access, 
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, 
    GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, 
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, 
    GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, 
    GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, 
    GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, GL_ARB_sparse_buffer, 
    GL_ARB_sparse_texture, GL_ARB_sparse_texture2, 
    GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, 
    GL_ARB_texture_barrier, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map_array, GL_ARB_texture_filter_anisotropic, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, 
    GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, 
    GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, 
    GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, 
    GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, 
    GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, 
    GL_ARB_transform_feedback_instanced, 
    GL_ARB_transform_feedback_overflow_query, GL_ARB_uniform_buffer_object, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ATI_blend_equation_separate, GL_ATI_meminfo, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, 
    GL_EXT_blend_equation_separate, GL_EXT_debug_label, 
    GL_EXT_demote_to_helper_invocation, GL_EXT_depth_bounds_test, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_memory_object, 
    GL_EXT_memory_object_fd, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 
    GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp, 
    GL_EXT_provoking_vertex, GL_EXT_semaphore, GL_EXT_semaphore_fd, 
    GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, 
    GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
    GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, 
    GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, 
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives, 
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp, 
    GL_NV_packed_depth_stencil, GL_NV_shader_atomic_int64, 
    GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image, GL_S3_s3tc

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.2
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
    GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate, 
    GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, 
    GL_AMD_multi_draw_indirect, GL_AMD_performance_monitor, 
    GL_AMD_pinned_memory, GL_AMD_query_buffer_object, 
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, 
    GL_AMD_shader_trinary_minmax, GL_AMD_texture_texture4, 
    GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_bindless_texture, GL_ARB_blend_func_extended, 
    GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, 
    GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, 
    GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, 
    GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, 
    GL_ARB_direct_state_access, GL_ARB_draw_buffers, 
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, 
    GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, 
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, 
    GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, 
    GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, 
    GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing, 
    GL_ARB_shadow, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, 
    GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, 
    GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_tessellation_shader, GL_ARB_texture_barrier, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, 
    GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, 
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, 
    GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, 
    GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, 
    GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, 
    GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_blend_equation_separate, 
    GL_ATI_draw_buffers, GL_ATI_fragment_shader, GL_ATI_meminfo, 
    GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, 
    GL_ATI_texture_env_combine3, GL_ATI_texture_float, 
    GL_ATI_texture_mirror_once, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_copy_texture, GL_EXT_debug_label, 
    GL_EXT_demote_to_helper_invocation, GL_EXT_depth_bounds_test, 
    GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_memory_object, 
    GL_EXT_memory_object_fd, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, 
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_polygon_offset_clamp, GL_EXT_provoking_vertex, 
    GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, 
    GL_EXT_semaphore_fd, GL_EXT_separate_specular_color, 
    GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_array, GL_EXT_texture_buffer_object, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_integer, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
    GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, 
    GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_INTEL_blackhole_render, 
    GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control, 
    GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_KHR_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NVX_gpu_memory_info, 
    GL_NV_ES1_1_compatibility, GL_NV_alpha_to_coverage_dither_control, 
    GL_NV_blend_square, GL_NV_compute_shader_derivatives, 
    GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, 
    GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, 
    GL_NV_primitive_restart, GL_NV_shader_atomic_int64, 
    GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop, 
    GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
    GL_AMD_framebuffer_multisample_advanced, GL_AMD_performance_monitor, 
    GL_ANDROID_extension_pack_es31a, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_APPLE_texture_max_level, GL_EXT_EGL_image_storage, 
    GL_EXT_base_instance, GL_EXT_blend_func_extended, GL_EXT_blend_minmax, 
    GL_EXT_buffer_storage, GL_EXT_clear_texture, GL_EXT_clip_control, 
    GL_EXT_clip_cull_distance, GL_EXT_color_buffer_float, 
    GL_EXT_color_buffer_half_float, GL_EXT_compressed_ETC1_RGB8_sub_texture, 
    GL_EXT_copy_image, GL_EXT_debug_label, GL_EXT_demote_to_helper_invocation, 
    GL_EXT_depth_clamp, GL_EXT_discard_framebuffer, 
    GL_EXT_disjoint_timer_query, GL_EXT_draw_buffers, 
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex, 
    GL_EXT_draw_instanced, GL_EXT_float_blend, GL_EXT_frag_depth, 
    GL_EXT_geometry_point_size, GL_EXT_geometry_shader, GL_EXT_gpu_shader5, 
    GL_EXT_map_buffer_range, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_multi_draw_arrays, GL_EXT_occlusion_query_boolean, 
    GL_EXT_polygon_offset_clamp, GL_EXT_primitive_bounding_box, 
    GL_EXT_read_format_bgra, GL_EXT_render_snorm, GL_EXT_robustness, 
    GL_EXT_sRGB_write_control, GL_EXT_semaphore, GL_EXT_semaphore_fd, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_group_vote, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_shader_io_blocks, GL_EXT_shader_samples_identical, 
    GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader, 
    GL_EXT_texture_border_clamp, GL_EXT_texture_buffer, 
    GL_EXT_texture_compression_bptc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_compression_s3tc_srgb, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888, 
    GL_EXT_texture_mirror_clamp_to_edge, GL_EXT_texture_norm16, 
    GL_EXT_texture_query_lod, GL_EXT_texture_rg, GL_EXT_texture_sRGB_R8, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, 
    GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_texture_view, 
    GL_EXT_unpack_subimage, GL_EXT_window_rectangles, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, 
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra, 
    GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives, 
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments, 
    GL_NV_image_formats, GL_NV_pack_subimage, GL_NV_pixel_buffer_object, 
    GL_NV_read_buffer, GL_NV_read_depth, GL_NV_read_depth_stencil, 
    GL_NV_read_stencil, GL_NV_shader_noperspective_interpolation, 
    GL_OES_EGL_image, GL_OES_EGL_image_external, 
    GL_OES_EGL_image_external_essl3, GL_OES_EGL_sync, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24, 
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map, 
    GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_geometry_point_size, GL_OES_geometry_shader, 
    GL_OES_get_program_binary, GL_OES_gpu_shader5, GL_OES_mapbuffer, 
    GL_OES_packed_depth_stencil, GL_OES_primitive_bounding_box, 
    GL_OES_required_internalformat, GL_OES_rgb8_rgba8, GL_OES_sample_shading, 
    GL_OES_sample_variables, GL_OES_shader_image_atomic, 
    GL_OES_shader_io_blocks, GL_OES_shader_multisample_interpolation, 
    GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_surfaceless_context, 
    GL_OES_tessellation_point_size, GL_OES_tessellation_shader, 
    GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_buffer, 
    GL_OES_texture_cube_map_array, GL_OES_texture_float, 
    GL_OES_texture_float_linear, GL_OES_texture_half_float, 
    GL_OES_texture_half_float_linear, GL_OES_texture_npot, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_OES_texture_view, GL_OES_vertex_array_object, GL_OES_vertex_half_float, 
    GL_OES_viewport_array


How can we solve this issue? Is some sort of OpenGL rewrite is needed, or can some config simply be changed to support the OpenGL calls?

Thanks for any help, please let me know if more info is needed.

Beginning log output:

(I) src/PI_HAL.cpp: 287: Drivers: 6
(I) src/PI_HAL.cpp: 290: Driver 0: x11
(I) src/PI_HAL.cpp: 290: Driver 1: wayland
(I) src/PI_HAL.cpp: 290: Driver 2: KMSDRM
(I) src/PI_HAL.cpp: 290: Driver 3: offscreen
(I) src/PI_HAL.cpp: 290: Driver 4: dummy
(I) src/PI_HAL.cpp: 290: Driver 5: evdev
(I) src/PI_HAL.cpp: 299: Mode 0: 1920x1080
(E) src/imgui_impl_opengl3.cpp: 382: GL error 1282 in glShaderSource(shaderData.VertHandle, 2, vertex_shader_with_version, NULL) file src/imgui_impl_opengl3.cpp line 382
(E) src/imgui_impl_opengl3.cpp: 477: GL error 1282 in glGenBuffers(1, &g_VboHandle) file src/imgui_impl_opengl3.cpp line 477
(I) src/Comms.cpp: 713: Radiocap header size: 11, IEEE header size: 24
(I) src/Comms.cpp: 581: Opening interface wlan0mon in monitor mode
(I) src/Comms.cpp: 282: DLT_IEEE802_11_RADIO Encap
(I) src/Video_Decoder.cpp: 163: SDL window: 94726460074496
(I) src/Video_Decoder.cpp: 163: SDL window: 94726460074496
(I) src/Video_Decoder.cpp: 163: SDL window: 94726460074496
(I) src/Video_Decoder.cpp: 163: SDL window: 94726460074496
(E) src/imgui_impl_opengl3.cpp: 129: GL error 1282 in glUseProgram(shaderData.ShaderHandle) file src/imgui_impl_opengl3.cpp line 129
(E) src/imgui_impl_opengl3.cpp: 130: GL error 1282 in glUniform1i(shaderData.AttribLocationTex, 0) file src/imgui_impl_opengl3.cpp line 130
(E) src/imgui_impl_opengl3.cpp: 137: GL error 1282 in glUniformMatrix4fv(shaderData.AttribLocationProjMtx, 1, GL_FALSE, &projection[0][0]) file src/imgui_impl_opengl3.cpp line 137

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.