Re: ESP32 domácí automatizace

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Srpen 2 10:35:29 CEST 2021


To jako opravdu vTaskDelay muze fungovat nespolehlive, teda jeste k tomu 
se zkratit?
To snad primo pocita systemova preruseni od casovace (default tusim 
100Hz), ze by se nejaky nestihly bych jeste pochopil...

Dne 02.08.2021 v 9:49 as5s napsal(a):
>
> Dobry den,
>
> skuste pozriet na vTaskDelayUntil()
>
> https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html#_CPPv415vTaskDelayUntilPC10TickType_tK10TickType_t
>
> mozno vam to bude stacit.
>
> Myre
>
> On 2. 8. 2021 9:45, Jan Půhoný wrote:
>> Dobrý den,
>>
>> mám tady další zádrhel - mějme funkci, která ovládá výstupní piny, 
>> potřebuji po nastavení udžet cca 20 sekund v HIGH a pak vrátit vše do 
>> low. Jedná se o otevítání a zavírání ventilu. Přidal jsem tedy mezi 
>> to vTaskDelay(20000 / portTICK_PERIOD_MS); , problém je v tom, že 
>> někdy se to zpoždění značně zkrátí a ventil zůstane napolo otevřený. 
>> Jak se toto dá ošetřit aby se vTaskDelay(20000 / portTICK_PERIOD_MS); 
>> nikdy nemohlo zkrátit a bylo dodrženo.
>>
>> Volám to pak standardně přes xTaskCreatePinnedToCore() ....
>>
>> void vent1On(void * parameter){
>> for(;;){ // infinite loop
>> button1.update(1);
>> digitalWrite(ventMain1, HIGH);
>> digitalWrite(ventOn1, HIGH);
>> digitalWrite(ledPinRed, HIGH);
>>     // Pause the task fo 20s
>> vTaskDelay(20000 / portTICK_PERIOD_MS);
>> digitalWrite(ventMain1, LOW);
>> digitalWrite(ventOn1, LOW);
>> digitalWrite(ledPinRed, LOW);
>> vTaskDelete(NULL); //spustí se jen jednou
>>   }
>> }
>>
>>
>> xTaskCreatePinnedToCore(
>>     vent1On,    // Function that should be called
>>     "vent1On",   // Name of the task (for debugging)
>>     1000,            // Stack size (bytes)
>>     NULL,            // Parameter to pass
>>     1,               // Task priority
>>     NULL,            // Task handle
>>     0            // Core 1/0
>>   );
>>
>> HP
>>
>>
>> so 31. 7. 2021 v 8:27 odesílatel Jan Půhoný <konference na puhy.cz 
>> <mailto:konference na puhy.cz>> napsal:
>>
>>     Díky, zkusil jsem jak 2000 tak 4000 ale stále stejné. Resetuje se
>>     to pořád dokola s tímto:
>>
>>     rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
>>     configsip: 0, SPIWP:0xee
>>     clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
>>     mode:DIO, clock div:2
>>     load:0x3fff0018,len:4
>>     load:0x3fff001c,len:1044
>>     load:0x40078000,len:10124
>>     load:0x40080400,len:5828
>>     entry 0x400806a8
>>
>>     *Ale zjistil jsem, že to dělá jen pokud to napájím z USB. Když to
>>     dám přímo do svého zapojení, kde je pořádná kapacita na Vin, tak
>>     to drží. Takže skutečně jen problém s napájením.*
>>
>>     Teď už to budu programovat jen přes OTA, takže vyřešeno.
>>
>>     HP
>>
>>
>>     so 31. 7. 2021 v 6:44 odesílatel Jaroslav Buchta
>>     <jaroslav.buchta na hascomp.cz <mailto:jaroslav.buchta na hascomp.cz>>
>>     napsal:
>>
>>         kod jsem nezkoumal ale na prvni pohled mi prijde maly
>>         zasobnik pro
>>         vlakno, tady je to tusim v btech. dal bych 2 nebo 4K na zkousku
>>         _______________________________________________
>>         HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>         http://list.hw.cz/mailman/listinfo/hw-list
>>         <http://list.hw.cz/mailman/listinfo/hw-list>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210802/ffa5fc85/attachment.html>


Další informace o konferenci Hw-list