Reinhardt Werbik
User
So, die Suche nach freien IDs war erfolgreich, hier ist das Ergebnis:
#define MSB_00_ID 0x20 // IDs für zusätzliche User Daten (pro MSB Adresse)
#define MSB_01_ID 0x31
#define MSB_02_ID 0x32
#define MSB_03_ID 0x33
#define MSB_04_ID 0x34
#define MSB_05_ID 0x35
#define MSB_06_ID 0x36
#define MSB_07_ID 0x37
#define MSB_08_ID 0x38
#define MSB_09_ID 0x29
#define MSB_10_ID 0x2A
#define MSB_11_ID 0x2B
#define MSB_12_ID 0x2C
#define MSB_13_ID 0x2D
#define MSB_14_ID 0x2E
#define MSB_15_ID 0x2F
#define ID_ALARMS 0x00 // ID für MSB Alarm-Flags
Wie man sieht, repräsentiert das zweite Nibble jeweils die MSB Adresse, 0x00 ist für die Alarm Flags.
Achtung: Die Kapazität wird jetzt als zusätzlicher Parameter behandelt und hat nicht mehr die feste ID 0x29.
(Diese wurde für obige Liste gebraucht, da es sonst keine freie ID mit zweiter Stelle = 9 gibt.)
Kapazität auf Adresse 4 (wie bei mir meistens) wird somit mit ID 0x34 übertragen.
Für Drehzahl bleibt die ID 0x07 fest zugeordnet, da hier ein einfaches Durchreichen des Wertes nicht ausreicht,
wegen der Fallunterscheidung zwischen 10 und 100 1/min Auflösung.
Damit ist das ursprüngliche Konzept nur geringfügig "unschöner" geworden, weil die IDs der zusätzlichen Parameter
nicht mehr direkt aufeinanderfolgend sind, was aber in der Praxis wurscht ist.
Jetzt muss ich das ganze noch schnell in den Code einbauen und hoffen, dass OpenTx nicht mit einer der obigen IDs doch irgendwas spezielles anstellt.
#define MSB_00_ID 0x20 // IDs für zusätzliche User Daten (pro MSB Adresse)
#define MSB_01_ID 0x31
#define MSB_02_ID 0x32
#define MSB_03_ID 0x33
#define MSB_04_ID 0x34
#define MSB_05_ID 0x35
#define MSB_06_ID 0x36
#define MSB_07_ID 0x37
#define MSB_08_ID 0x38
#define MSB_09_ID 0x29
#define MSB_10_ID 0x2A
#define MSB_11_ID 0x2B
#define MSB_12_ID 0x2C
#define MSB_13_ID 0x2D
#define MSB_14_ID 0x2E
#define MSB_15_ID 0x2F
#define ID_ALARMS 0x00 // ID für MSB Alarm-Flags
Wie man sieht, repräsentiert das zweite Nibble jeweils die MSB Adresse, 0x00 ist für die Alarm Flags.
Achtung: Die Kapazität wird jetzt als zusätzlicher Parameter behandelt und hat nicht mehr die feste ID 0x29.
(Diese wurde für obige Liste gebraucht, da es sonst keine freie ID mit zweiter Stelle = 9 gibt.)
Kapazität auf Adresse 4 (wie bei mir meistens) wird somit mit ID 0x34 übertragen.
Für Drehzahl bleibt die ID 0x07 fest zugeordnet, da hier ein einfaches Durchreichen des Wertes nicht ausreicht,
wegen der Fallunterscheidung zwischen 10 und 100 1/min Auflösung.
Damit ist das ursprüngliche Konzept nur geringfügig "unschöner" geworden, weil die IDs der zusätzlichen Parameter
nicht mehr direkt aufeinanderfolgend sind, was aber in der Praxis wurscht ist.
Jetzt muss ich das ganze noch schnell in den Code einbauen und hoffen, dass OpenTx nicht mit einer der obigen IDs doch irgendwas spezielles anstellt.