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