Passing log messages over the JTAG interface, instead of UART0 Espressif resources https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/app_trace.html#app-trace-logging-to-host Getting it working esp_app_trace.h needs app_trace adding to your AMakeLists.txt Then in your project: A work in progress…so far we’ve been unable to make this feature actually work…!Got to here: https://www.esp32.com/viewtopic.php?f=13&t=33205&p=112706#p112706
All posts by
Using UART0, disable logging output
Disable UART logging within the config. Write your own log function with esp_log_set_vprintf. Disable UART0 bootloader and log output Run “idf.py menuconfig”, as explained on this page. Bootloader config > Bootloader log verbosity Default is “Info”, change it to “No output” to disable bootloader output Component config > Log output > Default log verbosity Default is […]
LEDC PWM Output
Configuring Set duty cycle
Rename project
See here
Our I2C Master universal code
We try to use common defines for I2C master code in our projects, so it’s easy to jump between different microcontrollers and processors. This is quite challenging with the ESP32, because its setup and then do as a single operation approach is very different to the raw operation by operation approach a microtroller will typically […]
Setup bluetooth for your project
Launch menuconfig (see here for how to launch it) Component Config > Bluetooth Select Bluetooth as enabled. The options for Bluetooth will then be shown, setup as required.
Error functions
ESP_ERROR_CHECK() Use when calling many of the ESP32 API fucntions to carry out controlled error checking, e.g.
Running out of interrupts
Interrupt inputs are a limited resource on the ESP32, and initializing certain features requires interrupt inputs to be attached to the peripherals. Just like other resources (such as RAM), the program can run out of the interrupt inputs if it uses multiple features at once. The good news is that it is usually possible to […]
Programming & debugging issues
See here.
Compiler issues
General CMake issues See here. driver/gpio.h: No such file or directory CMakeLists.txt needs “driver” added to REQUIRES, e.g.: ninja: build stopped: subcommand failed Often this is caused by spaces in the path of the project or the path being too long.
