Forum: Mikrocontroller und Digitale Elektronik Velleman k8055 unter Linux in Octave (MatLab-clon) integrieren


von Klaus E. (kleibo)


Lesenswert?

Hallo zusammmen,

die Welt der Mikrocontroller ist leider noch neu fuer mich und somit 
stehe ich auch direkt vor Problemen.

Ich hab ein Velleman k8055 USB Interface Board, welches ich unter Linux 
(Ubuntu 9.04) benutzen will und auch kann. Ich hab das k8055 Paket 
(http://libk8055.sourceforge.net/) runtergeladen und installiert. Ueber 
die Konsole kann ich nun auch das Board ansteuern. Nun will ich aber das 
nicht als seperates Programm in der Konsole nutzen sondern in Octave 
integrieren. Also, dass ich die Befehle in Octave anwenden kann und 
einfach in die m-scripts schreiben kann.
Leider fehlt mir da die Idee, ich weiss nicht wie ich das einbinden muss 
oder wie ich einen Link setzen soll, dass Octave die k8055-Befehle 
akzeptiert.
Wenn jemand eine Idee hat, waere mich echt geholfen. Danke.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Zur Mathlab Einbindung (unter Windows!) habe ich
http://www.mikrocontroller.net/articles/Benutzer:Stefan#Velleman_K8055_.2F_VM110_.2F_P8055

mal was gesehen:

http://hackhole.blogspot.com/2007/11/interface-velleman-k8055-usb-board-with.html

Die Einbindung funktioniert über den Mathlab Befehl calllib

Die Beschreibung von Octave ist hier
http://www.gnu.org/software/octave/

Leider ist die calllib Funktion noch unter MissingMatlabFunctions 
aufgeführt:

http://wiki.octave.org/wiki.pl?MissingMatlabFunctions

Es ist auch kein Plan für die Implementierung angegeben.

von Klaus E. (kleibo)


Lesenswert?

Hallo,

mmh, schade, die Seiten kannte ich schon - hatte ich schonmal 
"ergooglet".
Wenn ich das k8055 hab und es installiere, wo finde ich denn dann den 
Programmcode? Ist das der cpp file, der in der Downloaddatei ist? cpp 
file kann man ja einbinden, die Frage ist nur, wie und was so mit den 
Treibern passiert/gemacht werden muss. Und/oder welche Libraries ich in 
den Octave Suchpfad einbinden soll.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Unter LINUX hättest du zwei Aufgaben zu lösen, die unter Windows wie 
folgt gelöst sind:

1. Die Ansteuerung des K8055

Hier gibt es unter Windows eine DLL, die aus deinem Programm heraus 
aufgerufen werden kann. Wie das geschieht, ist in dem C, CPP und 
VisualBasic Beispielcode ersichtlich.

Unter Linux haben sich findige K8055 Besitzer hingesetzt und 
entsprechendes nachprogrammiert. Inwieweit die Nachprogrammierung und 
die originale Windows-DLL befehlskompatibel sind, weiss ich nicht.

2. Der Aufruf aus Mathlab heraus

Das Programm Mathlab hat eine Funktion calllib einkompiliert, d.h. im 
Programmcode eingebaut, und die kann fremden Programmcode wie die K8055 
Windows-DLL aufrufen. Der konkrete Aufruf der K8055 Funktionen wird dann 
in das sog. M-Script (der Mathlab-Skriptsprache) als calllib(...) 
Funktionsaufruf reingeschrieben.

Bei Octave unter Windows und Linux fehlt diese Funktion calllib! Hier 
müsste also im Octave-Quellcode noch Programmcode ergänzt werden. Das 
ist sicher keine Aufgabe für nebenbei oder für Anfänger. Man könnte sich 
höchstens vorstellen, mal in der Qctave-Developergruppe dieses Thema 
anzuschneiden und darauf zu hoffen, jemandem diese Herausforderung 
schmackhaft zu machen bzw. vorher zu recherchieren, wo die Probleme mit 
der calllib-Implementierung derzeit liegen.

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.