PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CC2 Programm auf Robby starten?



Flauschi
13.01.2006, 23:35
Hallo,

ich habe mir vor kurzem einen Robby von Conrad zugelegt.
Auf ihn habe ich die Gateway2.bas geladen.
Demos haben auch alls funktioniert.
Habe anschließend die Erweiterungsplatine aufgesteckt + C-Control II
und versuche nun schon eine ganze weile darauf ein Demoprogramm zu starten.Habe das OSOPT v3.0 mit dem Downloadmanager v2.2 von CC2net.de draufkopiert.Ich habe das Programm mit der aktuellen IDE im Hostmodus draufgeladen doch wie kann ich es jetzt starten? Habe das Programm auch mal mit dem Downloadmanager v2.2 draufkopiert.Aber es tut sich leider nichts.Fehlen da vielleicht noch irgendwelche module und falls ja, wie kann ich die denn drauf laden?

Vielen Dank für Eure Hilfe.
Ronny

Dirk
14.01.2006, 16:55
Hallo Ronny,

was du brauchst und machen must:

1. Vom cc2net.de die ccrp5.zip mit dem aktuellen Gateway_2.bas (V2.2)und dem Modul ccrp5.c2 für die C-Control II (CC2), sowie Demos laden. ccrp5.c2 im Verzeichnis UserLib der IDE ablegen.

2. Das neueste OSOPT für die CC2 aufspielen

3. Das OSOPT muss funktionieren. D.h. du must auf die CC2 Programme laden und ausführen können, z.B. das berühmte "Hello world" auf dem LCD ausgeben können.

4. Wenn das alles klappt, nimmst du die CC2 von der Basiserweiterung herunter, lädst Gateway_2.bas (V2.2) in die CC1 auf dem Robby. Danach NICHT starten, sondern Robby ausschalten.

5. CC2 wieder montieren und Robby einschalten.

6. Eine der Demos (am besten zuerst CCRP5_DEMO2_1.c2) in die CC2 laden und ausführen.

Dann müßte es laufen!

Gruß Dirk

14.01.2006, 17:47
Hallo Dirk,

vielen Dank für deine Antwort.
Habe das OSOPT v3 auf die C2 geladen.
Danach das Demo1. Die Gateway2.bas ist ja bereits auf dem C1 muss ich sie da trotzdem nochmal draufspielen und vorher die C2 abmontieren?
Wenn ich den Robby ein - und ausschalte passiert nicht.
muss aber dazusagen das ich auch kein lcd dran habe.
Müsste da nicht trotzdem was passieren? Oder muss ich da ein anderes Demo laden um was zu sehen?

Vielen Dank für deine Hilfe.
Gruß Ronny

Dirk
14.01.2006, 18:20
Hallo Ronny/Gast,

... nein, wenn die Gateway-Version zur Version des ccrp5.c2-Moduls passt, brauchst du das nicht mehr aufspielen!

Das Problem bei den Demos ist, dass sie fast immer irgend etwas auf dem LCD darstellen!

Die Demo CCRP5_DEMO2_2.c2 könntest du ohne LCD laufen lassen, dabei müßte die CC2 nach kurzer Zeit in den Sleep-Modus gehen (gelbe LED auf der Basiserweiterung geht aus). Wenn du danach auf den Berührungssensor drückst, wacht sie wieder auf (gelbe LED an).

Mit der Demo CCRP5_DEMO2_1.c2 kannst du ein LED-Lauflicht auf dem Robby oder auf der Basiserweiterung laufen lassen,- das braucht auch kein LCD.

Wichtig ist auch, ob das Laden und Ausführen von Programmen auf die CC2 überhaupt klappt! Bist du dir da sicher?

Gruss Dirk

Flauschi
14.01.2006, 18:49
Hallo Dirk,
hatte mal ein Beispiel Beeper das hat eine Meledie abgespielt aber das war auch das einzigste was funktionierte.bei beispielen für die C2 wo die Motorsteuerung oder anderes angesprochen wurde haben keine reaktion gezeigt. :(

ps. Die Motorsteuerung über die C1 mit einem Beispiel hat funktioniert.

Dirk
14.01.2006, 20:43
Hallo Ronny,


... hatte mal ein Beispiel Beeper das hat eine Meledie abgespielt aber das war auch das einzigste was funktionierte ...
Es gibt für den Robby leider mehrere Varianten von Gateway.bas, ccrp5.c2-Modulen und Demos.
Das fängt an bei den von Conrad mitgelieferten, es gibt aber noch weitere. Du must also bei einer Variante bleiben.

Es geht also nur so:
Lade die Version 2.2 des CCRP5-Treibers (ccrp5.zip) von der Seite http://www.cc2net.de.
Für alle Versuche nimm NUR die Demos aus der zip-Datei, das File Gateway_2.bas und ccrp5.c2 !
Gateway_2.bas (aus der zip-Datei!!) in die CC1 laden. ccrp5.c2 in das Verzeichnis UserLib kopieren.

Die Demo CCRP5_DEMO2_1.c2 in die IDE laden und öffnen.
Die Zeilen:
//--------- Zeigt Akkuspannung, Ladestrom und geladene Kapazität an ----------
showSYSTEMDATA();
suchen.
Vor showSYSTEMDATA(); zwei // setzen (wird dadurch zum Kommentar (grün).

Die Zeilen:
//--------------- Lauflicht auf der Basiserweiterung --------------------------
//moveL();
suchen und die // vor moveL(); entfernen.
Jetzt Projekt neu erstellen und in die CC2 laden.
Dann müßte ein Lauflicht mit den 8 LEDs der Basiserweiterung erscheinen.

Melde dich wieder, wenn du das genau so probiert hast.

Gruß Dirk

Flauschi
14.01.2006, 21:39
Hallo Dirk,

habe es genauso gemacht wie du es gesagt hast.
Habe die Demo2_1.c2 mit der IDE SP2.12 compiliert und in über die IDE im Hostmode in den CCRP5 geladen. Danach habe ich ihn aus und wieder eingeschaltet.Nach einschalten leuchtet wie immer die gelbe LED aber sonst keine weitere.

ps. Alle 8 LEDS blinken nach einschalten kurz auf ca.100ms.Es gibt auch ein kurzes klicken.Ist das Normal?

Vielen Dank für deine Hilfe.
Gruß Ronny

Flauschi
14.01.2006, 21:44
... habe gerade auch mal das Demo2_2 ausprobiert.
In den Sleepmodus scheint er auch nicht zu wechseln.
Die gelbe LED geht nicht aus.

Gruß Ronny

Dirk
14.01.2006, 22:22
Hallo Ronny,

hmm ...
Hast du die Demo2_1 so geändert, wie ich geschrieben hatte?

Pobier 'mal diese Testversion [Gelöscht wegen zu wenig Upload-Platz!], ich habe die LCD-Befehle auskommentiert.
(Weil du ja kein LCD angschlossen hast!)
Sie müßte das Lauflicht bringen.

Gruß Dirk

Flauschi
14.01.2006, 22:27
Hallo Dirk,

probiere das jetzt mal aus.
ps. Habe auch zwischenzeitlich gleich mal die Akkus gewechselt.

Flauschi
14.01.2006, 22:30
Hallo Dirk,

habe deine Datei in das Demoprojekt geladen.
Du schreibst das eine CCRP5DRIVER.HEX geladen werden muss.
Habe noch keine solche Datei, kannst du mir sie mal anängen.

Danke. :)
ps. Vielleicht war das ja der ganze Fehler

Flauschi
14.01.2006, 23:27
Hi Dirk,

hab nun auch die CCRP5DRIVER.HEX mit dem Download-Tool v2.2 in die CC2 geladen.Tut sich aber trotzdem immer noch nix?

Kann es sein das meine CCRP5 defekt ist?

:(

Flauschi
15.01.2006, 00:30
Hallo Dirk,
so ich habe jetzt ein paar stunden versucht den Robby zum laufen zu bringen.Bin jetzt auf folgendes merkwürdiges Verhalten gestoßen.
Habe das Beeper-Beispiel ...SP2-13\Samples\Unit & Station Common\BEEPER in die IDE geladen.Dies funktioniert auch.Nun habe ich es modifiziert und die ccrp5.Lon ( 1 ) aufgerufen.
Es lässt sich nur ein ccrp5-Befehl zb. ccrp5.Lon ( 1 ) aufrufen.
Dieser wird auch geladen... Led leuchtet.Wenn ich aber das ccrp5.init ( ) zuvor aufrufe dann passiert garnichts.

Lade ich ccrp5.Lon ( 1 ) und danach ccrp5.Lon ( 2 ) so leuchtet trotzdem nur die eins.Er kommt also nur zum ersten Befehl.Warum auch immer????

Ich verzweifel echt.
Bitte helft mir! :(

Dirk
15.01.2006, 11:46
Hallo Ronny,


Habe das Beeper-Beispiel ...SP2-13\Samples\Unit & Station Common\BEEPER in die IDE geladen.Dies funktioniert auch.

Vergiß das zunächst einmal mit den anderen Demos für Unit und Station! Die werden so nicht unverändert auf dem Robby laufen! Also: Bis alles läuft, keine anderen Demos von der CD o.ä. probieren!!!

Einen .HEX-Treiber brauchst du NICHT! Also wieder aus dem CC2-Speicher löschen!

Vorschlag:
Da das Osopt ja wohl funktioniert, würde ich alles andere noch einmal von vorn machen:
1. CC2 runter nehmen, Gateway_2.bas (aus der ccrp5.zip) in den Robby laden (Meldung: --- done), danach nichts testen oder starten, sondern Robby abschalten. [Ab jetzt nicht mehr den RS232-Stecker des Robby benutzen und auch keine der Tasten auf dem Robby!!!]
2. CC2 draufsetzen, RS232-Stecker auf die Basiserweiterung umstecken, Robby einschalten.
3. Es müssen jetzt alle LEDs ausgehen (damit müßte Gateway funktionieren).
4. Die von mir geschickte CCRP5_DEMO2_1.c2 in die IDE laden und "Projekt neu erstellen" (Die neue ccrp5.c2 hattest du ja VORHER unter UserLib abgelegt!).
5. In die CC2 übertragen (IDE sagt: 100%). Programm mit RESET auf der Basiserweiterung starten!

Probier das so noch mal! Da müßte ja dann das Lauflicht mit den 8 LEDs erscheinen.

Bei mir hat es schon mal das Gateway-Programm zerschossen, wenn der Robby lief und die Batterie keinen Saft mehr hatte. Deshalb sollte bei diesen ersten Versuchen nicht der Saft ausgehen!

Gruß Dirk

15.01.2006, 11:53
Hallo Dirk,
aber in deiner Datei steht doch das ich die CCRP5DRIVER.HEX laden soll?
Dann werde ich es jetzt nochmal probieren.

Vielen Dank für deine Hilfe.
Gruß Ronny

15.01.2006, 11:59
Hallo Dirk,
habe es jetzt so gemacht wie du sagtest.
Wenn ich das Gerät einschalte leuchten alle und nichts passiert.
Schalte ich es aus und wieder ein. Leuchtet immer eins weniger.
Solange bis garkeins mehr leuchtet und sich nichts mehr tut.

??? Ich glaube das Teil ist defekt oder was meinst du?
Vielen Dank. Gruß Ronny

15.01.2006, 12:04
Hallo Dirk,

eine kurze frage hät ich da noch.
Was hat das eigentlich in der Funktion moveL zu bedeuten?

ccrp5.Lon(1);ccrp5.Loff(1);sleep 100;

das bedeutet doch das er die LED einschaltet und sofort wieder ausschaltet und dann 100ms wartet.
Das kann doch eigentlich garnicht gehen oder verstehe ich da was falsch?

Gruß Ronny

Dirk
15.01.2006, 12:08
Hallo Ronny,


aber in deiner Datei steht doch das ich die CCRP5DRIVER.HEX laden soll?

Stimmt, leider! :(
(Erklärung: Das sind die alten Demos (nicht von mir), die ich nur im Code, aber wohl nicht ausreichend im Text angepasst habe!). Sorry!

In meinem Modul ccrp5.c2 habe ich's dann aber deutlich gesagt:
[Zitat:]Bemerkung:
Es müssen keine extra Hex-Treiber für dieses Modul
geladen werden.
HEX-Treiber für benötigte Module müssen je nach verwendeter OS-Version geladen werden.
Mehr dazu siehe Beschreibung zu den benötigten Modulen.
[Zitat Ende]

Viel Erfolg! [-o<

Gruß Dirk

15.01.2006, 12:14
Hallo Dirk,
so habe es jetzt genauso gemacht wie du im es im letzten eintrag beschrieben hast.
Habe dann im letzten Schritt nach der Übertragung 100% die reset Taste an der Basiserweiterung gedrückt doch es leuchten keine LEDS auf.
Es leuchtet lediglich wie immer eine gelbe auf dem Robby und eine gelbe auf der Basiserweiterung.

:(

Dirk
15.01.2006, 12:22
Hallo Ronny,

Frage: Gehen nach dem Einschalten des Robby zunächst alle LEDs aus?

Wenn ja, müßte Gateway funktionieren.
Wenn nicht, nimm die CC2 runter und teste deinen Robby mit den Testprogrammen, die er mitbringt.
Wenn da alles wie vorher funktioniert, spiel Gateway_2 wieder drauf und setz die CC2 wieder drauf. Den .HEX-Treiber bist du doch los geworden? ("Sement 3 löschen", war das glaube ich ...)

Alle weiteren Tests kannst du in der CCRP5_DEMO2_1.c2 machen, und zwar direkt hinter diesem Teil:

//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIII
//IIIIIII THREAD IIIIII
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIII
thread main
{
string s;
int VALUE;
//ports.set(11,0);ports.set(12,1);swcom.init();swcom .setspeed(5);
VALUE=ccrp5.init();
lcdext.clear();
// ------------- START MESSAGE -------------------------
lcdext.print("C-CONTROL ROBOT");
lcdext.line(2);
lcdext.print(" PROJECT 5 ");sleep 500;
lcdext.clear();
if VALUE==0 {lcdext.print("CC1 RESET");sleep 200;lcdext.clear();}
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHH

Die // vor moveL() must du evtl. wieder einfügen.

Ergänze hinter dem o.g. Code doch 'mal:
ccrp5.Lon(1);sleep1000;
ccrp5.Loff(1);
ccrp5.Lon(2);sleep 1000;
ccrp5.Loff(2);
ccrp5.Lon(3);sleep 1000;
ccrp5.Loff(3);
loop {};

Das müßte LEDs 1 bis 3 jeweils 1 s leuchten lassen.

Gruß Dirk

15.01.2006, 12:27
ps. Wenn ich das gerät ein paar minuten aus habe und anschließend neustarte (Hab dein Beispiel vorher geladen und anstatt moveL ( ); hab ich ccrp5.Lon ( 0 ); geschrieben.
Es leuchten nun alle LED der Basiserweiterung.
Schalte ich es wieder aus und ein leuchten nun die ersten beiden.
Schalte ich es danach wieder ein leuchtet garkeine.
Es ist zum verrückt werden.

ps. Vielen Dank für deine Hilfe.

15.01.2006, 12:30
Hallo Dirk,
ja wenn ich den Robby einschaltet leuchten kurz alle LEDS der Basiserweiterung. Aber nur wenn ich ihn ein paar minuten nicht angemacht habe.

muss jetzt erstmal weg.
Vielen Dank für deine Hilfe.
Werde den Code gegen 19Uhr weiter probieren.
Wird schon noch klappen.

Gruß Ronny

15.01.2006, 12:48
Der einzigste Befehl der funktionieren zu scheint ist der plm.beep den ich noch von vorhin aus dem Unit und Station beispiel Beeper hatte.
Da merkwürdige ist auch, rufe ich den ccrp5.BEEP auf passiert nichts.
erst danach den plm.beep höre ich.Aber der kommt erst nach 10s wenn ich vorher den ccrp5.BEEP aufrufe.Das ist schon sehr merkwürdig oder?

Dirk
15.01.2006, 16:24
Hallo Ronny,

soooo, ...
Jetzt habe ich meinen RP5 so zurückgebaut, dass er wie deiner ist (RP5 mit Basiserweiterung und CC2).
Dann habe ich versucht, deine Fehlermeldungen zu erreichen.
Mit Erfolg!!! :-({|=

Bei mir gab es ein ähnliches Chaos wie bei dir, wenn nicht der richtige Maschinensprache-Treiber für die Basiserweiterung (BE) in die CC1 geladen ist.
Was heißt das?
Beim Robby ohne BE ist das der p5driv.s19. Wenn man die BE hat, muss man immer den [highlight=red:70b985f236]p5driv12.s19[/highlight:70b985f236] nehmen.

Also:
Du must den Gateway_2.bas leider noch einmal (hoffentlich zum letzten Mal) laden.
In der IDE blätterst du ganz ans Ende des Programms.
Dort steht:
'---------COM/NAV GERÄTEREIBER -------------
' syscode "p5driv12.s19"
Hier entfernst du das ' vor dem syscode, da steht dann:
syscode "p5driv12.s19"

Jetzt neu erstellen. Wenn eine Meldung erscheint, dass p5driv12.s19 nicht zu finden ist, kopier ihn vorher ins selbe Verzeichnis wie Gateway_2.bas.

Jetzt wieder CC2 drauf und neu testen.

Das dürfte also heute abend klappen. Die Chancen sind besser als im Lotto. O:)

Wie kommt das ganze zustande?
Meist kauft man (wie ich) nach dem Robby erst die BE (also ohne CC2). Dann testet man die BE mit eigenen Progs. Dafür braucht man den p5driv12.s19, ohne den gehts nicht (steht auch in der Anleitung zur BE!). Wenn man dann die CC2 draufsetzt, hat man den richtigen Treiber schon in der CC1 und braucht ihn nicht nachladen. Daher ist diese Zeile in Gateway_2.bas mit ' als Kommentar enthalten. Wenn der p5driv12.s19 erst einmal geladen ist, kann man das ' da wieder hinsetzen, weil er immer im Speicher der CC1 bleibt.

Viel Erfolg!

Dirk

15.01.2006, 18:41
Hallo Dirk!

Du bist ein Experte!
Es funktioniert.
Endlich. Du hast mir total geholfen.
Vielen Dank.
Gruß Ronny :)

Dirk
15.01.2006, 20:06
Hallo Ronny,

na super! O:) O:)

Da könn' wir ja nen Faß aufmachen!

Gruß Dirk

Flauschi
15.01.2006, 20:13
Hi Dirk,
mein Robby reagiert nicht mehr :(.
So ein mist. Hab mich gerade so sehr gefreut.
Hatte ein paar Demos geladen und etwas programmiert aber nun lässt sich weder der Hostmode noch der Bootmode einleiten.
Oh nein.Hoffentlich habe ich nicht irgendwas verkehrt gemacht.

Vielen Dank für deine Hilfe.
Gruß Ronny