stephanderheld
13.04.2019, 14:53

Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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:

[image]



Ich habe es mit einem RCX und den Firmwares firm0332.lgo (original) und fast0108.lgo (Dick Swan) probiert link zur Firmware, jedesmal mit der gleichen Fehlermeldung.
Das Tutorial bezieht sich ja auf NQC, in der Fehlermeldung steht aber was von NXC. Wahrscheinlich ist der Fehler ganz trivial und ich seh den Baum nicht vor lauter Wald?

Über Tips und Hilfe würde ich mich jedenfalls freuen.

Das gezeigte Programm aus dem Tutorial soll übrigens die Motorgeschwindigkeit regeln, ich habe aber noch nicht so ganz raus wie das genau funktionieren soll, d.h., neben der Problemlösung wäre ich auch für eine Erklärung zur Funktionsweise dieses Programmes dankbar.

Liebe Grüße

Stephan


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

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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



stephanderheld
13.04.2019, 15:57

Als Antwort auf den Beitrag von Lok24

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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:

Varying motor speed
As you probably noticed, changing the speed of the motors does not have much effect. The reason is that you are mainly changing the torque, not the speed. You will only see an effect when the motor has a heavy load. And even then, the difference between 2 and 7 is very small


Gruß
Stephan

Evolution ist gnadenlos. Wenn wir unser Gehirn nicht gebrauchen, nimmt es uns die Natur wieder weg


Lok24
13.04.2019, 15:59

Als Antwort auf den Beitrag von stephanderheld

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

Moin,

ja das war ja Blödsinn, hab's eben editiert und lese jetzt mal, probier Du mal.



Lok24
13.04.2019, 16:05

Als Antwort auf den Beitrag von stephanderheld

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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?



Lok24
13.04.2019, 16:20

Als Antwort auf den Beitrag von stephanderheld

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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?



stephanderheld
13.04.2019, 16:20

Als Antwort auf den Beitrag von Lok24

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

Probiere mal irgendwas da draus:
bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf



Lok24
13.04.2019, 17:03

Als Antwort auf den Beitrag von stephanderheld

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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:

[image]



Und das scheint mir das Problem:
Im meinem Verzeichnis ist zwar eine nbc.exe aber keine nqc.exe.
Da fehlt irgendwie der nqc-Compiler. Und der wird auf der Brikc Seite auch als "extra" erwähnt.



stephanderheld
13.04.2019, 17:07

Als Antwort auf den Beitrag von Lok24

1.Lösung gefunden. BricxCC und RCX - Problem beim Compilieren

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


stephanderheld
13.04.2019, 17:10

Als Antwort auf den Beitrag von Lok24

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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

Re: Hilfe gesucht. BricxCC und RCX - Problem beim Compilieren

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?