Hallo, Marvin !
RNBFRA-Adressen: Richtig, bei den PCF's muß man umstecken. Da man ja 8 Adressmöglichkeiten jumpern kann und 6 PCF's da wären, sollte das ja gehen. Bei den Atmega und Co- adressen kann man sich ja was ausdenken. Ich hab derzeit 6C und 6E für die Mega, und 68 und 6A für die Co.
Ich teste dzt. mit einer RNBFRA und einer zweiten Atmega-Platine kreuz und quer. Im Prinzip kein Problem, die Co's spucken aber gelegentlich in die Suppe, müssen noch räsoniert werden.
Ein paar Ansätze hab' ich da noch dazugeschrieben
https://www.roboternetz.de/wissen/in...sage_an_Master
Bei der Adress-Map-Routing-Bredouille darf man sich nicht verwirren lassen, sonst werden wir meschugge.
Ich bin unser R232-Router, über den Level-0 kommt eine Message daher
1. Ich habe eine "Unit" mit der adresse, also kriegt die es und fertig. z.B. ein Agent)
2. Kenn ich nicht.
2.1 Ich schick das Zeug einfach als General-Call über I2C weg (+Retour-adresse) und lass es drauf ankommen, ob sich wer rührt (PCF-en werden das nicht tun, logo)
2.2 Ich find eine Tabelle
16-Bit-sys-adresse <> 8 Bit I2C addresse Type: Master/peripherie
2.2.peripherie--> I2C standard , Level-0 daten werden teils geschickt, teils geholt.
2.2.master --> wie General Call, nur mit direkter I2C adresse
Gibt's ein NAK, wird das zurückgeschickt (level-0)
Bei General Call gibt's kein NAK, das ist einfach Pech für den Absender.
Empfang General Call: Entweder kann man was damit anfangen, dann sollte man dem Router was sagen, (Tabelle erweitern)
Oder nicht.---> Gibts noch ein Netzwerk, dann eben weiter. Wenn nicht, isses eben aus.
(Die Ursprüngliche Absende-Applikations muß sowas wie Timeouts kennen und damit umgehen)
Dynamisch könnte man machen:
Was der Router an (I2C) Geräten kennt, kann er dem PC ja mitteilen
Ist er kein Router, aber ein master, könnt er ja seine Geräte also Liste mit General Call beim Startup oder periodisch allen anderen bekanntmachen. ( Und ev. dem PC weitersagen)
Das wär im aktuellen Fall noch einfacher, denn dann gibt es gar keine Messages in Blitzblaue.
Erläuterung: General Call ist die Addresse NULL, die erkennen alle Master und können die Nachricht lesen, also ein Art I2C-Broadcast.
*schwitz*
Lesezeichen