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?

2

Odp: Czy openwrt wspiera DS2408?

owfs powinien go obsłużyć.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Czy openwrt wspiera DS2408?

Sęk w tym, że go nie widzi.

4

Odp: Czy openwrt wspiera DS2408?

Może jakieś dodatkowe moduły? Nie jest potrzebny jakiś specjalny sterownik?

5

Odp: Czy openwrt wspiera DS2408?

A przez co go masz właściwie podłączonego?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Czy openwrt wspiera DS2408?

Przez USB -> RS232 -> 1-Wire.
Już działa. Błąd połączeń.
Przepraszam za fałszywy alarm i dzięki za pomoc.

7

Odp: Czy openwrt wspiera DS2408?

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ł?

8

Odp: Czy openwrt wspiera DS2408?

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?

9

Odp: Czy openwrt wspiera DS2408?

A zobacz changelogi owfs czy w ogóle coś zrobili w tym kierunku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Czy openwrt wspiera DS2408?

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)"

11

Odp: Czy openwrt wspiera DS2408?

Wersja sprzed miesiąca smile. Jakiego firmware właściwie używasz?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Czy openwrt wspiera DS2408?

Nie starsza smile

Gargoyle 1.5.6, Wersja Gargoyle: 9ffa4b1
Backfire 10.03.1, Wersja OpenWrt: r33081
Zbudowano: 2012-09-19 20:24 CEST

@RSPRO

13

Odp: Czy openwrt wspiera DS2408?

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

14

Odp: Czy openwrt wspiera DS2408?

U mnie w repo macie najnowszą dostępną wersję.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Czy openwrt wspiera DS2408?

Cezary napisał/a:

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

16

Odp: Czy openwrt wspiera DS2408?

Bo nie zainstalowałeś libow ode mnie, prawda?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Czy openwrt wspiera DS2408?

Zgadza się - już się poprawiłem smile

Niestety ta cała operacja nie poprawiła sytuacji - dalej nie mogę echem nic wpisać do PIO.ALL

18

Odp: Czy openwrt wspiera DS2408?

Więc pisz do developerów owfs.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: Czy openwrt wspiera DS2408?

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ą.

20

Odp: Czy openwrt wspiera DS2408?

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.

21

Odp: Czy openwrt wspiera DS2408?

Zwykle są dwie - uproszczona biblioteka libc lub źle napisany kod nieuwzględniający tego że procesor może mieć inną kolejność bitów.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22

Odp: Czy openwrt wspiera DS2408?

Co do biblioteki... a jest uproszczona? Pytanie drugie. Czy musi?

23 (edytowany przez florekk 2012-09-25 20:52:06)

Odp: Czy openwrt wspiera DS2408?

Ciekawe smile 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

24

Odp: Czy openwrt wspiera DS2408?

Ja pisałem o libc, w openwrt jest wykorzystywane uclibc. I tak musi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: Czy openwrt wspiera DS2408?

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. wink