- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Problem mit der Integration des RP6 Sensor Board

  1. #1
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26

    Problem mit der Integration des RP6 Sensor Board

    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    ich habe offensichtlich ein Zuordnungsproblem:
    Nachdem ich mich ein wenig über die SW von Arexx für das RP6 Sensor Board geärgert habe, fand ich zum Glück den Artikel im http://rn-wissen.de/wiki/index.php/R...nd_Xtra_Module. Mit diesem konnte ich dann das Sensorboard testen. Das Beispielprogramm funktionierte ohne größere Probleme. Vielen Dank an den Autor Dirk.
    Nun wollte ich das Sensorboard in eine eigene Anwendung integrieren:

    // Includes:
    #include "RP6I2CmasterTWI.h" // I2C Master Library
    #include "RP6M256_Erweiterung.c" // für den Roboterarm alt
    #include "RP6M256_Sensor_BoardLib.c"

    Plötzlich bekomme ich eine Fehlermeldung in der: RP6M256_I2CMasterLib.h und zwar:

    In file included from Roboter.c:46:
    ./../RP6Lib/RP6M256_I2CMasterLib.h:238: error: expected identifier or '(' before numeric constant
    ./../RP6Lib/RP6M256_I2CMasterLib.h:239: error: expected ';' before 'uint8_t'
    Roboter.c: In function 'acsStateChanged':

    Der Fehler wird in folgendem Code gefunden, der nicht falsch sein kann, da er ja sonst auch funktioniert und nicht von mir ist?
    Code:
    union 
    {
     	uint8_t byte;	//unit8_t byte;
    	struct 
    	{
    		uint8_t LEDsR:3;
    		uint8_t LEDsL:3;
    		uint8_t reserved:2;
    	};
    	struct 
    	{
    		uint8_t LED1:1;     // und zwar in dieser Zeile 
    		uint8_t LED2:1;
    		uint8_t LED3:1;
    		uint8_t LED4:1;
    		uint8_t LED5:1;
    		uint8_t LED6:1;
    		uint8_t reserved1:1;
    		uint8_t reserved2:1;
    	};
    Natürlich kommen daraufhin weitere Fehlermeldungen.
    Kommentiere ich #include "RP6M256_Sensor_BoardLib.c" aus, ist alles gut?

    Hat jemand einen Tipp?
    Vielen Dank im Voraus.
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi,

    wenn du die Lib für das Sensor Board in anderen Projekten benutzen willst, must du nicht die Lib Source (.c), sondern den Header (.h) inkludieren:
    #include "RP6M256_Sensor_BoardLib.h"
    Gruß
    Dirk

  3. #3
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26
    Danke Dirk, aber

    dann kommt dass:

    Compiling: Roboter.c
    avr-gcc -c -mmcu=atmega2560 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=Roboter.lst -I./../RP6Lib -I./../RP6Lib/RP6control_M256_WIFI -I./../RP6Lib/RP6common -I./../RP6Lib/RP6control_M256_WIFI/sdc -std=gnu99 -MD -MP -MF .dep/Roboter.o.d Roboter.c -o Roboter.o
    In file included from Roboter.c:46:
    ./../RP6Lib/RP6M256_I2CMasterLib.h:238: error: expected identifier or '(' before numeric constant
    ./../RP6Lib/RP6M256_I2CMasterLib.h:239: error: expected ';' before 'uint8_t'
    Roboter.c: In function 'acsStateChanged':
    Roboter.c:413: error: expected identifier before numeric constant
    Roboter.c:414: error: expected identifier before numeric constant
    Roboter.c:415: error: expected identifier before numeric constant
    Roboter.c:416: error: expected identifier before numeric constant
    make: *** [Roboter.o] Error 1

    Daher bin ich ja ein wenig verzweifelt, denn die Fehlerausgabe ist die gleiche, halt nur aus der *.h?

    Gruß
    Kai
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi Kai,

    das Problem könnte ein Syntax-Fehler irgendwo in deinem Hauptprogramm sein.
    Manchmal reicht eine fehlende Klammer oder ein fehlendes ;
    Gruß
    Dirk

  5. #5
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26
    Danke, dann muss ich mich wohl auf die Suche mache.

    Gruß Kai
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

  6. #6
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26
    Hi,

    ich muss doch nochmal fragen:
    Ich habe nach einigen Tests und langem suchen wieder das Original RP6M256_12_WIFI_REMOTE_2.c Programm in den Bot geladen, ohne Sensorboard. Alles ok, so wie es sein soll.
    Dann die #include "RP6M256_Sensor_BoardLib.h" ins Programm eingefügt, die o.g. Fehler einfach auskommentiert, sind ja nur die StatusLED (die offenbar mit der Deklaration in der SensoboardLib nicht klar kommen) Programm läuft.
    Jetzt das Sensorboard, eigentlich nur den XBUS angeschlossen, keine Reaktion auf die Bumper und den ACS ???????????????????

    Hat jemand diesen Fehler ebenfalls und ggf. gelöst?
    Ihr würdet mir wirklich weiterhelfen.

    Gruß Kai
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Das Problem ist, dass LED1..LED6 in der RP6M256_Sensor_BoardLib anders definiert sind als in der RP6M256_I2CMasterLib.

    Ich habe deshalb in den RN-Wissen-Artikel zum RP6 Sensor Board eine neue Version 1.1 eingestellt, die jetzt kompatibel zur I2CMasterLib ist.
    Gruß
    Dirk

  8. #8
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26
    Na vielen Dank!
    die StatusLED funktionieren. Welche Änderungen du in der neuen Version vorgenommen hast schaue ich mir später an.
    Auch mit den Adressen im I2C-Bus muss ich mich nochmal beschäftigen, denn ich hoffe das daran der Fehler der nicht erkannten Sensoren der Basis (Bumper, ACS) liegt.

    Gruß Kai
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi,
    Auch mit den Adressen im I2C-Bus muss ich mich nochmal beschäftigen, denn ich hoffe das daran der Fehler der nicht erkannten Sensoren der Basis (Bumper, ACS) liegt.
    Dass das Programm nicht auf Bumper u. ACS reagiert, kann daran liegen, dass der I2C-Slave auf der RP6v2 Base nicht läuft.
    Das passiert z.B., wenn du das ganze System (RP6v2, M256 WiFi, Sensor Board) über WiFi startest.
    Dann wird u.U. das I2C-Slave-Programm auf der Base nicht mit gestartet.
    Probier mal, das System über den Start-Button auf dem RP6v2 Mainboard zu starten.
    Gruß
    Dirk

  10. #10
    Neuer Benutzer Öfters hier Avatar von Jumptime
    Registriert seit
    02.11.2012
    Ort
    mitten in Sachsen
    Beiträge
    26
    Hi,
    die Idee hatte ich auch schon. Aber die StatusLEDs auf der Base blinken aber beim Start bzw. der Initialisierung, so dass ich glaube, dass das I2C-Slave-Programm schon gestartet wird. Wenn ich das Sonsorboard am XBUS nicht anstecke funktionieren die Sensoren. Erst wenn das Sensorboard am XBUS ist, werden diese ausgebremst. Einen Adresskonflikt war mein erster Gedanke, aber der scheint nicht vorzuliegen, das Verbindungskabel habe ich auch schon gewechselt. Ich werde mal noch ein wenig rumexperimentieren. und sollte ich nicht weiter kommen melde ich mich wieder. Finde ich die Lösung melde ich mich auch! Ach ja, dein Testprogramm funktionierte ohne Probleme.

    Gruß Kai
    mein Bot: RP6v2, M256 WiFi Erweiterungsmodul, Liniensensor und Roboterarm mit Ansteuerung

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. RP6 Sensor Board: Erster Eindruck
    Von Dirk im Forum Robby RP6
    Antworten: 15
    Letzter Beitrag: 09.02.2015, 14:23
  2. ir sensor des rp6 ---wärmestrahlung
    Von robotmafiosi im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 30.06.2012, 11:35
  3. Problem mit der Programmierung des 12F629
    Von 2linkehaende im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 17.03.2011, 08:39
  4. Steuerung des RP6 via RGB-Sensor
    Von hmellermann im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 03.04.2008, 12:28
  5. RP6 Verwendung der Ports des ATMega32
    Von Dirk im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 26.07.2007, 17:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus