Ich hab mal hier: http://www.rn-wissen.de/index.php/RP...M32:_I2C-Slave
... einen RN-Wissen Artikel zum M32 I2C-Slave aufgemacht.
Mitschreiben, wer möchte ...
Ich hab mal hier: http://www.rn-wissen.de/index.php/RP...M32:_I2C-Slave
... einen RN-Wissen Artikel zum M32 I2C-Slave aufgemacht.
Mitschreiben, wer möchte ...
Gruß
Dirk
Hier: http://www.rn-wissen.de/index.php/RP...lave#I2C-Slave
... gibt es jetzt eine V1.0 des M32 I2C-Slave.
Wenn man die in die M32 lädt, fangen alle 3 Skunden die 4 LEDs an, für 3 Sekunden zu blinken. Das ist die Timeout-Anzeige, die nach 3 Sek. auslöst, dann nach weiteren 3 Sek. Blinken einen "Soft-Reset" auslöst.
Dazu blinkt die Heartbeat-Anzeige (* in der rechten LCD-Ecke).
Würdet ihr das mal testen?
Den M32-Master (am einfachsten RP6Control_07_I2CMaster.c) müßtet ihr für die M256 etwas anpassen.
Die Zeile: if(!block && (PIND & EINT1))
wird in: if(!block && (PINJ & INT2_PI15)) // XBUS INT2 -> PJ6 (PCINT15)
... geändert, weil XBUS INT2 als Interrupt verwendet wird.
Gruß
Dirk
Also wenn immer die äusseren und die inneren blinken, dann funktioniert das bei mir!
Nur für die als Kosmetik habe ich noch das LCD gelöscht, jedoch nicht über den I2C Bus.
Grüsse
Hab mal ne Frage zur Befehlsstruktur unter Punkt 8:
Wollt ihr für #define CMD_SETIOS jeden I/O einzeln setzen?
Oder analog zu SETLEDs auch mehrere auf einmal?
Und wie ists, wenn manche als Input, andere als Output behandelt werden sollten?
Die Idee ist wirklich klasse!
Und der Einschub mit den abgespeicherten Strings finde ich ebenfalls sinnvoll. Man kann ja auf gewisse Ereignisse vordefinierte Strings z.B. ins LCD schreiben lassen etc.
Grüße
@Filou89:
Danke für deinen Slave-Code!
Ja, so sollte es ohne Master sein. Könntest du das mal mit einem einfachen Master testen (z.B. nur M32-LEDs blinken lassen)?Also wenn immer die äusseren und die inneren blinken, dann funktioniert das bei mir!
@fabqu:
Sollten wir die IOs wirklich einzeln als I oder O setzen können? Möglich ist das ...
Mit den Strings muss ich mal überlegen. Im Augenblick möchte ich noch writeStringLCD versuchen ...
Gruß
Dirk
Im RN-Wissen Artikel gibt's jetzt die erste Master-Slave Demo:
Ein simples Lauflicht auf der M32, über I2C von der M256 WiFi gesteuert, und mit Timeout-Funktion.
Dazu gehört auch schon eine unfertige Beta-Version der M32 I2C Master Library für die M256 mit den Funktionen zur Steuerung der M32. Diese Library kommt zunächst in den Projektordner,- wenn sie fertig ist später (wie die mitgelieferte RP6M256_I2CMasterLib) auch in den \RP6Lib\RP6control_M256_WIFI Ordner.
Vorschläge?
Insbesondere brauchen wir noch Ideen für die Nachbildung der SPI-Lesefunktionen und der schwierigeren LCD-Funktionen in der Lib...
Schön wäre auch eine Ergänzung der Demo um eine M32 LCD-Ansteuerung und um einen M32 Sound-Test...
Gruß
Dirk
Hallo Leute,
jetzt gibt es die erste vollständige Version (1.00) der M32 I2C Master Library für die M256 WiFi.
Der Slave für die M32 liegt passend in der Version 1.10 vor.
Ich werde jetzt vorläufig nichts weiter ändern, so dass ihr in Ruhe testen könnt.
Wie gefällt's euch?
Gruß
Dirk
Lesezeichen