Hallo zusammen, und speziell an die Programmier-Spezies unter euch.
Mit neuem IR Tower und BricxCC geht es jetzt endlich los mit meinem lange angedachten MOC-Projekt.... dachte ich
Zum testen und ausprobieren habe ich dann mal ein Beispiel aus dem NQC-Tutorial, Seite 26 eingegeben link(Achtung, in der URL müssen die beiden "%20" durch jeweils ein Leerzeichen ersetzt werden!?), aber beim compilieren kommt jedesmal folgende Fehlermeldung:
Gruß
Stephan
Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg
Lok24
13.04.2019, 15:19
Als Antwort auf den Beitrag von stephanderheld
Editiert von
Lok24
13.04.2019, 15:56
Moin,
das sind ja zwei (drei) Probleme auf einmal?
Dein Link zeigt auf "C:..:" das ist Deine Lokale Festplatte.
Gibts mal einen Link im Internet?
So.
OnFwd ist offenbar eine mitgelieferte Routine, um Motoren vorwärts zu steuern.
Die ist aber OnFwd(motor,Geschwindigkeit)
Und deswegen fehlt in Zeile 8 ein",", das nämlich die zwei Parameter trennt, und der Parameter fehlt auch.
Es sollte wohl so aussehen:
if (_speed > 0) {OnFwd(OUT_A+OUT_C,_speed)}
Das gilt für Zeile 9 auch.
Wenn das nicht geht schreibe mal
if (_speed > 0) {OnFwd(OUT_A,_speed)}
Grüße
Werner
Hallo Werner,
irgendwie hatte ich schon mit Dir gerechnet, jedenfalls hatte ich aber darauf gehofft
Ooops, Festplatte. Ja, deswegen sah die URL so komisch aus, da hatte ich wohl noch nicht meinen zweiten Kaffee auf. Der Link hier sollte gehen. Das Beispiel findet sich immer noch auf Seite 26. Kann es sein daß da was am Anfang fehlt???? Link
Ich habe die Semikolons und geschweiften Klammern mal getauscht wie von Dir vorgeschlagen, bekomme dann aber nur noch mehr Fehlermeldungen
BTW, falls Du einen besseren Weg weisst um die Motoren etwas feinfühliger als mit den 7 Standrd-Stufen zu steuern, können wir uns diese Episode auch sparen. Denn eigentlich geht es mir nur genau darum. Die Drehzahlunterschiede zwischen Stufe1 und 7 sind mir nicht feinfühlig genug. Der Grund wird ebenfalls im Tutorial, Seite 26 oben erläutert:
Gruß
Stephan
Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg
Moin,
ja das war ja Blödsinn, hab's eben editiert und lese jetzt mal, probier Du mal.
Huch, das ist ja eine ganz andere Sprache?
NQC? NXC? NCX? XYZ?
Da muss ich mich erstmal einlesen.
Sorry für die Verwirrung.
Ich glaube das Tutorial passt nicht zu Deinem Programm?
AHA!
Neuer Versuch:
ich habe ein NXC-Tutorial gefunden.
Da steht:
OnFwd(OUT_A,75) -> Motor A mit v=75%
Und in dem NQC-Tutorial:
SetPower(OUT_A+OUT_C,2);
OnFwd(OUT_A+OUT_C); -> Motor A+C mit SpeedStep= 2
aber auch
OnFwd(OUT_A+OUT_C); -> Motor A+C mit 100%
Ich habe den Eindruck, Du versuchst mit einer NXC-Programmierumgebung ein NQC-Progranmm zu starten, das wird eher nichts?
Ja, glaube ich auch???
Also, habs so verstanden daß der RCX mit NCQ und der original Firmaware über BricxCC läuft. Deswegen habe ich auch das NQC-Tutorial probiert.
Deine Vorschläge ergaben leider immernoch Fehlermeldungen. Hab jetzt das allererste Programm aus dem Tutorial versucht, gab aber auch ne Menge Fehlermeldungen. Nach etlichem Umstellen habe ich alle Syntaxfehler eliminiert, bekomme aber immernoch eine generelle Fehlermeldung beim Compilieren.
Ich muss mich jetzt leider erstmal um andere Dinge kümmern, vielleicht forsche ich heute Abend nochmal nach weiteren Möglichkeiten.....
Gruß
Stephan
Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg
Lok24
13.04.2019, 16:23
Als Antwort auf den Beitrag von stephanderheld
Editiert von
Lok24
13.04.2019, 16:26
Probiere mal irgendwas da draus:
bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf
So, hab's jetzt installiert.
das hier geht sofort und klaglos:
task main ()
{
OnFwd(OUT_A,75);
}
Das ist NXC.
Das hier läuft auf denselben fehler wie bei Dir:
task main ()
{
OnFwd(OUT_A);
}
Das ist NQC-Syntax, die das Programm nicht kennt.
Jetzt:
Abspeichern unter ".nqc"
Wieder Laden macht dann das hier:
Okay, danke. Eine erste Lösung habe ich jetzt gefunden
BricxCC öffnet nach dem Start ein Dialogfenster in dem man den Port, die Hardware und die Firmware angeben kann.
Soweit so gut. Allerdings gibt es im Programm selber eine Einstellmöglichkeit für die bevorzugte Compilersprache. Und da stand leider immer noch NXC. Dachte das wäre mit der Angabe "RCX" und "Standard Firmware" automatisch geändert worden
Nach Änderung und Neustart scheinen jetzt die einfachen Sachen problemlos auf dem RCX zu laufen. Um die Geschichte mit der Motorsteuerung werde ich mich dann später nochmal kümmern wenn ich mehr Zeit habe, erstmal wollen die Hunde gelüftet werden
Danke jedenfalls bis hier für die Hilfe. Jetzt wo ich mit der Steuerungssoftware tüfteln kann, werden sicher auch noch genug neue Fragen aufkommen.
Letzte Woche habe ich übrigens den ersten Zug per Arduino gesteuert, das klappt schon ganz gut. Aber mit den RCX ist es für den AFOL natürlich irgendwie puristischer
Liebe Grüße
Stephan
Gruß
Stephan
Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg
Also bei mir war es diese Einstellung:
Edit, preferences, compiler, common, Prefered language for standard Firmware - hier auf NQC setzen.
Gruß
Stephan
Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg
Lok24
13.04.2019, 17:17
Als Antwort auf den Beitrag von stephanderheld
Editiert von
Lok24
13.04.2019, 17:19
Moin, ja die hatte ich gerade auch gefunden, und bei mir war auch der NQC.exe nicht mit installiert,
Der ist da und das muss ins brikcc-Verzeichnis
http://bricxcc.sourceforge.net/nqc/
Läufts denn jetzt?
Und warum arbeitest Du nicht mit NXC, was doch offenbar 100 Stufen bietet?