SUPLA - Raspberry Pi - obsługa przekażników

vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Wed Jul 03, 2019 11:25 am

Aby nie błądzić i wywarzać otwartych dzwi

@pzygmunt - w wersji kodu dla Raspberry Pi (supla-dev ) - w których miejscach kodu trzeba zmienić obsługę logiki dla przekażnika (zmianić na 0 w stanie ON) ?

To zmiana na potrzeby nakładki :

https://botland.com.pl/pl/rozszerzenia- ... ry-pi.html
User avatar
pzygmunt
Posts: 5999
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Wed Jul 03, 2019 11:36 am

Nie rozumiem
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Wed Jul 03, 2019 12:47 pm

Nakładka ta sterowana jest 0 dla stanu ON i 1 dla stanu OFF

np dla kanału 26

echo 0 > /sys/class/gpio/gpio26/value włącza przekażnik

W supla-dev dla Raspberry Pi jest na odwrót.

chciałbym zdefiniować nowy typ przekażnika i ustawić dla niego odwróconą logikę.

Jak to zrobić? Możesz wskazać miejsca w kodzie?
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Wed Jul 03, 2019 2:01 pm

Dzięki za szybką odpowiedz :)
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Mon Jul 08, 2019 8:04 am

Zaimplementowałem tą zmianę.

Aby poprawnie (w odwróconej logice) supla-dev zamykał się musiałem jeszcze dodać wywołania gpio_set_value w procedurze channelio_free

Nie wiem czy dobrze wymusiłem stany wyjściowe (zamknięty) w odwróconej logice w channelio_channel_init - powinienem móc odczytać stan zamknięcia ale nie mogłem znaleść miejsca gdzie to trzeba poprawić

ale efekt końcowy jest częsciowy:

- przyciski na aplikacji Android działają odwrotnie tzn - przycisk po lewej stronie zamyka przełacznik ALE ikona zmienia się na stan ON, przycisk po prawej stronie otwiera przełącznik ALE ikona NIE zmienia się na ON.

Jak to poprawić?
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Mon Jul 08, 2019 11:50 am

Pytanie [jak to poprawić?] skierowane jest głównie do @pzygmunt ale liczę też na innych znawców kodu Supli.
User avatar
pzygmunt
Posts: 5999
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Mon Jul 08, 2019 3:50 pm

Wygląda na to, że przekombinowałeś. Wystarczyło w miejscu gdzie odczytujesz wartość bezpośrednio z GPIO dodać wykrzyknik. To samo w miejscu gdzie ustawiasz stan gpio.
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Mon Jul 08, 2019 4:48 pm

Masz na myśli to miejsce w kodzie?

gpio_value->value = hi == 0 ? 0 : 1;
gpio_set_value(port, gpio_value->value);
vcompl
Posts: 140
Joined: Mon Apr 11, 2016 1:32 pm

Mon Jul 08, 2019 5:36 pm

Dodam jeszcze, że w obecnym stanie (po mojej poprawce) sam przekażnik sterowany jest poprawnie

DEBUG[1562606940.802268] gpio_set_value port: 26, value: 0
DEBUG[1562606943.807507] gpio_set_value port: 26, value: 1

value 0 go włącza a 1 wyłącza

Nie wiem czy się dobrze zrozumieliśmy. Niepoprawnie zmieniają się ikony [akurat mam ustawiony wł/wył] w aplikacji Android

@pzygmunt - aby uniknąć dłuższej rozmowy tu na forum prośba o potwierdzenie linii kodu w których trzeba wprowadzić poprawki aby działał poprawnie w odwróconej logice przekaźnik i ikony w aplikacji mobilnej.
Post Reply