Temat: Czy openwrt wspiera DS2408?
Witam. Czy komuś udało się skomunikować z DS2408 po 1-Wire? Czy w ogóle OpenWRT wspiera ten układ?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Czy openwrt wspiera DS2408?
Zaloguj się lub zarejestruj by napisać odpowiedź
Witam. Czy komuś udało się skomunikować z DS2408 po 1-Wire? Czy w ogóle OpenWRT wspiera ten układ?
owfs powinien go obsłużyć.
Sęk w tym, że go nie widzi.
Może jakieś dodatkowe moduły? Nie jest potrzebny jakiś specjalny sterownik?
A przez co go masz właściwie podłączonego?
Przez USB -> RS232 -> 1-Wire.
Już działa. Błąd połączeń.
Przepraszam za fałszywy alarm i dzięki za pomoc.
Jednak nie do końca jest OK.
DS jest widziany ale nie zapisuje stanów na PIO. Może z tym problemem się ktoś spotkał?
Prawdopodobnie problem polega na tym, że DS wchodzi w stan "test mode", z którego go nie mogę wyprowadzić. Gdzieś pomiędzy wersją z repozytorium, a najnowszą wszedł FIX, który automatycznie wyprowadza tego typu DS'y z niepożądanego stanu.
Cezary, jak myślisz? Jest szansa na gotowy pakiet OWFS'a w najnowszej wersji od Ciebie?
A zobacz changelogi owfs czy w ogóle coś zrobili w tym kierunku.
Poniżej chengelog do wersji p18.
"Release notes
owfs suite
Version 2.8p18
Sept 16 2012
Features
1. Support for the HobbyBoards 4 channel hub
A. Part of family code "EF"
B. Allows individual branches to be included/excluded
C. Reports shorted branches
D. Documentation http://owfs.org/index.php?page=4-channel-hub
A. From Embedded Data Systems
2. Support for the EDS vibration sensor
A. Measures vibrarion http://www.embeddeddatasystems.com/OW-V … p_184.html
B. Optional relay control
C. Documentation at http://owfs.org/index.php?page=vibration-sensor
Fixes
1. Patch from Der Tiger for LCD screen buttons
2. Patch from Giulio Carabetta for owperl bug
3. Patch from Bruce K to fix writing to /settings and remote alias error
4. Patch for compilation error by Maxime Soule
5. Add "out of testmode" to DS2408 for Miklós Mezei
6. Fix for a python bug by Vyacheslav Kuzmin (armann7)"
Wersja sprzed miesiąca
. Jakiego firmware właściwie używasz?
Nie starsza ![]()
Gargoyle 1.5.6, Wersja Gargoyle: 9ffa4b1
Backfire 10.03.1, Wersja OpenWrt: r33081
Zbudowano: 2012-09-19 20:24 CEST
@RSPRO
Witam,
Właśnie przerabiam ten sam problem.
Przedwczoraj podpiąłem do sieci 1-wire (8 termometrów i jeden licznik, które działają bezbłędnie) DS2408 i mam ten sam problem.
OWFS go rozpoznaje i pokazuje stany, ale nie mogę ich zmienić.
Podpiąłem go pod WIN i tam na programie ONE WIRE VIEWER działa wszystko aż milo.
Pozdrawiam
Pablo79
U mnie w repo macie najnowszą dostępną wersję.
U mnie w repo macie najnowszą dostępną wersję.
Dzięki za update, niestety OWFS się nie chce uruchomić i wywala:
can't load library 'libow-2.8.so.19'
Pozdrawiam
Pablo79
Bo nie zainstalowałeś libow ode mnie, prawda?
Zgadza się - już się poprawiłem ![]()
Niestety ta cała operacja nie poprawiła sytuacji - dalej nie mogę echem nic wpisać do PIO.ALL
Więc pisz do developerów owfs.
Niestety potwierdzam. Nadal nie działa tak jak powinno.
W każdym razie wielkie dzięki Cezary za pomoc. Budowanie środowiska pod kompilacje jednego pakietu było by męką.
Gdzieś czytałem wątek, gdzie ktoś testował tą samą wersję OWFS'a na router'ze z OpenWRT i PC z Linux'em. Ponoć na Linux'ie działało, na OpenWRT nie. Ciekawe co może być przyczyną takiego stanu rzeczy.
Zwykle są dwie - uproszczona biblioteka libc lub źle napisany kod nieuwzględniający tego że procesor może mieć inną kolejność bitów.
Co do biblioteki... a jest uproszczona? Pytanie drugie. Czy musi?
Ciekawe
właśnie miałem o tym pisać.
Owfs z każdym switchem dallasa np ds2408, ds2413 działa połowicznie.
Kłopot jest z wartościami binarnymi. Czyli wpisanie 1 w PIO.A, PIO.B lub inne PIO.1 itd zeruje rejestr i na wyjsciach sa 0. i tak samo na portach sensed zawsze jest NO.
ale
działa PIO.byte. Jak w ds2408 wpisze się wartość 255 to na wszystkich wyjściach pojawią się stany niskie (czyli zwarcia)
wpisanie odpowiedniej wartości dziesiętnej powoduje ze można sterować wyjściami.
Podobie sensed.byte dziala tam jest poprawna wartosc oczytywana z rejestru chipu.
Jaki z tego wniosek. Podejrzewam ze na styku Openwrt-owfs jest jakas biblioteka ktora robi translacje bin do dec i ona nie dziala porawnie.
florekk
Ja pisałem o libc, w openwrt jest wykorzystywane uclibc. I tak musi.
Dzięki florekk. Masz oczywiście rację. Jak się okazuje bezużyteczne są wszystkie PIO.?. Nie można z nich ani odczytać stanu, ani do nich zapisać.
Obsługując DS'a jako np. 8 wyjść i chcąc programowo zmienić stan każdego/jednego z nich, trzeba najpierw odczytać stan wszystkich wyjść na podstawie sensed.BYTE, zanegować wynik, dodać 1 binarną dla danego wejścia (czyli odpowiednią wartość dziesiętną odpowiadającą 1 dla danego wejścia) do otrzymanej wartości i "wystawić" na PIO.BYTE.
Zgadza się?
Chyba, że masz inny sposób. ![]()
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Czy openwrt wspiera DS2408?
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc