Ich hatte es mal auf "Serial.print(0x7E, HEX);" geändert. Dann sendet es doch HEX Werte? Das hat aber nicht geholfen, zumal mein einfacher Sketch am Anfang dieses Themas den HEX Wert in Switch erfolreich einliest und in den richtigen case ausgibt mit dem aktuellen Sendesketch von vorhin.
Nein! Habe ich doch schon geschrieben, die Werte die ausgegeben werden sind von 0 bis 1023, die Nullstellung des Joysticks liegt hier in der Mitte. Die Knöpfe/Taster senden nur Werte 0 oder 1 (HIGH oder LOW/gedrückt oder nicht) raus.
Der Rückmeldebefehl habe ich ebenfalls schon erwähnt. Das ist ein (nach Tabelle) HEX Wert, z.B. 0x01, der als vierter Wert mitgesendet werden kann/soll, damit ich eine Rückmeldung über den Empfangs-/Sendestatus erhalte. Dieser Wert muss ich dann gemäss Handbuch eingeben, hat aber immer dasselbe Format => HEX Wert.
Kompliziert, weil ich sonst keine Rückmeldung erhalte. Das Datenpaket muss eine gewisse Reihenfolge der Daten haben. Und eben an vierter Stelle steht dann der mitgesendete Befehl für den Empfänger, damit mir der eine Rückmeldung schickt. Beim Empfänger aber muss ich ja meine eigentlich gesendeten Daten wieder auslesen. Und dafür müsste ich dann die gesendeten Daten von Anfang an einordnen (wie mit switch/case angedacht) und sie zuweisen. Dann habe ich wieder Bezeichnung A = Wert 1, ect., worauf dann im eigentlichen Programmablauf zugegriffen werden kann um die Motoren einzuschalten, Lichter an/aus, ect..
Weniger kompliziert wäre eine Variante gewesen, bei der ich einfach meine Daten ganz normal mit Serial.write() und Serial.read() sende/empfange, aber dann muss ich über die AT Befehle gehen, damit ich eine Rückmeldung des Empfängers erhalte. Das wäre dann Serial.write(+++) damit man in die Oberfläche des Sendemoduls kommt, dann muss 1sek. gewartet werden, um dann den Befehl Serial.write(ATDB) zu senden. Dann kommt auch eine Rückmeldung, aber die Loop ist gestört und läuft zu langsam ab. Das Senden und Empfangen sollte am Besten nebenbei erfolgen, während die Loop mit den Befehlen (Motor an/aus, wenn eben der Wert 1 (gedrückt) des Taster reinkommt, dann mach das und das) ungestört (beinahe ungestört) weiterläuft.
Das ganze soll nur dafür dienen, dass ich bei Verbindungsabbruch der Sende- und Empfangsmodule einen letzten Befehl kurz vorher senden kann, dass alles ausgeschaltet wird, bevor die Verbindung weg ist.
Ich hoffe es ist nun klarer!
Grüsse
Stef