Search found 7 matches

by smarq8
Sat Jun 04, 2022 2:23 pm
Forum: Hardware
Topic: ESP32 EN pin pulled down
Replies: 9
Views: 13645

Re: ESP32 EN pin pulled down

today I face very similar issue for my custom board, it use ESP32-WROOM-32D. My board was running several hours sending some data over ESPNOW and at some point it restart few times and then was unable boot. As I measure EN there was 160ohm to ground, after resoldering area it drop even more to aroun...
by smarq8
Sat Apr 02, 2022 9:33 pm
Forum: General Discussion
Topic: espnow - does OnDataSent guarante packet to be fully received in unicast
Replies: 1
Views: 1944

espnow - does OnDataSent guarante packet to be fully received in unicast

In case of unicast then what exatcly OnDataSent mean? Is it "receiver receive message (hardware)" or "receiver receive message (hardware) and process OnDataRecv (application)"? If unicast use ACK and does not care about OnDataRecv then whats the point of ACK? For example my transmitter send stream o...
by smarq8
Thu Mar 17, 2022 7:35 am
Forum: ESP32 Arduino
Topic: ESP32 - does variable protected by mutex require volatile?
Replies: 3
Views: 2759

Re: ESP32 - does variable protected by mutex require volatile?

Thank you for your reply. What about scenario where I write protecting by mutex and read without mutex? Will it still work without volatile at reading assuming my variable is uint32_t memory aligned? I just write some FIFO where uint32_t store two variables uint16_t just for ensure at least atomic r...
by smarq8
Wed Mar 16, 2022 1:44 pm
Forum: ESP32 Arduino
Topic: ESP32 - does variable protected by mutex require volatile?
Replies: 3
Views: 2759

ESP32 - does variable protected by mutex require volatile?

Does xSemaphoreTake/Give() guarantee any variable to be updated in scenario of multiple core access? Or I need volatile or other things to do to ensure I will not read outdated content? uint32_t someVariable = 0; // should it be volatile? void function(){ if(Mutex && xSemaphoreTake(Mutex,portMAX_DEL...
by smarq8
Wed May 05, 2021 5:54 pm
Forum: General Discussion
Topic: IRAM_ATTR and function pointer and other
Replies: 0
Views: 2683

IRAM_ATTR and function pointer and other

I wrote some class to handle some SPI device, mainly it was written under non RTOS env. Now i try to adapt it to ESP32 and RTOS environment. The task 'IMU_handler' just wait for 'Notify' from interrupt and then download data from SPI, preprocess etc, everythink at 1kHz rate, currently in case 8kHz i...
by smarq8
Sun Mar 07, 2021 10:30 am
Forum: General Discussion
Topic: Can I safely use 2 sets of pinouts for singe SPI bus? error:"addApbChangeCallback(): duplicate func"
Replies: 3
Views: 5507

Re: Can I safely use 2 sets of pinouts for singe SPI bus? error:"addApbChangeCallback(): duplicate func"

Then why this work? Ofcourse this example use 2 instances of SPI class and I'm aware about that I can not use both device at the same time. I do that only beacause of I do not have easy acces to TFTs SPI pins and also unpredictable nature of SD data writing and time critical sensor disqualify them f...
by smarq8
Sat Mar 06, 2021 6:00 pm
Forum: General Discussion
Topic: Can I safely use 2 sets of pinouts for singe SPI bus? error:"addApbChangeCallback(): duplicate func"
Replies: 3
Views: 5507

Can I safely use 2 sets of pinouts for singe SPI bus? error:"addApbChangeCallback(): duplicate func"

Can I map 2nd sets of pintouts for VSPI bus sefely? Generally everythink work fine as long as I use TFT and SD in single task loop, or tasks at the same priority and core, in any other configuration wtd trigger and/or SD return crc errors etc. I'm just not sure can I ignore "addApbChangeCallback(): ...