Search found 7 matches

by dalbert
Fri Apr 12, 2024 4:54 am
Forum: ESP32 Arduino
Topic: ESP32 External 32.768kHZ Crystal for RTC
Replies: 10
Views: 8323

Re: ESP32 External 32.768kHZ Crystal for RTC

Something to be aware of: The ESP32 r1 and r3 require different loading for the crystal oscillator. I use a 6pF 3.2x1.5mm 2-SMD crystal with two loading caps, all located close to the XO pins and following good layout practices. My older boards built with ESP32 r1 require at least 10pF load capacito...
by dalbert
Thu Apr 11, 2024 8:09 pm
Forum: ESP-IDF
Topic: API to access last exception details?
Replies: 1
Views: 345

API to access last exception details?

Is there an API to access the last exception address(es) or backtrace(es)?
This would be incredibly helpful for debugging remote equipment in the field so that after a reset, it could report not just the reason for reset, but the address(es) or backtrace(es) indicating where the exception took place.
by dalbert
Tue Nov 07, 2023 5:39 pm
Forum: ESP32 Arduino
Topic: SPI semaphore trips wdt when light sleep enabled
Replies: 1
Views: 1286

Re: SPI semaphore trips wdt when light sleep enabled

For anyone else who encounters this, it turned out to be pilot error: accessing the SPI bus from both interrupt and user contexts. The light sleep being enabled was a red herring, it simply affected timing. I use the SPI bus to manage a radio transceiver extensively in interrupt context and occasion...
by dalbert
Sat Nov 04, 2023 11:20 pm
Forum: ESP32 Arduino
Topic: Possible to check UART0 Tx buffer empty before light sleep?
Replies: 2
Views: 1968

Re: Possible to check UART0 Tx buffer empty before light sleep?

Thanks @lbernstone, that is indeed a good workaround in many cases. I was (and still am) hoping to find a non-blocking solution; the flush code eventually gets to this: UART_MUTEX_LOCK(); while(!uart_ll_is_tx_idle(UART_LL_GET_HW(uart->num))); if ( !txOnly ) { ESP_ERROR_CHECK(uart_flush_input(uart->n...
by dalbert
Sat Nov 04, 2023 9:44 pm
Forum: ESP32 Arduino
Topic: SPI semaphore trips wdt when light sleep enabled
Replies: 1
Views: 1286

SPI semaphore trips wdt when light sleep enabled

I have an application that interacts with a radio transceiver using the SPI bus. Typically, when the radio receives a message, it raises a status line which is configured as an interrupt source on the ESP32. The ESP32 ISR then reads data from the radio. The code makes use of the functions: uint8_t I...
by dalbert
Tue Oct 31, 2023 12:39 am
Forum: ESP32 Arduino
Topic: Possible to check UART0 Tx buffer empty before light sleep?
Replies: 2
Views: 1968

Possible to check UART0 Tx buffer empty before light sleep?

A call to esp_light_sleep_start(), immediately stops UART0 output, this can have a number of undesirable consequences. Is there any way to check whether the Tx buffer empty status so you can delay sleep entry until UART output is finished? I didn't see anything in the HardwareSerial class. If not, i...
by dalbert
Sun Apr 24, 2022 11:17 pm
Forum: Report Bugs
Topic: I2C SCL frequency 10% less than it should be at 400kHz
Replies: 55
Views: 96947

Re: I2C SCL frequency 10% less than it should be at 400kHz

I'm experiencing the same issue with an ESP32-WROOM-32 using the latest Arduino ESP32 core. SDK:v4.4-dev-3569-g6a7d83af19-dirty IDF:v4.4-dev-3569-g6a7d83af19-dirty The ESP32 is the I2C master (IO21, IO22), communicating with an STM32G0 co-processor slave. At standard speeds (100kbps), it works reaso...