Virtual uC Controlpanel
von Themroc (Diskussion) 01:18, 16. Dez. 2013 (CET)
Einleitung
Ein Generator für virtuelle Frontplatten zur uC-Fernsteuerung über eine serielle Verbindung.
- Schnittstellen: Aktuell UART oder UDP/IP, später gern auch USB/Wlan/whatever
- Multiplatform: Läuft auf Linux und Windows (und theoretisch auch auf Mac, das ist aber noch ungetestet)
- Mehrsprachig: Kleine Anpassungsroutinen können in allen Sprachen programmiert werden, für die GTK-Bindings verfügbar sind. Aktuell natürlich C (und C++), perl ist in Arbeit und einfach möglich sind z.B. python, lua, java, ruby, ... Siehe http://www.gtk.org/language-bindings.php.
Software
Das System besteht aus einer Library ("libvuc") und einem GUI-Editor ("vuc-glXXX"). Mit letzterem lassen per Mausschubserei die GUI-Elemente (auch "Widgets" genannt) platzieren und konfigurieren.
Als Ergebnis schreibt der Editor per Druck auf den "Create"-Knopf eine Source-Code-Datei (plus Makefile) in der gewählten Sprache auf die Platte. Die daraus kompilierte Anwendung kommuniziert mithilfe der Library mit dem uC, stellt Werte von diesem auf dem Schirm dar und übermittelt Bedienungsvorgänge mit den diverse Widgets. Dabei ist das VUC-Protokoll in der Lage, Übertragungsfehler zu erkennen und das betreffende Paket erneut anzufordern. Das lässt sich aber auch abschalten um den Overhead zu minimieren, etwa bei sehr guten seriellen Leitungen und/oder niedrigen Baudraten sowie bei bereits gesicherten Transportmechanismen wie TCP/IP oder (Hardware-)USB.
Downloads
Erstmal hier: http://www.mikrocontroller.net/topic/312841#3453639 vuc-0.0.8 (eventuell nachgucken ob es weiter unten noch eine neuere version gibt...)
Installation
Linux
Auf Debian/Ubuntu (und ähnlichen) reicht vermutlich ein
apt-get install avr-libc avrdude gcc autoconf automake binutils intltool make libtool pkg-config libgtk2.0-dev libxml2-dev
Dann wie üblich auspacken,
cd vuc-0.0.8 ./configure --prefix=/opt/vuc make make install cd ../vuc-gl384-0.0.8 ./configure --disable-gtk-doc --disable-gnome --disable-python --disable-scrollkeeper --prefix=/opt/vuc PKG_CONFIG_PATH=/opt/vuc/lib/pkgconfig make make install cd ..
und starten mit
/opt/vuc/bin/vuc-gl384
Windows
mit MinGW
- Lesen: http://www.mingw.org/wiki/Getting_Started
- MinGW wie beschrieben installieren. Im "MinGW Installation Manager" reichen vermutlich unter "Basic Setup" die Optionen mingw-developer-toolkit, mingw32-base und msys-base, da hab ich nicht mehr im Kopf, welche ich da anknipsen musste... Es sollten aber unter "All Packages" mindestens mingw32-binutils, mingw32-gcc, mingw32-gcc-g++, mingw32-xz, msys-libiconv, msys-make und msys-tar an sein.
- C:\MinGW\bin;C:\vuc\bin;C:\vuc\gtk2\bin;C:\Programme\7-Zip; dem Suchpfad voranstellen
- Neue Umgebungsvariable PKG_CONFIG_PATH erzeugen und auf C:\vuc\lib\pkgconfig setzen
- Ordner C:\vuc\src und C:\vuc\gtk2 anlegen
- Runterladen und installieren: http://www.7-zip.org/
- Hier http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/ ein schönes GTK runterladen. Wer verschärften Wert auf Optik legt, sollte vlt. besser erstmal die 2.22 nehmen, ansonsten halt die neueste 2.24. Gefragt ist jeweils das gtk+-bundle_XXXX-YYYY_win32.zip. Auspacken in den Ordner C:\vuc\gtk2.
- vuc-x.y.z.tar.xz und vuc-gl384-x.y.z.tar.xz runterladen und in C:\vuc\src speichern (x.y.z ist aktuell 0.0.8 und hier zu finden).
- Doppelclick auf C:\MinGW\msys\1.0\msys.bat
- Da reinkopieren:
Damit müsste das buildsystem stehen.
export CFLAGS="-Wno-unused-variable -Wno-pointer-sign -Wno-pedantic"
cd /c/vuc/src
wget http://kent.dl.sourceforge.net/project/gtk-mingw/intltool/intltool-0.50.2-binwin32.7z
7z x intltool-0.50.2-binwin32.7z
( cd intltool-0.50.2-binwin32; find . -type f -printf "mkdir -p /%h; mv %p /%h\n" | /bin/sh )
rm -rf intltool-0.50.2-binwin32*
wget http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz
tar -xaf libxml2-2.7.8.tar.gz
rm -f libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/c/vuc --without-http --without-push --without-python --without-regexps --without-run-debug --without-schematron --without-modules
make
make install
cd - - Jetzt noch schnell VUC installieren:
cd /c/vuc/src
tar -xaf vuc-0.0.8.tar.xz
tar -xaf vuc-gl384-0.0.8.tar.xz
cd vuc-0.0.8
./configure --prefix=/c/vuc
make
make install
cd ../vuc-gl384-0.0.8
./configure --prefix=/c/vuc --enable-debug --disable-gtk-doc --disable-gnome --disable-python --disable-scrollkeeper
make
make install
cd - - ... und starten mit C:\vuc\bin\vuc-gl384.
mit Cygwin
Theoretisch sollte es auch mit cygwin gehen. Auf meinem XP hab ichs damit auch kompiliert gekriegt, aber beim starten musste ich leider feststellen, das X11 da nicht tut... Wers trotzdem wagen will, fängt wohl am besten so an:
- Downloaden und starten:
- Für 32 bit-systeme: http://cygwin.com/setup-x86.exe
- 64 bit: http://cygwin.com/setup-x86_64.exe
- Lesen: http://www.mathematik.uni-dortmund.de/material/SS11/010550/84178240.pdf
- Im cygwin-installer nicht nur wie im obigen PDF beschrieben gcc-core, sondern auch noch autoconf, automake, binutils, intltool, make, libtool und pkg-config installieren. Und aus der Rubrik Libs die Pakete libgtk2.0-devel und libxml2-devel.
Ob cygwin ein geeignetes intltool und libxml2 hat, weiss ich nicht. Im Zweifelsfall einfach ähnlich wie bei MinGW Punkt 3 weitermachen.
MAC
Vermutlich ähnlich wie bei Linux... Weiss das jemand?