Search found 35 matches

by gfvalvo
Tue Aug 29, 2023 10:23 am
Forum: ESP32 Arduino
Topic: High Priority Task Appearing Not to Preempt Low Priority Task???
Replies: 7
Views: 3567

Re: High Priority Task Appearing Not to Preempt Low Priority Task???

ESP_Sprite wrote:
Tue Aug 29, 2023 12:31 am
I'm thinking that this may be some weird behaviour in the log_i function rather than the event groups, but I don't have a theory for how that could work.
Yes, I'd be hard pressed to explain that. Especially when it works as expected if I use a Task Notification rather than an Event Group bit.
by gfvalvo
Mon Aug 28, 2023 1:52 pm
Forum: ESP32 Arduino
Topic: High Priority Task Appearing Not to Preempt Low Priority Task???
Replies: 7
Views: 3567

Re: High Priority Task Appearing Not to Preempt Low Priority Task???

Interestingly, it works as expected when using a Task Notification . So perhaps unblocking tasks using Event Groups doesn't happen immediately (regardless of the task's priority), but on the FreeRTOS tick boundaries??? #include "Arduino.h" void producerFunction(void *pvParameters); void consumerFunc...
by gfvalvo
Mon Aug 28, 2023 12:20 pm
Forum: ESP32 Arduino
Topic: High Priority Task Appearing Not to Preempt Low Priority Task???
Replies: 7
Views: 3567

High Priority Task Appearing Not to Preempt Low Priority Task???

Hello. In the MRE below, the Consumer Task has a higher priority than the Producer Task. So, when the Producer sets the Event Group bit, I would expect the Consumer Task to preempt it, do its printing, and then block itself again BEFORE the (lower priority) Producer Task resumes executing. Therefore...
by gfvalvo
Thu Jul 20, 2023 12:37 am
Forum: ESP32 Arduino
Topic: Unblocking a Task on the "Other" Core
Replies: 3
Views: 1653

Re: Unblocking a Task on the "Other" Core

Hi gfvalvo, ... See taskYIELD_OTHER_CORE in tasks.c. @esp_programmer, thanks for the reply. Where did you find task.c? It's not in my installation, only task.h. Also there is no mention of 'taskYIELD_OTHER_CORE' in any file of my ESP32 installation. However, I did find the following in portmacro.h....
by gfvalvo
Wed Jul 19, 2023 4:10 pm
Forum: ESP32 Arduino
Topic: Unblocking a Task on the "Other" Core
Replies: 3
Views: 1653

Unblocking a Task on the "Other" Core

Hello, Suppose a task running on Core 0 posts some data to a FreeRTOS queue. Suppose further that a very high-priority task, that's pinned to Core 1, is currently blocked, pending on information to enter that queue. Ideally, the high-priority task should very quickly become unblocked and preempt wha...
by gfvalvo
Thu Apr 27, 2023 1:35 pm
Forum: ESP32 Arduino
Topic: No TZ.h File for ESP32?
Replies: 2
Views: 2175

Re: No TZ.h File for ESP32?

Thanks for the reply. I guess Espressif came to that epiphany sometime between creating the ESP8266 core and creating the the ESP32 core.
by gfvalvo
Wed Apr 26, 2023 8:29 pm
Forum: ESP32 Arduino
Topic: No TZ.h File for ESP32?
Replies: 2
Views: 2175

No TZ.h File for ESP32?

So, the ESP8266 Arduino core has a very handy file called 'TZ.h" located in: …/esp8266\hardware\esp8266\3.1.1\cores\esp8266 It contains the Unix time zone codes ('TZ' environment variable) for hundreds of locations around the world. They're defined with human-readable macros. For example: #define TZ...
by gfvalvo
Tue May 10, 2022 10:44 am
Forum: ESP32 Arduino
Topic: ESP32-CAM Facial Detection / Recognition
Replies: 4
Views: 7844

Re: ESP32-CAM Facial Detection / Recognition

I did get it to "work" using URL https://raw.githubusercontent.com/espre ... index.json and v1.0.4. But, haven't played with it any since.
by gfvalvo
Fri Apr 22, 2022 3:56 pm
Forum: ESP-IDF
Topic: Critical sections explanation
Replies: 5
Views: 12093

Re: Critical sections explanation

Ahhhh … got it. So, it acts kind of the same as a Critical Section would on a single-core, "Vanilla FreeRTOS" implementation for the local core but also makes the "other" core spin if and only if it also tries to acquire the lock.
Thanks.
by gfvalvo
Thu Apr 21, 2022 5:34 pm
Forum: ESP-IDF
Topic: Critical sections explanation
Replies: 5
Views: 12093

Re: Critical sections explanation

I realize that this is a really old thread. But, it seems the proper place to post my question. My understanding of a Task or ISR "spinning" is that it's in a loop constantly trying to get ownership of the "lock". There are no context switches so nothing else runs on that core. So, my question ... w...