Problem z BTN_CFG

Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Witam,

czy ktoś się spotkał lub może zweryfikować taki problem?:
Jeśli ustawię wyjście wyjście przekaźnikowe na GPIO 5 to nie działa mi BTN_CFG na GPIO 0.
Po starcie płytki na GPIO 0 mam cały czas 0V (nie ma żadnych zworek, zwarć itp.)
Po zmianie portu przekaźnika na np. GPIO 12, wszystko działa poprawnie.
Sprawdzałem na dwóch niezależnych hardware'ach i sytuacja jest taka sama.

supla-espressif-esp
SUPLA_ESP_SOFTVER "2.7.15"

Pozdrawiam i dziękuję za pomoc.
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Mam bardzo podobny problem.
Z gpio3 (RX).
Ale NIE znam rozwiązania.
 viewtopic.php?p=57204#p57204
Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Czyli w teorii może być to błąd w SDK.
Niestety SDK mam dosyć stare (chyba 1.5.4), bo całe środowisko mam z gotowej VM.
Jest możliwość bezbolesnego upgrade'u do nowszej wersji ?
Backup maszyny mam, ale wolę wcześniej zapytać czy ma to sens.
Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Wygląda na to, że przynajmniej w moim przypadku, błąd pojawia się przy wywołaniu funkcji gpio_output_set. Czy jest to błąd w SDK czy bug w samym ESP to ciężko mi powiedzieć.
Na razie połatałem to dodając do konfiguracji wyjść w supla_esp_gpio_init(void):

Code: Select all

			
else if (supla_relay_cfg[a].gpio_id == 5) {

GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(supla_relay_cfg[a].gpio_id));
gpio_pin_intr_state_set(GPIO_ID_PIN(supla_relay_cfg[a].gpio_id), GPIO_PIN_INTR_DISABLE);
gpio_output_set(GPIO_ID_PIN(supla_relay_cfg[a].gpio_id), 0, GPIO_ID_PIN(supla_relay_cfg[a].gpio_id), 0);
}
Czyli dla GPIO5 przekazuję do funkcji gpio_output_set "set_mask" zamiast "clear_mask".

Może któryś "Guru" się wypowie w tym temacie ;)

Pozdrawiam.
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Fajnie, że Ci się udalo.
A nie znasz "jakiegoś" sposobu, żeby "zmusić" gpio3 do pracy z button ?
Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Cześć.
No niby mi się udało, ale takie łatki, które trzeba odnawiać przy każdym pull'u to trochę lipa :(

Odnośnie GPIO3 to rozumiem, że definicję "USE_GPIO3" lub "UART_SWAP" masz ?
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Esteta wrote: Fri Jan 10, 2020 2:12 pm
Odnośnie GPIO3 to rozumiem, że definicję "USE_GPIO3" lub "UART_SWAP" masz ?
USE_GPIO3 - mam
UART_SWAP - to mam "wyłączone" :
 viewtopic.php?p=47016#p47016

Edit:
U mnie "teoretycznie" gpio3 działa.
Ale w praktyce muszę podać "pełne" +3,3V, a po "odłączeniu" +3,3V, gpio3 zachowuje się tak jak bym go zwarł do GND. ( choć tego nie robię  ).
"Fizyczny" rezystor pull-up 4,7kohm ( między  gpio3, a +3,3V) nic nie pomaga.
Te "ciągnienie" do Gnd, programowe jest tak silne.
Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Osobiście to bym nie podpinał na porty bezpośrednio napięcia zasilania. Szczerze mówiąc to dziwne, że po czymś takim ten port jeszcze działa.
Jak będę miał chwilę czasu to przetestuję czy na moim hardwarze i po kompilacji u mnie jest tak samo.
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Problem z gpio3 ( w moim przypadku ), udało mi się rozwiązać.
Może się jeszcze komuś przyda:
viewtopic.php?p=58233#p58233
Esteta
Posts: 37
Joined: Wed Oct 24, 2018 9:32 pm

Post

Jeżeli dobrze zrozumiałem, to przy kompilacji dla FOTA port nie działał poprawnie.
Fajnie, że znalazłeś gdzie tkwi problem :)

Return to “Pomoc”