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

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

Post

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: 18486
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

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

Post

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?
User avatar
pzygmunt
Posts: 18486
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

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

Post

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

Post

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: 158
Joined: Mon Apr 11, 2016 1:32 pm

Post

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

Post

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: 158
Joined: Mon Apr 11, 2016 1:32 pm

Post

Masz na myśli to miejsce w kodzie?

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

Post

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.

Return to “FAQ / Jak to zrobić”