Er kennt wohl "RC5data_t" nicht.
Hallo!
Habe wieder ein (vermutlich) Anfängerproblem:
Ich wollte das Base-Bsp-Programm für die TV-Remote umschreiben, damit ich es auch auf dem M32 anwenden kann.
Aber es kommen immer folgende Fehlermeldungen:
RP6Control_07_I2CMaster.c: In function 'setDefaultSpeedParameters':
RP6Control_07_I2CMaster.c:174: warning: implicit declaration of function 'getDesSpeedLeft'
RP6Control_07_I2CMaster.c:174: warning: implicit declaration of function 'getDesSpeedRight'
RP6Control_07_I2CMaster.c:175: warning: implicit declaration of function 'moveAtSpeed'
RP6Control_07_I2CMaster.c: At top level:
RP6Control_07_I2CMaster.c:182: error: expected ')' before 'rc5data'
make: *** [RP6Control_07_I2CMaster.o] Error 1
Was genau heißt das?
habe das umgeschrieben M32-Bsp. 07 mal angehängt.
Danke!
Fabian
Er kennt wohl "RC5data_t" nicht.
Ist es denn eigentlich möglich / sinnvoll, den Base-Prozessor komplett unabhängig, also ohne Slave-Modus alle Sensor-, RC5- und Motorangelegenheiten rechnen zu lassen und den M32 ebenfalls unabhängig zu lassen?
Ich stelle mir das so vor: Die Base regelt das Fahren, regelt die Sensoren (ACS, Bumper, RC5, evtl. eigene Systeme oder Sensoren auf ADC0 und ADC1). Der M32 macht seine Aufgaben (die sind momentan bei mir noch nicht genauer bestimmt, evtl. Greifarme, Servos, mehr Sensoren, ...).
Sollten sie doch kommunizieren müssen (z.B. könnte ja der Greifarm über RC5 steuerbar sein), dann kann man dafür ja Interrupt nutzen!????! Oder?
Bin ich da etwas naiv?
Oder geht das so überhauptnicht, wie ich mir das hier denke?
Ja, man kann natürlich die Base und M32 ohne eigene Kommunikation über I2C arbeiten lassen.
Aber:
Ein Roboter soll ja i.d.R. etwas tun mit eigener "Intelligenz". Dazu muss die Base so programmiert werden, dass sie weiß, wo sie z.B. hinfahren soll. Die M32 braucht auch eine "Intelligenz", um z.B. den Arm zu steuern. Wenn die beiden "Gehirne" aber nicht miteinander reden, kann das Ergebnis ziemlich chaotisch sein.
Besser wäre also schon, wenn beide (Base und M32) miteinander reden könnten.
Wenn du aber Hardware an der M32 NUR fernsteuern willst, geht es natürlich auch ohne das Gequassel über I2C.
Gruß Dirk
Jo, ich meinte sozusagen eine Mischung aus beiden Varianten. Ich habe mich gefragt, warum meine Base nur ausführen soll und der M32 alles rechnen soll. Wozu habe ich denn den kleinen? Also dachte ich mir, ich lasse die Base das fahrwerkseitige und die sensorik übernehmen.
Zusätzlich bekommt natürlich der M32 alle Daten und kann eingreifen (Interrupt?).
Also würde ich mehr oder weniger das baseprogramm "tvremote" und das Slave zusammenlegen!?
Geht das so?
Das wird schwierig. Das Slave Programm der Base ist dazu ausgelegt, die Base komplett von der M32 fernsteuern zu lassen (über I2C). Daher sind auch die Handler für RC5-Empfang und für die Ansteuerung der Motorfunktionen entsprechend geschrieben.Also würde ich mehr oder weniger das baseprogramm "tvremote" und das Slave zusammenlegen!? Geht das so?
Gruß Dirk
Hmm dann wird's zumindest nicht einfach für mich Neuling... Ich werd's aber mal versuchen.
Vielleicht hat jemand hier eine Idee, oder schon etwas ähnliches versucht??
hi fabqu,
hast du das thema weiterverfolgt? Zumindest das umschreiben auf die m32?
gruß inka
Hi!
Ne, nicht.
Die Idee gefällt mir aber nach wie vor sehr gut. Mir ging es damals um die Entlastung des Hauptprozessors (hier die M32) . Jedoch muss man hier ganz klar sagen, dass eine Entlastung nicht wirklich notwendig ist, da ist noch einiges mehr drinnen, wir mir dann nach und nach bewusst wurde.
Aber es ist nach wie vor eine unschöne art, einen Prozessor nur ausführen zu lassen und ihn zu "versklaven". Denn auch die Base, als schlechtester aller RP6-Prozessoren, könnte deutlich mehr leisten, als das übergeben von parametern und das steuern von zwei Motoren und vier IR-LEDs.
Ein Beispiel zur Steuerung des RP6 mit der M32 über eine RC5 Fernbedienung gibt's hier: https://www.roboternetz.de/community...l=1#post587907
Gruß
Dirk
Lesezeichen