====== Verbessern des Tools Sigrok ======
Challenge: "Erstelle ein responsives GUI für für einen Open Source Logic Analyzer"
Bei der Hardware-Entwicklung ist es sinnvoll die digitalen Schnittstellen ausmessen zu können. dies ist mit einem [[https://wiki.mexle.org/doku.php?id=logic_analyzers|Logic Analyzer]] möglich. Diese Hardware nutzt dabei den PC oder mobilgeräde zur Darstellung der Signale. Dazu wird ein Darstellungs-Software wie Sigrok genutzt.
Das Tool [[https://sigrok.org/wiki/Main_Page|Sigrok]] ist auch auf Android verfügbar. Leider ist es nur schwer auf einem Mobiltelefon bedienbar.{{ :Sigrok_Android.jpg?300|}}
* kein klassisches Android UI (Fenster verdecken teilweise die Ansicht)
* Größen von Knöpfen, Icons, Pulldowns und Slider unangepasst (teilw. nur 2-3mm)
* Verschiedene Bedienelemente sind außerhalb des sichtbaren Bildschirms
Sinnvolle Vorkenntnisse: native Android Programmierung, GibHub
Tipps für die Entwicklungsumgebung:
* [[https://academy.realm.io/posts/kowalczyk-mobilization-combining-swift-kotlin-c-cpp/|Swift mit C]]
* [[https://developer.android.com/studio/projects/add-native-code|Add C and C++ code to your project]]
----
===== Installieren der Arbeitsumgebung =====
Das Aufsetzen der Entwicklungsumgebung ist unter folgendem Link beschrieben:
* https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/android/README
* https://sigrok.org/wiki/Android
pkg-config, doxygen, libboost sowie alle Pakete die im Readme (erster Link) beschrieben sind, müssen installiert werden.
Bei der bisherigen Versuch die Umgebung aufzusetzen, kam folgende Fehlermeldung:
-- Found LIBUSB: /home/pakoch/sr_android/lib/libusb-1.0.so
CMake Error at /usr/share/cmake-3.12/Modules/FindBoost.cmake:414
(string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments
total to
command.
Call Stack (most recent call first):
/usr/share/cmake-3.12/Modules/FindBoost.cmake:490
(_Boost_COMPILER_DUMPVERSION)
/usr/share/cmake-3.12/Modules/FindBoost.cmake:1430
(_Boost_GUESS_COMPILER_PREFIX)
CMakeLists.txt:30 (find_package)
-- Boost version: 1.58.0
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Not generating API documentation
fatal: Keine Namen gefunden, kann nichts beschreiben.
-- Detected git snapshot version: unknown
-- Not building libftdi1++
-- Not building python bindings
-- ftdi_eeprom build is disabled
-- libConfuse not found, won't build ftdi_eeprom
-- Not building example programs.
-- NOT building unit test
-- Configuring incomplete, errors occurred!
Die Rückmeldung des Autors war:
Hier ist etwas unklar wo genau der Fehler herkommt und bei welchem Softwarepaket (vermutlich libfti?).
Anyway, hier ist unser offizielles Build-Log zum Vergleich, das Android APK wird regelmäßig mittels Skript aus sigrok-util automatisch gebaut:
https://sigrok.org/jenkins/job/sigrok-cross-android/platform=cross-arm-linux-androideabi/167/consoleFull
Bitte für Detailfragen im #sigrok IRC Channel (FreeNode) fragen, da sind mehrere Leute die evtl. helfen können.
PulseView-Änderungen bitte auch mit Soeren Apel (abraxa im IRC) abklären, wenn möglich.