Re: ESP32 domácí automatizace

as5s as5sgm na gmail.com
Pondělí Srpen 2 09:49:45 CEST 2021


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 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/f8f8dfd0/attachment.html>


Další informace o konferenci Hw-list