So, jetzt ist auch das "Sahnehäubchen" fertig:
Der "Dual-Slave Master".
Was ist das denn?
Das ist ein I2C-Master-Programm, das gleichzeitig die RP6BASE und die RP6 CONTROL M32 ansteuert.
Ihr findet es hier: http://www.rn-wissen.de/index.php/RP...l-Slave_Master
Was kann das Programm:
Es zeigt anfangs Demos für die RP6BASE (MOVE-/ROTATE-Test) und die M32 (LCD-Ausgabe, Sound-Test, SPI-EEPROM Schreib-/Lesetest).
Danach läuft eine Dauerschleife mit je einem Lauflicht auf der RP6BASE und M32 (natürlich vollständig über I2C von der M256 gesteuert!).
Während diese Lauflichter ablaufen, sind insgesamt 8 Event Handler (mit Watchdog Handler: 9!) aktiv:
M32:
--> mem_cs2 Pegel-Wechsel
--> IO-Ports (ins) Pegel-Wechsel
--> Tastenbetätigung
BASE:
--> ACS Zustandswechsel
--> Bumper Zustandswechsel
--> IRCOMM: RC5-Daten empfangen
--> Batteriespannung niedrig
--> Bewegungsstatus
Da kann man ausgiebig testen: Pins der freien IO-Ports der M32 auf andere Pegel legen, Tasten auf der M32 drücken, eine Hand vor den Roboter halten (ACS-Test), Bumper betätigen, RC5-Code senden, (Akku leerlaufen lassen = eher nicht zu empfehlen...).
Der mem_cs2 Pin auf der M32 ist am nicht bestückten IC-Sockel IC5 zu kontaktieren. ACHTUNG: Er ist von der RP6ControlLib auf AUSGANG geschaltet! Also erst auf EINGANG umschalten, bevor man ihn zum Testen des Event Handlers z.B. mit GND oder VCC verbindet.
Testaufbau:
- RP6BASE: RP6Base_I2CSlave.c (aus den Demos des RP6!)
- M32: RP6Control_I2CSlave.c (siehe oben!)
- M256 WiFi: RP6M256_M32_I2CMaster_02.c (siehe oben!)
- M256 WiFi über WLAN und über PROG_UART Stecker mit PC verbunden
- Beide Terminal-Fenster des RobotLoaders ausgeklappt
- Start des Systems über Serial Loader
Damit ist zumindest geklärt, dass man mit der M256 WiFi den Roboter mit M32 komplett über I2C steuern kann.
Jetzt fehlen noch eure Anwendungen ...
Viel Spaß damit!
Lesezeichen