PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ich habe ein problem!



..Luca..
01.07.2009, 15:46
Hi,
ich bin noch ziemlich neu in der programmierung und jetzt hab ich mein erstes programm geschrieben:

#include "RP6RobotBaseLib.h"

int main(void)
{
initRobotBase() ;
move(65, FWD, DIST_MM(500), BLOCKING) ;
return 0 ;
}
ich habe in der makefile hinter target den namen von meinem programm gesetzt bloß es kommt beim compilieren immer diese meldung:

> "C:\Dokumente und Einstellungen\Luca.LUCA-PC.001\Eigene Dateien\proggis\\make_all.bat"

C:\Dokumente und Einstellungen\Luca.LUCA-PC.001\Eigene Dateien\proggis>set LANG=C

C:\Dokumente und Einstellungen\Luca.LUCA-PC.001\Eigene Dateien\proggis>make all

-------- begin --------
avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

/usr/bin/sh: test: mein: binary operator expected
make: *** No rule to make target `mein', needed by `elf'. Stop.

> Process Exit Code: 2
> Time Taken: 00:01

könnt ihr mir helfen?

danke im vorraus..

mfg luca

proevofreak
01.07.2009, 18:56
hallo luca, schön dass du auch den weg ins roboternetz gefunden hast. deine fehlermeldung, welche beim compilieren kommt liegt nicht an deinem target. das hast du schon richtig gemacht im makefile. es liegt ganz einfach daran, dass jedes c-programm eine while- schleife besitzen muss, damit es ein definiertes ende besitzt.

am besten schaust du dir mal die einfachsten beispielprogramme des RP6 an und versuchst schritt für schritt durch abändern und neu compilieren diese zu verstehen.

mfg

..Luca..
02.07.2009, 18:09
ich bekom das irgendwie nicht auf die reihe..
kannst du mir vielleicht erklären wie ich das machen soll?
danke
luca

Dirk
02.07.2009, 18:28
Hallo ..Luca..,

der Rat von proevofreak ist richtig: Ändere erst einmal die Beispiele, die mitgeliefert wurden. Dann kriegst du ein paar Erfolge und weißt, dass alles funktioniert.

Bei deinem Prog ist so alles ok, natürlich kannst du noch hinter den move Befehl ein while (true) {} stellen, damit das Programm nicht endet.
Dadurch wird aber deine Fehlermeldung bleiben.

Vermutung:
Du hast nicht die selbe Verzeichnisstruktur wie die Beispiele für dein eigenes Programm genommen. Dein Programm "mein" steht wohl im Verzeichnis "proggis" unter Eigene Dateien. Du brauchst aber eine Struktur wie diese:
../proggis/RP6_BASE_PROGRAMS/MeinVerzeichnis1/mein.c
Es steht also dein Programm "mein.c" in einem eigenen Verzeichnis "MeinVerzeichnis1". Da drin muss auch das makefile und make_all.bat und make_clean.bat stehen.
Also: Jedes deiner Programme braucht ein eigenes Verzeichnis, genau so wie bei den Beispielen.

Die Libraries des RP6 gehören dann in:
../proggis/RP6Lib/RP6base und RP6common

Dann müßte alles klappen, natürlich must du noch im makefile eintragen:
TARGET = mein

Gruß Dirk

..Luca..
02.07.2009, 19:50
jetzt funktioniert es mit dem compilieren.. O:)
ich habe das programm auf robby übertragen aber er fährt keine 50 cm wie ich es im programm geschrieben hab..er fährt statrdessen vielleicht 10 cm und dann blinken die vier roten status leds.. :-s
was hat das zu bedeuten?

Dirk
02.07.2009, 20:45
er fährt statrdessen vielleicht 10 cm und dann blinken die vier roten status leds..
Läuft das Selbsttestprogramm fehlerfrei?
Hast du schon die Einstellung der Encoder gemacht?

Gruß Dirk

..Luca..
03.07.2009, 07:22
das stand bei selftest im terminal:

[RP6BOOT]

[READY]

[READY]

[READY]


##### EMERGENCY SHUTDOWN #####
##### ALL OPERATIONS STOPPED TO PREVENT ANY DAMAGE! #####

### ENCODER (OR MOTOR) MALFUNCTION! ###
Affected channel:LEFT!

(s. task_motorControl() function in RP6Lib!)
You need to check Encoder/Motor assembly (or your software).

The Robot needs to be resetted now.

ist das gut oder schlecht..?

021aet04
03.07.2009, 10:38
Ich habe den Roboter zwar nicht. Aber diese Meldung

### ENCODER (OR MOTOR) MALFUNCTION! ###
Affected channel:LEFT!
sagt aus, das mit der Linken Seite etwas nicht stimmt. Hast du den Selbsttest ausgeführt? Das eurde oben schon gefragt

..Luca..
03.07.2009, 11:21
ja ich habe ihn durcchgeführt..
das mit der linken seite stand ja im terminal als ich den selbstest durchgeführt habe..

Dirk
03.07.2009, 17:10
Ok, der Selbsttest hat gezeigt, dass mit deinem linken Antrieb etwas nicht stimmt.

Du must also die Drehgeber justieren.

Dazu brauchst du von der RP6-Homepage die Doc-Seite:
http://www.arexx.com/rp6/html/de/docs.htm

Da findest du "RP6 Drehgeber justieren (20071219)"
Das lädst du dir runter und machst alles genau wie beschrieben.

Gruß Dirk

julianf123
03.07.2009, 17:35
Das ist ein ganz einfacher fehler du hast warscheinlich am anfang powerON()
vergessen dan paßiert nämlich genau das selbe

..Luca..
03.07.2009, 19:36
julianf ich hatte power on da zwar nicht stehen aber nachdem ich es abgeändert habe hat es immernoch nicht geklappt..

Dirk ich habe versucht den drehgeber zu justieren aber nach schritt 2 funktioniert das nicht mehr..
Soll ich meinen RP6 vielleicht einschicken?

Dirk
03.07.2009, 20:03
... aber nach schritt 2 funktioniert das nicht mehr..
Soll ich meinen RP6 vielleicht einschicken?
???
Was heißt das?
In Schritt 3 brauchst du doch nur das Programm zu starten und 'x' + Enter drücken.

Also: Den RP6 noch nicht einschicken, sondern einfach weiter machen.

Grund: Wenn du einen neuen RP6 kriegst, kann es wieder passieren, dass du die Encoder justieren must.

Gruß Dirk

..Luca..
03.07.2009, 20:23
ok..
ich hab jetzt das programm gestartet bin unter displays gegangen und hab x und enter gedrückt..
es ist aber nichts passiert..

Dirk
03.07.2009, 20:48
ich hab jetzt das programm gestartet bin unter displays gegangen und hab x und enter gedrückt..
es ist aber nichts passiert..
Da passiert auch noch nichts.
Wie wäre es, wenn du die Anleitung mal ein paar Schritte weiter liest?

Kontrollfragen:
1. Hauptmenü (Fenster Terminal) gefunden (Schritt 4)?
2. Im Displays Fenster schon die verschiedenen Anzeigen geöffnet (Schritt 5)?

Gruß Dirk

..Luca..
03.07.2009, 21:16
also ich glaub ich bin ein bisschen "doof" O:)
ich hab das getan was ich machen sollte aber unter displays stehen keine einträge...ich weiß nicht was ich falsch mache.. :-s

Siedler_03
04.07.2009, 07:20
hast du die neuste version der beispielprogramme und des RP6Loaders?
bei den alten selftests sind die displays glaub ich nicht dabei...
gruß flo

..Luca..
04.07.2009, 12:29
ja ich hab den neusten RP6 loader(1.4c) und die neusten beispielprogramme..

SlyD
10.07.2009, 09:39
Welche Versionsnummer wird vom Selbsttestprogramm oben im Hauptmenü angezeigt? Sollte 1.4 - 05.11.2007 sein... wenn da was älteres steht, ist es die falsche Version.

Connect - Upload + Start, x+Enter im Terminal eingeben, c+Enter eingeben - dann sollten die Displays aufgelistet werden.

Was steht im Log des RP6Loaders?

MfG,
SlyD

PS:

Das hier hatte ich schonmal gepostet - könnte evtl. hilfreich sein:



Hallo,

ich habe hier mal ein Video hochgeladen in dem man GROB sehen kann wie die Drehgeber eingestellt werden.

http://www.arexx.com/rp6/downloads/rp6_encoder_video.zip
(10MB, knapp 5 Minuten, wmv)

Das dient nur als Ergänzung zum PDF wo es genau beschrieben ist.

Ist nur dazu da damit man mal sieht wie das "live" ausschauen KANN - man muss die beiden Hälften des RP6 _nicht_ so auseinanderbauen wie in dem Video, geht auch ohne das. Aber wie man auch im Video sehen kann, kann man so die Ketten einfach dranlassen...

Das ganz am Ende mit der Lampe soll mal kurz zeigen wie das mit "diffusem" Licht während des Drehgeber einstellens gemeint war ;)
(in dem Video ist es jedenfalls zu Hell! Das ging aber nicht anders, weil man sonst nichts hätte sehen können...)

MfG,
SlyD