UFF: Endlich habe ich meinen next Step erreicht:
Mein LCD läuft über den system-internen Robby IC2-Bus als "I2C-LCD".
So siehts im Moment aus bei mir (Fortsetzung vom 4.2.2004):
Schritt 5: Eigenes Erweiterungsboard.
Nach den Tips von JanPeter ("nimm extra lange Stecker", "die Kupferseite gehört nach UNTEN") konnte ich das alles zusammenlöten. Das Board ist allerdings nur Einfach-Europa, und nutzt deshalb nicht alles aus (hab aber schon das von JanPeter entdeckte grössere besorgt).
Fest auf dem Board ist zur Zeit:
1. Steck-Verbindung zum Robby Bus (Conn-1 und Conn-2)
2. Parallel dazu nochmal dieselben Buchsen, für mich, zum Stöpseln
3. 2 LEDs für RESET / START Anzeige, über FlipFlop am Bus
4. 2 LEDS für RxD und TxD (flackert schön beim Download und beim PRINT)
5. 4 LEDs mit Buchsen, zum beliebigen Verdrahten
Das LCD sitzt auf seigenem Mini-Board; es kann wahlweise an die Robby-Ports[9..15] oder an den I2C-Bus gesteckt werden
Links ist Platz für eine alte CC1 (noch nix getestet), rechts liegt ein kleines Steck-Brett (wird intensiv benutzt).
Schritt 6: I2C-Bus, I2C-LCD läuft als Prototyp
Auf dem Steckbrett steckt ein PDF8574 mit Verbindung zum Robby I2C-Bus (SDA, SCL). Der PCF ist verkabelt mit einer Buchsen-Leiste, und in der steckt mein LCD Mini-Board als "I2C-LCD".
Da ich viel in Assembler gemacht habe, sind die Ausgaben sehr schnell; Ausgaben mit PRINT sind sogar "wahnsinnig schnell" (Robby mit 4 MHz; 12 MHz noch nix getestet).
Schritt 7-1: Assembler-Treiber; ist ziemlich endgültig:
Für I2C und I2C habe ich den P5DRIV12.S19 als Basis genommen, und ausser COMNAV, EXTPORT mit PLM_SLOW und LEDPORT (habe ich zzt gar nicht) alles rausgetan und nach BASIC verlagert.
Neu sind die I2C-Bus-Routinen I2C_WRITE, I2C_READ, sowie fürs I2C_LCD die Routinen I2C_LCD_WRITE, I2C_LCD_INIT8 und I2C_LCD_PRINT (damit man komfortabler über PRINT ausgeben kann).
Schrit 7-2: BASIC-Treiber; ist noch Prototyp:
In BASIC reingewandert sind die aus dem Assembler-Teil rausgeflogenen Teile des P5DRIV/12, wie ACS_, REVL...
Neu in BASIC ist das Interface zu I2C und I2C_LCD sowie Hilfsfunktionen (PEEK, Formatierungen...).
Wenn ich ein neues Programm anfange, kopiere ich immer ein Muster, das alle meine Routinen / Defines enthält, und lösche dann die nicht benötigten Teile raus, falls das Prog sonst zu gross werden sollte.
Hardwar Planung:
1. I2C-PCF runter vom Steckbrett, und rauf aufs LCD Miniboard
2. I2C Bus-Buchsen aufs Board
3. Zusätzlicher I2C-PCF aufs Board mit Buchsen für die 8 Ports
x. endlich mal die alte CC1 verbinden !!
Software-Planung
1. Möglichst stabile BASIC Version (brauche endgültige Namenskonvention...)
2. GATEWAY.BAS anschauen, für die Verbindung zur zweiten CC1
Lesezeichen