Nochmal eine Idee Steffen: Wir hatten ja schon mal telefonisch über die verschiedenen Möglichkeiten gesprochen, IO-Karten an den Hive anzubinden. Da ich in dieser Richtung überhaupt noch nicht praktisch getestet hab, sind das nur Ideen. Folgende Möglichkeiten waren mir damals in den Sinn gekommen:
- 8Bit-Bus: Anscluss der IO-Props ähnlich wie Administra & Bella über den parallelen Bus inkl. Steuersignalen. Zur Auswahl das Regnatix-Heartbeat. Vorteil: Einfachheit & schnell; Nachteil: Verschwendung von vielen IO-Ports am Plexus.
- ADM-P19..22 über I2C: zwei Kanäle wären möglich. Vorteil: Wenige IO-Ports für die Kommunikation, mehr Ports frei zur Verfügung; Nachteil: Langsame Übertragung; Komplizierter zu implementieren.
- ADM-P19-22 über SPI oder SPI-ähnliches Protokoll mit Adresseirung: Vorteil: Wenige IO-Ports für die Kommunikation, mehr Ports frei zur Verfügung; Nachteil: Langsame Übertragung; Komplizierter zu implementieren.
Jetzt ist mir noch eine Variante eingefallen, die sehr wenig Ports verbrät und auch einfach zum implementieren ist. Was wäre, wenn man mit dem normalen FullDuplexSerial-Objekt über zwei Pins eine serielle Kommunikation aufbaut. Dafür bräuchte man nur drei Ports:
D0/REG-TX ---> PLEX-RX
D1/REG-RX ---> PLEX-TX
REG-HBEAT ---> IOSEL
Wird das Signal IOSEL (Heartbeat von Regnatix) aktiviert, startet die Transmission. Das bedeutet, Regnatix und alle Plexi starten ihre serielle Cog (oder schalten die schon gestartete Cog auf dem Bus frei). Das erste nun von Regnatix gesendete Byte ist die Nummer des Plexus der selektiert werden soll. Dieser (sofern vorhanden) sendet eine Quittung, alle anderen Knoten gehen bis zum nächsten IOSEL wieder schlafen. Nun spricht Regnatix mit dem selektierten Plexus und bei Beendung der Transmission deselektiert sich der Plexus wieder (wie die anderen Knoten), wartet auf einen neuen Transmissionsstart mit IOSEL und schaltet den Bus frei. Regnatix schaltet jetzt ebenfalls den Bus wieder frei.
Allerdings muss man darauf achten, das man während der IO-Operationen den Bus nicht benutzen darf, was bedeutet, dass man nicht auf Funktionen von Administra, Bella oder den externen RAM zugreifen kann.
Aber man hat auf dem Plexus wirklich fast alle IO-Ports zur freien Verfügung. Vielleicht kann man es auch geschickt gestalten und zumindest beim Plexus gleich P30/31 verwenden?
So könntest du auf deiner Karte ganze 10 zusätzliche Ports freibekommen, sofern man P30/31 doppelt nutzt, bräuchte man ja nur eine einzige Leitung zusätzlich! (Ich hab grad gesehen, das du dich auf /PROP2 geklemmt hast - sollte wahrscheinlich auf das HBEAT-Signal!)
Wenn du jetzt den zweiten Prop auch noch parallel ankoppelst, kommen übrigens nochmal zwei Ports dazu.

Und wenn man TX/RX/IOSEL durchschleift, könnte man theoretisch noch bis zu 254 weitere Props dranhängen.
Zur Geschwindigkeit: Mit dem normalen OBEX-Objekt schafft man 115KBaud, was für die meisten Experimente auf dem Gebiet schon ausreichend sein sollte. Allerdings könnte man auch bis zu 14,5MegaBaud mit diesen Routinen schaffen:
http://forums.parallaxinc.com/forums/de ... 1&m=233212
Kann jetzt nicht sagen, ob ich da einen Denkfehler hab, aber wenn ich die nächsten Tage Zeit hab, werde ich das mal mit dem Demoboard und meinem Hive praktisch durchspielen.