Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme: Basic-Stamp2-Compiler (bstamp) & Linux
betr: probleme: Basic-Stamp2-Compiler (bstamp) & Linux
hi leute,
da ich mich mit den BasicStamps von Parallax beschaeftige,
fand ich amerikanischen Linux-Journal(Jan.2005 issue 129)
einen hinweis, dass man auch mit linux basicStamps2 programmieren
kann:
unter: www.linuxjournal.com/article/7741
fand ich = bstamp-2004.05.15
vielleicht hat schon von euch, erfahrungen damit????
installation auszug aus readme.txt:
" the following commands will allow you to install the bstamp utilities:
Extract the bstamp program source code to a directory, and move into
directory.
> make clean
> make
> cp bstamp_run /usr/local/bin
> cp bstamp_tokenizer /usr/local/bin
> cp tokenizer.so /usr/local/lib/libbstamptokenizer.so
das ging alles glatt
das compilieren der source gemaes readme.txt:
also
1 - First, create a program for your BASIC Stamp using the PBASIC language.
2 - Save the PBASIC code as an plain ASCII text file. (e.g., "hello.bs2")
3 - run the "bstamp_tokenize" program on the PBASIC code.
bstamp_tokenize hello.bs2 hello.tok
== libbstamptokenizer.so: cannot open shared object file:
No such file or directory: Success
PBASIC Tokenizer Library version 1.16
ein *.tok-file wurde erzeugt
4 - bstamp_run hello.tok
Error: No BASIC Stamp identified!
Probably the stamp isn't connected, perhaps your stamp version isn't supported?
Try looking at the help, try 'bstamp_run -h' for more information.
jetzt faengt das problem an:
bei der installation wird im readme.txt
folgendes vorgeschlagen:
zitat: if necessary, make the com1 serial port
> MAKEDEV /dev/ttyS0
Then you must make a symbolic link to the proper serial port.
This can be done with:
> ln -s /dev/ttyS0 /dev/bstamp
Das "MAKEDEV" geht bei mir (Suse 9.1. prof) eindeutig nicht.
und das device bstamp ist bei mir leer?????
da sollte vermutlich mit makedev ein device namens bstamp
erzeugt werden.
frage: wie kann ich dieses device erzeugen.
in den mailinglisten ist wohl ein problem mit "Error: No BASIC Stamp identified!"
vorhanden, es bezieht sich meiner meinung aber nur darauf, dass nur BS2-controller
erkannt werden...
waere um jede hilfe und jede erfahrung dankbar,
mfg nomad
...wo fängt man an, und wann darf man aufhören?
Aus Deinen Infos ist nur schwer schlau zu werden.
Ich nehme an, Du zitierst hier die README
und mischst die Fehlermeldungen, die Du bekommst
darunter.
MAKEDEV mußt Du ganz bestimmt nicht machen.
und was heißt:
"und das device bstamp ist bei mir leer?????"
"bstamp" ist kein device, sondern nur ein
symbolischer Link auf das sicher vorhandene device ttyS0
Den machst Du genau wie es da steht:
> ln -s /dev/ttyS0 /dev/bstamp
Ich weiß nicht, wie viele Serielle aus Deinem Rechner
noch rausgucken, vielleicht hast Du ja Deine Stamp
auch an die Zweite gehängt.
Dann muß es natürlich heißen:
> ln -s /dev/ttyS1 /dev/bstamp
Vielleicht lügen auch die Fehlermeldungen.
ist die hello.tok überhaupt vorhanden?
und wenn, ist da was drin (>0)?
waren die Abhängigkeiten beim kompilieren
erfüllt (Compilerwarnungen)
Sind die seriellen Schnittstellen in Deiner Distri überhaupt
zugänglich?
Mußt Du Baudraten und Protokollparmeter (z.B 8,N,1) einstellen?
hi
vielen dank fuer deine antwort,
zu deinen fragen:
"und das device bstamp ist bei mir leer?????"
"bstamp" ist kein device, sondern nur ein
symbolischer Link auf das sicher vorhandene device ttyS0
Den machst Du genau wie es da steht:
> ln -s /dev/ttyS0 /dev/bstamp
== ok das hab ich verstanden:
QUOTE:
Ich weiß nicht, wie viele Serielle aus Deinem Rechner
== insgesamt 5
haengt aber an ttyS0
da ich mit einem seriellen C-pgm sehrwohl den output des basicstamps bekomm.
QUOTE.
Vielleicht lügen auch die Fehlermeldungen.
ist die hello.tok überhaupt vorhanden?
und wenn, ist da was drin (>0)?
== ist ok
QUOTE:
waren die Abhängigkeiten beim kompilieren
erfüllt (Compilerwarnungen)
== # make
g++ -c -o bstamp_tokenize.o bstamp_tokenize.cpp
g++ -Wall bstamp_tokenize.o -o bstamp_tokenize -ldl
g++ -c -o bstamp_run.o bstamp_run.cpp
bstamp_run.cpp:3:1: warning: "_GNU_SOURCE" redefined
<command line>:4:1: warning: this is the location of the previous definition
g++ -Wall bstamp_run.o -o bstamp_run
== erstellen des .tok-files
bstamp_tokenize hello.bs2 hello.tok
PBASIC Tokenizer Library version 1.16
dann der fehler:
bstamp_run hello.tok
Error: No BASIC Stamp identified!
Probably the stamp isn't connected,
perhaps your stamp version isn't supported?
Try looking at the help,
QUOE:
Sind die seriellen Schnittstellen in Deiner Distri überhaupt
zugänglich?
== JA
QUOTE:
Mußt Du Baudraten und Protokollparmeter (z.B 8,N,1) einstellen?
== alles ok
weitere tips???
hab keine ahnung was ich als naechstes tun soll??
mfg nomad
derguteweka
22.12.04, 12:59
Moin,
3 - run the "bstamp_tokenize" program on the PBASIC code.
bstamp_tokenize hello.bs2 hello.tok
== libbstamptokenizer.so: cannot open shared object file:
No such file or directory: Success
PBASIC Tokenizer Library version 1.16
ein *.tok-file wurde erzeugt
Gegen den Fehler, wuerd' ich sagen, koennt' ein als root ausgefuehrtes "ldconfig" helfen.
Dann nochmal versuchen. Das MAKEDEV brauchst du nicht; jeder - insbesondere du :) hat den /dev/ttyS0 device node.
Gruss
WK
Erstmal: 5 x RS232 ?????
Is das 'n spezielles Board, oder hast Du 'ne zusätzliche serielle Karte drin?
Reden wir über die gleiche Schnittstelle?
An "ldconfig" hatte ich auch gedacht,
Nur werden die "shared Library Links" mit dem
nächsten Neustart doch sowieso ge-"updated".
Soll meinen:
Der Pfad zur Bibliothek muß dem Programm bekannt sein.
Wenn Du die Bibliothek per Hand in den lib- Ordner verschiebst,
kann es sein, daß das Programm nicht weiß, wo es seine Bibliothek findet.
allerdings nur bis zum nächsten Neustart,
Den Job "ldconfig" kannst Du natürlich auch per Hand ausführen.
Baudraten und Parameter für die Serielle stellt man mit dem Kommando
"stty" ein, hab ich auch grad erst gelernt.
Werd mal rauskriegen , ob man hier auf andere Threads
linken kann..
Is halt nur die Frage, ob Dein Programm das selbst erledigt,
oder ob Du's vorher einstellen mußt.
hi leute,
vielen dank fuer die antworten:
an dergutweka,
so sieht man sich wieder, jetzt weisst du warum ich die exsys-carte brauchte..... :-)
fuer tholan: ja, eine 4-port pci-exsys-card
Quote: An "ldconfig"
gemacht mit root /sbin/ldconfig
ich hab das make nochmals von vorn durch laufen....
keine ahnung was da los ist.
in den mailings fuer bstamp: kam der fehler auch schon vor, aber
da gings meiner meinung nach nur darum, dass bstamp nur bs2 erkennt.
ich steh mit staunenden augen da....
PS:
QUOTe:
Baudraten und Parameter für die Serielle stellt man mit dem Kommando
"stty" ein, hab ich auch grad erst gelernt.
Werd mal rauskriegen ,
== hab ein kleines c-pgm (das liest normaler weise vom bs2,
wenn ich da das "read" rausnehm, kann ich den ganzen stuff
auf die gewuenschte Baudrate und das MODEMDEVE einstellen also ttyS0
== waer das eine moeglichkeit, derguteweka weiss welches pgm ich meine.
ich meld mich dann morgen
mfg nomad
derguteweka
22.12.04, 22:33
Moin,
== hab ein kleines c-pgm (das liest normaler weise vom bs2,
wenn ich da das "read" rausnehm, kann ich den ganzen stuff
auf die gewuenschte Baudrate und das MODEMDEVE einstellen also ttyS0
== waer das eine moeglichkeit, derguteweka weiss welches pgm ich meine.
ich meld mich dann morgen
mfg nomad
Hmm, hab' mir mal die SW kurz angeguckt, den Fehler krieg' ich genauso hin, auch ohne .tok file und ohne irgendwelche HW am Port (Kein wunder). Also wenns das mit dem ldconfig nicht war, dann weissich auch nich so auf Anhieb weiter. Klaro, mit deinem c-prograemmchen kannste die Baudrate etc. einstellen, musst nur gucken, dass sie auch so bleibt, wenn das Programm zuende ist. Sonst ggf. noch mal die Strippen ueberpruefen und ggf. mitm Scope, so vorhanden mal gucken, ob/wo sich was auf der Seriellen tut...
Gruss
WK
hi dergutewka,[
QUOTE=derguteweka]Moin,
Hmm, hab' mir mal die SW kurz angeguckt, den Fehler krieg' ich genauso hin, auch ohne .tok file und ohne irgendwelche HW am Port (Kein wunder). Also wenns das mit dem ldconfig nicht war, dann weissich auch nich so auf Anhieb weiter.
== vielen dank,
wenn der bs2 via windows programmiert ist, hab ich mit meinem serial-program zugriff auf den bs2 (only read)
QUOTE:
Klaro, mit deinem c-prograemmchen kannste die Baudrate etc. einstellen, musst nur gucken, dass sie auch so bleibt, wenn das Programm zuende ist. Sonst ggf. noch mal die Strippen ueberpruefen und ggf. mitm Scope, so vorhanden mal gucken, ob/wo sich was auf der Seriellen tut...
== es tut sich was... & ss.oben
== ja, das ginge indem ich einfach bevor ich das ganze zuruecksetze und ein fclose(fr) mach
"stystem("bstam_run hello.tok"); " einfuege und dann gucke was passiert.
= da im linux-magazin in keiner weise auf dieses programm eingegangen wird,
sondern es funktioniert eben alles (weder distro noch sonst was angegeben ist)
und die mailings auch nicht gerade erhebend waren, waers das wohl..
aber eben, es waer net gewesen.... und jetzt ist weihnachten.....
vielen dank fuer deine hilfe
und frohe festtage wuensch ich dir
mfg nomad
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.