So habe mal an gefangen mein Les weiße des protokolls und mein erweiterten defintionen in ein Text datei zusammen zu Packen. Die wir dem zip File bei gepackt. Hier eine Vorab version zu beurteilung.
GrußCode:Grundsätzlich gelten Natürlich die Defintionen und Regeln für das Protokoll so Wie es Marvin und PicNick es definiert haben mein Definition sind nur erweiterung damit die Schnistelle EasyToUse wird bzw bleibt. Und die Komponenten so einfach sein Können. Da PickNick zur Zeit in anderen Projekten gebunden ist kann auch nicht mit Ihm die Erweiterung abstimmen aber ich denke er liest mit und würde sich schon bitter beschweren wenn so sehr aus dem Runder läuft. Haupt unterschied zwischen meiner Implementierung des TCP Stack's (heist das so?) Und dem von PickNick ist der das PickNick eine TCP verbindung für jeden Client hält. Und ich auf MultiCast als Übertragungsweg setze. Damit gilt den rn_server brauche ich nur einmal im Netz und die RNComNetworkLayer muß auf jeden Rechner der am RNCom-Netz teilnehmen möchte. Vor und nach Teile: RN_SERVER RNComNetworkLayer Um nun von einem Teil netz in das andere zu kommen braucht man keine besonderheiten sonder muß nur Irgendwo den Übergang definieren. In dem man in der RNComNetwork.ini StartTCPConnect=1 RN_ServerIP=192.168.2.10 die Obigen werte anpasst. Im RN_SERVER wir immer nur 1 Client angezeigt nämlich der Networklayer. Da PickNick zur Zeit mehr als 1 Client am TCP Prot nicht darstellen kann. Da aber eh alles an alle geschickt wird ist das kein Problem. Da ich auch eine Weile gebraucht habe bis ich das Protokoll geblick habe folge hier jetzt die Zusammenfassung nach meine Verständnis mit meinen erweiterungen. Zur Darstellung: <00> Bedeutet 1 Byte mit dem Wert 0 die Darstellung ist HEX also <FF> für den wert 255. Der TCPTeil: POS Wert Bedeutung 0 beliebig Lowbyte der länge des TCP Telegramms 1 beliebig HighByte der Länge des TCP Telegramms Damit ergibt sich eine Maximal länge des Telegrams von 65535 Bytes aber in meinen Componeten ist bei 10240 ist Schluß das liegt an dem TCP Stack von window mehr Byte kann ich nicht auf einmal senden. 2 beliebig Class an die Gesendet werden soll. Der wert 4 = AVR an Com1 es wird da von Ausgangen das es nur eine Serialen übergang zum Microcontroller gibt. Bis hier Standart defintion RNCom. Meine erweiterung 100,101,102 Sind PC Programme also <64>,<65>,<66> 3 beliebig ID des Programmes 1 - 255 die 0 steht für Broadcast an alle oder alle der selben Klasse jenach dem was in der Class drin steht 4 beliebig Absender Class also im Normalfall 100,101,103 5 beliebig Absender ID ab hier Folgen die Daten 6 Abhängig davon was in der Absender klasse steht Ist der Absender der Class 10X dann muß Hier <01> Kommen Für ein KeyValue String (0 Bytes nicht zulässig). Meine erweiterung ist hier eine <02> Ist das Nachfolgende Binärdaten also 0 Bytes zulässig. Format anwendungs spezifisch. Ist die Absender Class <82> dann ist in Byte 6 und 7 der wert des AD-Wandlers des AVR's die ID gibt an welcher es war da die Max auf lösung des AVR Ad's 10 Byte sind also max 1023 werden hier zwei byte benötigt Meine erweiterung: Absender Class <83> ist das Byte nummer 6 der wert der IO Port's in ID steht welcher







Zitieren

Lesezeichen