Search found 62 matches

by Hans Dorn
Fri Mar 10, 2017 12:29 am
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

Not sure if this applies to the ESP IDF.

There's no MPU_vTaskDelay in libfreertos.a, but vTaskDelay is there.

Also, the code for vTaskGetRunTimeStats can be found in tasks.c

Cheers
by Hans Dorn
Thu Mar 09, 2017 11:42 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

I don't know what gives here.

I'm using the arduino IDE because I like it's simplicity, but have the SDK installed somewhere, too.

I'll try playing around with it during the weekend and see if I can get the task stats running.


Cheers
by Hans Dorn
Thu Mar 09, 2017 11:14 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

Try doing a make menuconfig first to trigger a complete rebuild.
Just toggle an option on and off, save config and build.
by Hans Dorn
Thu Mar 09, 2017 10:49 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

Hmmm. Maybe your config changes didn't take. What OS are you on, can you search the contents of your generated libraries to see if "vTaskGetRunTimeStats" is contained in one of your libs. My timer loop seems to work on CPU1 if I double the expected number of cycles to account for the system idle tas...
by Hans Dorn
Thu Mar 09, 2017 10:11 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

Hi Rudi. Your task function should have a (void *) argument: void idleTask(void *arg) { uint32_t t00, t01; for(;;) { //... } } Cheers P.S: I managed to put my loop into an idle priority task, and now it reports 50% load Guess it's competing with the system idle task, needs some fixing, lol
by Hans Dorn
Thu Mar 09, 2017 8:26 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

I would also suggest that there might be a puzzle in the question itself. For there to be utilization to be measured, it must be measured against "something". It isn't at all clear to me that if there were only going to be one task in an ESP32 and that task was "blocked" ... would that mean that th...
by Hans Dorn
Thu Mar 09, 2017 7:01 pm
Forum: General Discussion
Topic: Processor utilization in percent
Replies: 16
Views: 25457

Re: Processor utilization in percent

Hi Rudi, if everything else fails, you can always run a counter loop in a low priority task and measure how fast it runs, with and without your main task running. It's a bit crude and not terribly precise, but it will also catch all the context switching overhead that other methods might not see. Ch...
by Hans Dorn
Sun Mar 05, 2017 2:53 am
Forum: General Discussion
Topic: Should we "care" about old vs new silicon?
Replies: 8
Views: 12947

Re: Should we "care" about old vs new silicon?

FWIW, the fix mentioned under 3.3. also applies to ADC1 and ADC2 I couldn't reliably retrigger a conversion if I didn't wait a couple µs between writes to the "MEAS_START" register. Switching to an alternative address, analogous to the fixed ones mentionend in the PDF made this work as expected. // ...
by Hans Dorn
Fri Mar 03, 2017 4:59 am
Forum: ESP32 Arduino
Topic: Crash in timer interupt when data type "float" is used
Replies: 14
Views: 30963

Re: Crash in timer interupt when data type "float" is used

OK, will do.


I'm always trying to shave off a few cycles, as IME there are never enough.

Cheers
by Hans Dorn
Fri Mar 03, 2017 2:20 am
Forum: ESP32 Arduino
Topic: Crash in timer interupt when data type "float" is used
Replies: 14
Views: 30963

Re: Crash in timer interupt when data type "float" is used

Ok here we go :) This version works nicely for me: uint32_t timer0_int = 0; float timer0_float = 0.0; DRAM_ATTR float timer0_k = 1.111111; uint32_t cp0_regs[18]; void IRAM_ATTR timer0_intr() // Interrupt handler for timer 0 { // get FPU state uint32_t cp_state = xthal_get_cpenable(); if(cp_state) { ...