Sorry, korrigiere mich: Die Reihenfolge ist fix (s.u.), nicht random:
0x00
0xA1
0x22 FCS-40 (FAS)
0x83
0xE4
0x45
0xC6
0x67
0x48
0xE9
0x6A
0xCB
0xAC
0x0D
0x8E
0x2F
0xD0
0x71
0xF2
0x53
0x34
0x95
0x16
0xB7
0x98
0x39
0xBA
0x1B
Was war noch mal 0x00?
Die Sensoradresse ist ja offenbar schnuppe, sie muss nur eine sein, die gepollt wird, - die Value ID, die der Sensor für ein Datum zurückgibt, ist wohl allein kriegsentscheidend.
Habe noch nicht genug mit dem Sender (X9D) gespielt. Ist denn die Sensorauswahl für's Display ebenso wahlfrei? Auf jeden Fall kreiert der Sender für den FCS-40 automatisch auch eine eigene Compilation von Displays, darunter auch "Pwr" und "mAh", die er selbst berechnet, - also neben den user-defined Displays, hier auf "Curr" und "Vfas".
Nun will man aber nicht mit Sensoren von FrSky kollidieren. Lt. HP von FrSky gibt es bisher nur 4 S.Port Sensoren. Einen habe ich da, FCS-40, der hört eben auf 0x22.
Was ich nicht verstehe: Der Waschzettel ("Manual"), den es dazu gibt, sagt:
"The physical ID for this sensor is 03. The ID number could be changed by FrSky Servo Channel Changer..."
Wo korrespondiert denn "03" mit 0x22? (Den "Servo Channel Changer" habe ich auch noch nicht gefunden.)
Hmm.. Werde es dann notgedrungen wohl so machen, dass man in der Config von JLog/HTI aus den 28 Adressen wählen kann, abzüglich der bekannt besetzten, was aus meinem Wissenswinkel bisher nur die 0x22 ist.
Wie sieht's denn mit Sensoralarmen aus, flogen die gänzlich raus?
-----
Entschuldigung, ich bin mal so frech und kippe noch mehr momentane Fragen aus meinem Kopf in den Post:
CRC: Ist das tatsächlich so, dass man von CRC16 auf so ein ulkiges Pseudo-CRC8 ging? Ist ja nutzloser als das halbechte CRC8 von JETI und JR bzw., die Krönung, die "Checksumme aus dem Spielzeugland", die HoTT verwendet.
In der Source zum RPM Sensor fällt mir auch das "short crc" auf. Wirklich gewollt signed?!
Ich frage zum CRC, weil: Nicht, dass FrSky da momentan im Rx gar nicht auswertet (bzw. im Tx). JETI hatte uns ja zum Jahreswechsel 2012 auch so ein Ei gelegt, indem sie vorher das CRC auf Sensordefinitionen (Text+) nicht auswerteten in EX.
Zusatzfrage dazu: Das dritte Byte vom Ende ist immer noch fix 0x00, - bzw. jetzt auch das zweite, weil CRC nur noch ein Byte besetzt?
Zweitens, Idle Line Protocol: Das gibt es ja hier gar nicht. Stattdessen gab es so eine Definition zum Umschreiben von Steuerbytes, was hier 0x7E wäre. Sinn ist, zu vermeiden, dass ein Sensor das Datum eines anderen Sensors versehentlich als seine Adressierung versteht, --> Kollision auf dem Bus.
Gibt es diese Umschreibung noch, wenn ja, wie?