Hallo
Ich hab es nun endlich geschafft wieder eine Baustelle anzufangen, von der ich im Grunde genommen nicht viel Ahnung habe, die mir schlaflose Nächte bereitet und vor allem tausende neue Folgeprojekte mit sich bringt mit ähnlichen Eigenschaften.
Dabei ist mein Ziel, mir so viele Custom Panels für meinen geliebten Flugsimulator X-Plane zu bauen wie es mit meine Möglichkeiten zulassen (wie ich vor allem bei professionellen Herstellern sehen kann sind die Möglichkeiten nahezu unbegrenzt.)
Nachdem ich einige Knöpfe an einer modifizierten Tastatur festgelötet hatte, habe ich meine Ersten „Hardwarebau“-Erfahrungen mit dem LPT-Switch gemacht. (mehr Infos über dieses Projekt gibt’s hier
x-plane.de/forums/index.php?showtopic=1245&hl=lpt-switch)
Danach bin ich auf ein etwas komplexeres Projekt eines X-Plan-Kollegen gestossen, welches ich dank seiner Grosszügigkeit nun mein eigen nennen kann. Es arbeitet mit einem ATMEL Chip, einer USB Schnittstelle und hat
ein LCD Display (mehr Infos zu diesem Projekt gibt’s hier
x-plane.de/forums/index.php?showtopic=106)
Diese Architektur war dann auch der Grund warum ich auf dem Forum von mikrocontroller.net gelandet bin. Ich habe mich ein bisschen in das AVR-Tutorial eingelesen und
mir in einem Kaufrausch auch gleich das STK500 von ATMEL zugelegt(Welches bis jetzt noch unberührt in der Verpackung liegt). Des Weiteren bin ich auf das K8085 USB Experimentier Interface gestossen (Bausatz) welches ich für eine gute Übung um Löterfahrung zu sammeln hielt. Dies habe ich dann auch nach 6 Stunden Arbeit und ohne grosse Zwischenfälle zum Laufen gekriegt (wie mir die Demo Software deutlich beweist).
Meine Grundlagen:
Programmieren ist für mich kein Neuland (Ich arbeite mit PHP und JAVA) privat habe ich wenige Erfahrungen mit c++ gesammelt (dies vor allem im Bezug auf den Plugin-SDK von X-Plane) welche ich auch gerne noch weiter ausbauen würde. Des Weiteren bin ich auf Assembler gestossen (was mich vor allem im weiteren Verlauf beim AVR-Tutorial erwartet).
Dieser Beitrag wurde auf MAC OS-X geschrieben was ich auch als meine Hauptplattform bezeichnen kann, obwohl ich nebenbei noch eine Windows Mühle als Ausweich-Variante stehen habe. Ich verfüge über X-Code, wo ich auch schon meine ersten kleinen C++ Programme (vor allem commandline Tools oder plugins für x-plane) mit erfolg kompiliert habe.
Um auch gleich mit meinem ersten Beitrag auf meine erste Frage zu kommen. Gerne würde ich noch etwas mit dem K8055 herumspielen, bin aber dabei bereits auf die ersten Hürden gestossen. Ich habe mit folgendem kleinen Tutorial begonnen um zu sehen, ob ich die Karte überhaupt ansprechen kann. roboternetz.de/phpBB2/viewtopic.php?t=8429
leider habe ich die in diesem Tutorial beschriebenen .lib Datei nicht gefunden. Ich habe dann mit dem Header und der Lib Datei von der Velleman Seite probiert den Code in X-Code zu kompilieren. Leider ohne erfolg. Beim suchen bin ich dann auf folgende zwei Projekt gestossen, welche die Lösung für mein Problem sein könnten. sourceforge.net/projects/k8055mac/
sourceforge.net/projects/k8055usbosx
Beide Projekte lassen sich bei mir hervorragend kompilieren und funktionieren auch. Das Zweite benötigt jedoch noch die k8055.kext, di ich hier gefunden habe. soft.pmad.net/k8055/ (wenn ich diese installiert habe Funktioniert das erste Projekt nicht mehr) unter soft.pmad.net/k8055/ habe ich ein weiteres Commandline Projekt für das k8055 gefunden (was bei mir ebenfalls funktioniert).
Mit dem den Headern und der k8055.cpp des zweiten oben genannten Projektes habe ich dann versucht den folgenden Code zu kompilieren (was auch funktioniert hat):
include <k8055.h> //muss sich im Projektverzeichniss befinden
#pragma comment (lib, "K8055D_C.lib") //muss sich im Projektverzeichniss
befinden
#include <iostream> //wichtige include für standard ein- und ausgabe in
der Konsole
using namespace std; //muss sein macht die sache einfacher von cout
u.s.w.
int main ()
{
k8055 *dev = new k8055;
dev->OpenDevice(0); // Karte mit der Adresse 0 öffnen
long a;
// die Schleife wird solange bearbeitet wie der Anlogwert größer 1
do{
a=dev->ReadAnalogChannel(1); // Lese analogwert von Eingang 1
cout << a << endl; // gebe Wert in der Konsole aus
dev->WriteAllDigital(a); // gebe Wert am Digitalausgang aus
}while (a > 1); // solange wiederholen wie anawert größer 1
dev->ClearAllDigital(); //alle Ausgänge auf 0
dev->CloseDevice(); // Karte schließen
cout<<"das ist mein text"<<endl;
return 0;
}
(Eine etwas modifizierte Variante des weiter oben beschriebenen Tutorials)
Wenn das Programm allerdings laufen lassen will, erhalte ich folgenden Fehler:
ZeroLink: unknown symbol '___CFConstantStringClassReference'
CPTEST has exited due to signal 6 (SIGABRT).
Ich habe in der Readme von der besagten Mac Version folgendes gefunden:
- k8055.cpp
- C++ static library that should replicate most functions listed in the Windows .DLL companion guide for the Velleman K8055 USB Experimenter.
Kann das etwas damit zutun haben? wie muss ich die .cc datei in mein Projekt integrieren?
Und seit bitte nicht überrascht oder genervt, wenn dies nicht meine
erste Anfängerfrage bleibt.
Mit besten Grüssen
Sascha
Ich hab es nun endlich geschafft wieder eine Baustelle anzufangen, von der ich im Grunde genommen nicht viel Ahnung habe, die mir schlaflose Nächte bereitet und vor allem tausende neue Folgeprojekte mit sich bringt mit ähnlichen Eigenschaften.
Dabei ist mein Ziel, mir so viele Custom Panels für meinen geliebten Flugsimulator X-Plane zu bauen wie es mit meine Möglichkeiten zulassen (wie ich vor allem bei professionellen Herstellern sehen kann sind die Möglichkeiten nahezu unbegrenzt.)
Nachdem ich einige Knöpfe an einer modifizierten Tastatur festgelötet hatte, habe ich meine Ersten „Hardwarebau“-Erfahrungen mit dem LPT-Switch gemacht. (mehr Infos über dieses Projekt gibt’s hier
x-plane.de/forums/index.php?showtopic=1245&hl=lpt-switch)
Danach bin ich auf ein etwas komplexeres Projekt eines X-Plan-Kollegen gestossen, welches ich dank seiner Grosszügigkeit nun mein eigen nennen kann. Es arbeitet mit einem ATMEL Chip, einer USB Schnittstelle und hat
ein LCD Display (mehr Infos zu diesem Projekt gibt’s hier
x-plane.de/forums/index.php?showtopic=106)
Diese Architektur war dann auch der Grund warum ich auf dem Forum von mikrocontroller.net gelandet bin. Ich habe mich ein bisschen in das AVR-Tutorial eingelesen und
mir in einem Kaufrausch auch gleich das STK500 von ATMEL zugelegt(Welches bis jetzt noch unberührt in der Verpackung liegt). Des Weiteren bin ich auf das K8085 USB Experimentier Interface gestossen (Bausatz) welches ich für eine gute Übung um Löterfahrung zu sammeln hielt. Dies habe ich dann auch nach 6 Stunden Arbeit und ohne grosse Zwischenfälle zum Laufen gekriegt (wie mir die Demo Software deutlich beweist).
Meine Grundlagen:
Programmieren ist für mich kein Neuland (Ich arbeite mit PHP und JAVA) privat habe ich wenige Erfahrungen mit c++ gesammelt (dies vor allem im Bezug auf den Plugin-SDK von X-Plane) welche ich auch gerne noch weiter ausbauen würde. Des Weiteren bin ich auf Assembler gestossen (was mich vor allem im weiteren Verlauf beim AVR-Tutorial erwartet).
Dieser Beitrag wurde auf MAC OS-X geschrieben was ich auch als meine Hauptplattform bezeichnen kann, obwohl ich nebenbei noch eine Windows Mühle als Ausweich-Variante stehen habe. Ich verfüge über X-Code, wo ich auch schon meine ersten kleinen C++ Programme (vor allem commandline Tools oder plugins für x-plane) mit erfolg kompiliert habe.
Um auch gleich mit meinem ersten Beitrag auf meine erste Frage zu kommen. Gerne würde ich noch etwas mit dem K8055 herumspielen, bin aber dabei bereits auf die ersten Hürden gestossen. Ich habe mit folgendem kleinen Tutorial begonnen um zu sehen, ob ich die Karte überhaupt ansprechen kann. roboternetz.de/phpBB2/viewtopic.php?t=8429
leider habe ich die in diesem Tutorial beschriebenen .lib Datei nicht gefunden. Ich habe dann mit dem Header und der Lib Datei von der Velleman Seite probiert den Code in X-Code zu kompilieren. Leider ohne erfolg. Beim suchen bin ich dann auf folgende zwei Projekt gestossen, welche die Lösung für mein Problem sein könnten. sourceforge.net/projects/k8055mac/
sourceforge.net/projects/k8055usbosx
Beide Projekte lassen sich bei mir hervorragend kompilieren und funktionieren auch. Das Zweite benötigt jedoch noch die k8055.kext, di ich hier gefunden habe. soft.pmad.net/k8055/ (wenn ich diese installiert habe Funktioniert das erste Projekt nicht mehr) unter soft.pmad.net/k8055/ habe ich ein weiteres Commandline Projekt für das k8055 gefunden (was bei mir ebenfalls funktioniert).
Mit dem den Headern und der k8055.cpp des zweiten oben genannten Projektes habe ich dann versucht den folgenden Code zu kompilieren (was auch funktioniert hat):
include <k8055.h> //muss sich im Projektverzeichniss befinden
#pragma comment (lib, "K8055D_C.lib") //muss sich im Projektverzeichniss
befinden
#include <iostream> //wichtige include für standard ein- und ausgabe in
der Konsole
using namespace std; //muss sein macht die sache einfacher von cout
u.s.w.
int main ()
{
k8055 *dev = new k8055;
dev->OpenDevice(0); // Karte mit der Adresse 0 öffnen
long a;
// die Schleife wird solange bearbeitet wie der Anlogwert größer 1
do{
a=dev->ReadAnalogChannel(1); // Lese analogwert von Eingang 1
cout << a << endl; // gebe Wert in der Konsole aus
dev->WriteAllDigital(a); // gebe Wert am Digitalausgang aus
}while (a > 1); // solange wiederholen wie anawert größer 1
dev->ClearAllDigital(); //alle Ausgänge auf 0
dev->CloseDevice(); // Karte schließen
cout<<"das ist mein text"<<endl;
return 0;
}
(Eine etwas modifizierte Variante des weiter oben beschriebenen Tutorials)
Wenn das Programm allerdings laufen lassen will, erhalte ich folgenden Fehler:
ZeroLink: unknown symbol '___CFConstantStringClassReference'
CPTEST has exited due to signal 6 (SIGABRT).
Ich habe in der Readme von der besagten Mac Version folgendes gefunden:
- k8055.cpp
- C++ static library that should replicate most functions listed in the Windows .DLL companion guide for the Velleman K8055 USB Experimenter.
Kann das etwas damit zutun haben? wie muss ich die .cc datei in mein Projekt integrieren?
Und seit bitte nicht überrascht oder genervt, wenn dies nicht meine
erste Anfängerfrage bleibt.
Mit besten Grüssen
Sascha
