Forum: Projekte & Code SmuView 0.0.4 veröffentlicht


von Frank S. (knarfs)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.

Nach 10 Monaten ist endlich Version 0.0.4 vom SmuView veröffentlicht 
worden:

https://github.com/knarfS/smuview/releases/tag/v0.0.4

SmuView ist eine GUI, welche die sigrok Library verwendet und es
ermöglicht Netzteile, elektronische Lasten, Multimeter, LCR Meter,
Waagen, usw. zu steuern und Daten zu erfassen.

Die größte Neuerung ist ein integrierter Python-Interpreter, so dass 
komplexe Mess- und Steueraufgabengen gescriptet werden können.

Auch gibt es jetzt endlich ein Handbuch, welches einen recht guten 
Überblick über die Features von SmuView bietet: 
https://knarfs.github.io/doc/smuview/0.0.4/manual.html

Viel Spaß beim Testen und ich freue mich auf Rückmeldungen von euch!

Viele Grüße
Frank

von Carl D. (jcw2)


Lesenswert?

Auf welcher Distribution entwickelst du?
Ich frage, weil es mir bisher nie gelang den aktuellen Entwicklungsstand 
zu übersetzen. Es wird offenbar immer die Qt-Version der Ubuntu 18.04 
benutzt und ich hab keine Ahnung wie ich das auf die mit dem QtCreator 
installierte "ummappen" kann.
Den Wechsel auf >=C++14 hab ich schon hinbekommen (per 
cmake-CommandLine).
Der letzte Buildversuch (vor 3..4 Tagen) hatte als letztes Problem 
unlinkbare "Qt-5.10"-Referenz, also falsche Qt-Version.

von Frank S. (knarfs)


Lesenswert?

Hallo carl,

ich entwickle unter Debian testing (Qt 5.12.5), minimale Qt Version ist 
5.7, das sollte also nicht das Problem sein...

Wenn du eine komplette Fehlermeldung postet (am besten hier: 
https://github.com/knarfS/smuview/issues), dann kann ich evtl. mehr 
sagen.

Viele Grüße
Frank

von Carl D. (jcw2)


Lesenswert?

Frank S. schrieb:
> Hallo carl,
>
> ich entwickle unter Debian testing (Qt 5.12.5), minimale Qt Version ist
> 5.7, das sollte also nicht das Problem sein...
>
> Wenn du eine komplette Fehlermeldung postet (am besten hier:
> https://github.com/knarfS/smuview/issues), dann kann ich evtl. mehr
> sagen.
>
> Viele Grüße
> Frank

Ich hab ein issue aufgemacht, das aber eventuell wieder verschwinden 
wird.

Ich kämpfe mich gerade durch ein Build via QtCreator (das ich schon 
früher mal probiert hatte, aber heute erst wirklich funktionierte),
Ein Problem konnte ich lokalisieren:
Bitte in des CMakeLists.txt folgendes aufnehmen (in pseudopatch):

include(GNUInstallDirs)
+
+set(CMAKE_CXX_STANDARD 14)
+
project(smuview)

Andernfalls glaubt bei mir cmake "-std=gnu++11" mitzugeben, was für 
manche lambdas nicht ausreicht.

weiteres später, das Teil compiliert dermaßen langsam ;-)

...
...
...
...

(Minuten später)

Ok, mit obigem Zusatz bekomme ich es im QtCreator gelinkt.

Werde issue wieder schließen.

Edit:
zu früh gefreut, zur Laufzeit kommt Fehler:
Cannot mix incompatible Qt library (version 0x50905) with this library 
(version 0x50a01)

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Carl, warum möchtest Du es im QtCreator bauen? Kannst Du es nicht 
einfach nativ unter Deiner Distribution bauen?

von Carl D. (jcw2)


Lesenswert?

Gerd E. schrieb:
> Carl, warum möchtest Du es im QtCreator bauen? Kannst Du es nicht
> einfach nativ unter Deiner Distribution bauen?

Das mache ich per Script für die sigrok Komponenten. Nur hat das für 
SmuView bisher nie funktioniert.
Nach den Versuchen gestern hab ich zumindest das Problem "C++14" im 
Griff. Bei mir geht cmake standardmäßig von C++11, was mit ich mit einem 
einzeiligen Patch erledigen konnte.
Nächstes Problem war die Qt-Version, mein System benutzt 5.9, ein 
Upgrade scheint nicht wirklich möglich (ich warte auf LTS 19.nn), 
QtCreator erlaubte es aber Programme mit Qt-5.13++ zu schreiben, daher 
mein Versuch. Klappt aber auch nicht, weil manche Qt-Komponenten nicht 
im 5.13-Umfeld vorliegen, sondern aus den 5.9-.so geladen werden.
Insgesamt ist es aber so, daß ich sigrok öfter benutze, aber für SmuView 
noch keine Anwendung habe. Ich hab es einfach in mein 
git-pull-(c)make-Script aufgenommen. Und noch hat SmuView 
build-technisch nicht die Problemlosigkeit der sigrok-Komponenten 
erreicht. Ist ja auch nicht schlimm. Sowas braucht eben Zeit und Leute, 
die es auf anderen Distris und ohne zu viel Involviertheit probieren und 
Feedback liefern.

von Frank S. (knarfs)


Lesenswert?

Hallo Carl,

ich habe dir schon auf github geantwortet, aber zur Sicherheit nochmal 
hier :)

SmuView benötigt nur C++11. Vor 2-3 Wochen war mal ein Stückchen C++14 
Code drin, das ist aber seit 11 Tagen wieder gefixt. Aktualisiere mal 
dein Repository.
Ich werde in der CMakeLists.txt noch den C++ Standard explizit auf 11 
setzten, dann fällt mir so etwas sofort auf.
Dein Patch sollte also nicht mehr notwendig sein, wenn doch wäre 
interessant welcher Teil noch C++14 ist.

Zu deinem Qt-Versions-Problem:
Du kompilierst und links mit Qt 5.10.1 aber beim Ausführen will das 
Binary dein Ubuntu Qt 5.9.5 verwenden. Das kann nicht funktionieren, da 
5.10.x nicht binär kompatibel mit 5.9.x ist.

Ich würde dir empfehlen SmuView wie hier beschrieben zu bauen:
https://sigrok.org/wiki/Building#SmuView
https://sigrok.org/wiki/Linux#libserialport
https://sigrok.org/wiki/Linux#libsigrok
https://sigrok.org/wiki/Linux#SmuView
Oder in meinem smuview-Branch der sigrok-utils das 
All-In-One-Build-Script:
https://github.com/knarfS/sigrok-util/blob/smuview/cross-compile/linux/sigrok-cross-linux-smuview

Wenn du mit einer alternativen Qt Version kompilierst/links, muss beim 
Ausführen in LD_LIBRARY_PATH der Pfad zu den alternativen Qt 
Bibliotheken enthalten sein.
Hier gibt es übrigens ein PPA mit neueren Qt Versionen u.A. für 18.04: 
https://launchpad.net/~beineri

von Frank S. (knarfs)


Lesenswert?

Ein kurzes Update zur Version 0.0.4:

Dank Christian F. (User feuerwerk hier im Forum) ist SmuView jetzt auch 
für macOS >= 10.11 (El Capitan) verfügbar:
https://github.com/knarfS/smuview/releases/tag/v0.0.4

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.