Sigrok - program obsługujący urządzenia pomiarowe

Oscyloskopy, multimetry, generatory, nie tylko z najwyższej półki
SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Sigrok - program obsługujący urządzenia pomiarowe

Postautor: SuperGość » poniedziałek 20 lis 2017, 06:27

Sigrok - do poczytania tu https://sigrok.org/wiki/Main_Page
warto zapoznać się - jeden soft a tyle możliwości supportu dla różnych urządzeń!
Zaznaczam nie próbowałem tego, znalazłem jako ciekawostkę.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: Antystatyczny » poniedziałek 20 lis 2017, 10:19

Całkiem ciekawy program. Widzę, że obsługuje i Brymeny, i Saleae...
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: j23 » poniedziałek 20 lis 2017, 19:21

Temat jest mi znany. Próbowałem konfirgurować Sigrok'a pod Debian i pod Rigol DS1054Z, ale ostatecznie nici z tego wyszły... Może Sigrok działa tylko z wybranymi modelami, a może ja -co jest bardziej prawdopodobne- jeszcze nie znam na tyle dobrze Debiana.

Edit1:
Ze strony dokumentacji programu Sigrok dla serii Rigol DS1000Z (a więc i w tym popularnego DS1054Z)wynika, że Rigol działa w oparciu o protokół USBTMC, który bazuje na komendach SCPI... Póki co mało mi to mówi, ale patrzę dalej o co chodzi z tym protokołem.. Tutaj pisze więcej: https://sigrok.org/wiki/USBTMC - innymi słowy wniosek jest taki, że plik konfigurujący ten protokół to jest kod języka C do skompilowania (a więc kompilacja w Debianie ze źródeł, pięknie... pięknie, bo dochodzą inne zależności/dependencies). Niektóre z tych zależności to są chyba pakiety tzw.backdoor packages, czyli w repozytorium Debiana mogą one być lekko przedawnione.. hmm... ALE ZNALAZŁEM CO innego:
https://github.com/Ell-i/ELL-i-PyBot-Tests/wiki/Sigrok-for-Saleae-Logic-Analyzer-and-Rigol-Oscilloscope
Spróbuję zainstalować wg tej metody i zobaczymy...

Edit2:
Do debiana jest taka to a taka instrukcja... (w trakcie sprawdzania):
https://sigrok.org/wiki/Linux

Edit3:
Podczas instalacji Sigrok na Debian/Jessie i386 (32 bit) wg tej powyższej instrukcji wszystko szło dobrze do etapu, gdzie trzeba skompilować pakiet libsigrok, a konkretnie po wydaniu komendy "make" jest taki efekt:

Kod: Zaznacz cały

~/libsigrok$ make
make  all-am
  GEN      bindings/java/sigrok-core.jar
bindings/java/org/sigrok/core/classes/ConfigKey.java:742: error: int cannot be dereferenced
    return new Variant(classesJNI.ConfigKey_parse_string__SWIG_0(value, dt.swigValue()), true);
                                                                          ^
1 error
Makefile:4151: polecenia dla obiektu 'bindings/java/sigrok-core.jar' nie powiodły się
make[1]: *** [bindings/java/sigrok-core.jar] Błąd 1
Makefile:1601: polecenia dla obiektu 'all' nie powiodły się
make: *** [all] Błąd 2

Co może być grane - nie wiem dokładnie. Przypuszczam, że może mieć to jakiś związek z bibliotekami Javy (inna wersja u mnie w systemie niż w opisywanej, pewnie nieco starszej instrukcji). Popatrzę nad tym jutro. Być może, że i zapytam gdzieś coś kogoś na innym forum. Dodam, że wszystkie biblioteki i pakiety (tj. te z instrukcji) są poinstalowane, została sama kompilacja źródeł i właśnie na libsigrok się to wywala... :(

Pozdrawiam! 73 j23
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: Antystatyczny » wtorek 21 lis 2017, 01:07

U mnie instalacja w Mint 18.2 przebiegła pomyślnie, ale jest problem ze współpracą z tanim analizatorem udającym Saleae. Oczywiście dodana jest reguła udev, by analizator mógł pracować jako non-root, działa poprawnie z innym softem, ale z Pulseview niestety nie chce działać. Niby jest wykrywany i próbuje być obsługiwany przez bibliotekę(?) fx2lafw, ale są jakieś problemy. Tak to wygląda:

Zrzut ekranu z 2017-11-21 00-59-36.png


A sam program pulseview uruchamia się poprawnie. Aha, w windows 10 pulseview działa poprawnie oraz współpracuje z klonem saleae.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
xor
User
User
Posty: 169
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: xor » wtorek 21 lis 2017, 09:44


Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: Antystatyczny » wtorek 21 lis 2017, 14:04

xor pisze:W obu przypadkach brakowało pliku fx2lafw-*.fw


No dobra, a skąd wziąć ten soft? U mnie na dysku tego raczej nie ma, a na stronach sigroka też tego nie widzę.

Edit:

Już sobie poradziłem. Należy użyć softu stąd: https://sigrok.org/wiki/Fx2lafw, a następnie zrestartować pulseview. Saleae śmiga aż miło.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: j23 » wtorek 21 lis 2017, 15:58

Antystatyczny pisze:
xor pisze:W obu przypadkach brakowało pliku fx2lafw-*.fw


No dobra, a skąd wziąć ten soft? (...)
To było podane w tym linku:
j23 pisze:(...)ALE ZNALAZŁEM CO innego:
[url]https://github.com/Ell-i/ELL-i-PyBot-Tests/wiki/Sigrok-for-Saleae-Logic-Analyzer-and-Rigol-Oscilloscope[/url]
(...)
No, ale okey.. W sumie wrażenie sprawiało jakby to tylko o Rigola chodziło... Na marginesie ten plik naprawia problemy występujące z Saleae i ich klonami, ale Rigol'a niestety nie.

Tymczasem jeśli chodzi o Rigola to ten błąd co był pozostał, tzn.: ^

Kod: Zaznacz cały

1 error
Makefile:4151: polecenia dla obiektu 'bindings/java/sigrok-core.jar' nie powiodły się
make[1]: *** [bindings/java/sigrok-core.jar] Błąd 1
Makefile:1601: polecenia dla obiektu 'all' nie powiodły się
make: *** [all] Błąd 2
Tylko, że to taka dziwna sprawa, bo to jest błąd podczas ręcznej kompilacji pakietu libsigrok (budowanie libsigrok ze źródeł, po wydaniu komendy make) i ten błąd jakby informuje, że nie widzi pliku sigrok-core.jar (a nie widzi, bo go po prostu twórcy w pakiecie nie umieścli.. -czemu? nie wiem).

No dobra, NATOMIAST nieco później korzystając z automatycznej instalacji pakietów za pomocą Synaptic Package Manager (akurat wolałem to robić w trybie graficznym, bo od razu widać, który pakiet jest, a który nie poinstalowany). No i wyszło, że pakiet libsigrok się JAKOŚ zainstalował - JAKOŚ podejrzanie bez kłopotu.
Reguła jest w /etc/udev/rules.d/ dodana wg instrukcji:
Install the udev rules file

These steps prevent the need to run libsigrok frontends as superuser. Copy the udev rules file from libsigrok/contrib/z60_libsigrok.rules to /etc/udev/rules.d/ (or where-ever your distribution stores udev rules files).

,czyli co trzeba jest u mnie wykonane, udev zrestartowany. Niby vendor i nr produktu powinien być w listingu portów akceptowalny, a jednak..

Przy konfiguracji takiej, że Rigol DS1054Z podłączony jest poprzez USB do PC'ta na którym siedzi Debian Jessie i386 (32bit), zalogowany jestem z konta użytkownika i wszystkie pakiety do sigroka (włącznie z pulseview są poinstalowane,
podczas odpalenia pulseview w trybie root'a dzieje się:

Kod: Zaznacz cały

# pulseview
Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
sr: serial: Error opening port (2): Nie ma takiego pliku ani katalogu.


Podczas odpalenia pulseview w trybie usera nic złego się nie dzieje, ale gdy chcę wybrać Rigola spośród dostępnych "device" z pulseview w konsoli pojawia się błąd:

Kod: Zaznacz cały

$ pulseview
sr: serial: Error opening port (2): Nie ma takiego pliku ani katalogu.

Wiem, ten sam błąd był wyżej, ale najwyraźniej pochodzi on z jakiegoś problemu otwarcia portu typu szeregowego (no wiadomo, usb działa jako port szeregowy).
Jeszcze zobaczę dziś na tą strony i posprawdzam:
1. https://sigrok.org/wiki/Building#Cannot_access_USB_.2F_serial_.2F_other_device
2. https://github.com/ralfstx/rigol-linux

73 j23
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
xor
User
User
Posty: 169
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: xor » wtorek 21 lis 2017, 17:19

Zobacz jak sigrok-cli reaguje na Twojego Rigola:

Kod: Zaznacz cały

sigrok-cli --scan

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Sigrok - program obsługujący urządzenia pomiarowe

Postautor: Antystatyczny » czwartek 23 lis 2017, 17:28

Jeszcze a propos Saleae: Zamiast pojedynczej reguły udev, warto wrzucić plik o takiej treści:

# Saleae Logic Analyzer
# This file should be installed to /etc/udev/rules.d so that you can access the Logic hardware without being root
#
# type this at the command prompt: sudo cp 99-SaleaeLogic.rules /etc/udev/rules.d

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1001", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1003", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1005", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1006", MODE="0666"


Opis instalacji jest w treści pliku, a on sam powinien nazywać się np. tak: 99-SaleaeLogic.rules

Gdyby coś nie chciało działać, można zrestartować udev poleceniem: sudo udevadm control --reload

Powyższy sposób zapewnia obsługę większej ilości urządzeń (oczywiście tej firmy) bez uprawnień root'a.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.


Wróć do „Przyrządy pomiarowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości