Graupner HoTT Telemetrie-Sensoren Eigenbau DIY | Telemetrie-Protokoll entschlüsselt

dl3ed

User
Schnittstellenprotokoll

Schnittstellenprotokoll

Hallo Zusammen,
man sollte sehr vorsichtig sein mit dem Anschluss des Atmels an den Empfänger. Da der Empfänger ein bidirektionale Schnittstelle auf der Telemetrieleitung hat kommt es vor das der Empfänger Daten anfordert (sprich aus dem Bus Sendet) und gleichzeitig der Atmel Daten ausgibt. Somit arbeiten beide Schnittstellen gegeneinander. Dies kann zur Zerstörung der Telemetrieschinttstelle führen. Es wäre deswegen wichtig das man auch auf der Atmel Seite eine bidirektionale Schnittstelle verwendet. Dies ist mit einem Gatter vom 4066 (dies ist ein 6 Pin IC, gibt es z.b. bei Conrad) einfach zu realisieren. Somit ist man dann auch in der Lage das Empfängerprotokoll auszuwerten.
 
Hallo Zusammen,
man sollte sehr vorsichtig sein mit dem Anschluss des Atmels an den Empfänger. Da der Empfänger ein bidirektionale Schnittstelle auf der Telemetrieleitung hat kommt es vor das der Empfänger Daten anfordert (sprich aus dem Bus Sendet) und gleichzeitig der Atmel Daten ausgibt. Somit arbeiten beide Schnittstellen gegeneinander. Dies kann zur Zerstörung der Telemetrieschinttstelle führen. Es wäre deswegen wichtig das man auch auf der Atmel Seite eine bidirektionale Schnittstelle verwendet. Dies ist mit einem Gatter vom 4066 (dies ist ein 6 Pin IC, gibt es z.b. bei Conrad) einfach zu realisieren. Somit ist man dann auch in der Lage das Empfängerprotokoll auszuwerten.

Was soll hier zerstört werden?
Hier gehts um BUS-System und in schlimmsten Fall führt zur Kollision für kurze Zeit.
Es kann man mit zwei Frauen vergleichen, die miteinander gleichzeitig reden und keine hört andere:D
 

Mulder

User
Bidirektionale Kommunikation / Textübertragung

Bidirektionale Kommunikation / Textübertragung

Hallo,

ich hatte bei mir das Problem, dass die Anzeige an der MX-12 teilweise gar nichts mehr anzeigt hat.

Nun habe ich mal die Kommunikation mittels HTerm und einem FT232 RL USB-RS232 Konverter zwischen meinem Empfänger und einem Original Vario

mitgehört und den Code um die bidirektionale Kommunikation erweitert, somit läuft es bei mir zuverlässiger. Den RX und TX Anschluss des uC´s

habe ich mit je 510 Ohm auf den Signalpfad zum Telemetrieeingang des Empfängers geführt -> macht Jeti mit seinen AVR´s wohl auch so... Einen

zusätzlich Baustein benötigt man normalerweise nicht. Für den Kollisionsfall hängt der Widerstand dazwischen.


Hier habe ich übrigens eine (teilweise) Dokumentation des HOTT Protokolls gefunden:

http://forums.openpilot.org/topic/7282-free-transmission-of-telemetry-with-voice-feedback/ -> siehe: Sensorenschnittstelle_V3.doc



Hier der Codeauschnitt in dem zuvor auf die Anfrage vom Empfänger gewartet wird und nur zum Senden die TX Leitung als Ausgang geschaltet wird:


void GMessage::send()
{
int incomingByte = 0;

UCSR0B &=~(1<<TXEN0); // Set TX output as input
pinMode(0,INPUT); // 0 = tx;

if (Serial.available() > 0)
{
// read the incoming byte:
incomingByte = Serial.read();
}

if (incomingByte == 0x8d) //0x8d) // Wait for Sensorrequest from receiver ; 0x89 -> vario; 0x8d -> General Moudule
{
UCSR0B |=(1<<TXEN0); // Switch TX to Output only for transmitting the sensor string
pinMode(0,OUTPUT); // 0 = tx

// Varioteststring (zuvor vom original Vario mitgeloggt, incl. Checksumme):
//uint8_t message_array[36] = {
//0x7C, 0x89, 0x00, 0xF5, 0x01, 0xF6, 0x01, 0xF4, 0x01, 0x26, 0x75, 0x4E, 0x75, 0x30, 0x75, 0x00, 0x7D, 0x67 }; // Vario Teststring...
// Chechsumme auskommentieren und LENGTH gleich 18 setzen zum testen...

message_array[MESSAGE_CHECKBYTE_POS] = checksumme(message_array);

for(int i = 0; i < LENGTH; i++) // LENGTH; i++) für Varitest LENGTH gegen 18 ersetzen
{
Serial.print(message_array, BYTE);
delay(PROZESSOR_GESCHWINDIGKEITS_TYP);
}
UCSR0B &=~(1<<TXEN0); // Set TX output as input again
pinMode(0,INPUT); // 0 = tx;
}
}




Interessant finde ich auch, dass Hott eine Textübertragung mit eingebaut hat, mit der die Sensoren konfiguriert werden können -> fände ich

besonders interessant um z.B. meinen WII Copter per HOTT zu konfigurieren...



Hier noch einige meiner bisherigen Erkenntnisse durch das Mitloggen und der Doku auf http://forums.openpilot.org:



Empfänger sendet ohne Sensor, Sender aus:

00 00 00 00 0x7f 00,

dann:

0x7F 0xFF fortlaufend




Empfänger sendet ohne Sensor, Sender an, kein Sensor im Sender ausgewählt:

00 00 00 00

dann 0x80 0x80 fortlaufend

0x80 ist wohl um den Empfänger selbst zu addressieren..


Sensoren im Sender ausgewählt:

nach Einschalten des Empfängers immer zuerst

00 00 00 00


..jedoch mit "General Moudul" ausgewählt:

0x80 0x8d fortlaufend


..jedoch mit Electric Air Moudul" ausgewählt:

0x80 0x8e fortlaufend


..jedoch mit Vario Moudul" ausgewählt:

0x80 0x89 fortlaufend


..jedoch mit "GPS Moudul" ausgewählt:

0x80 0x8A fortlaufend




Kein Sensor Angeschlossen, Vario im Senser ausgewählt, Menü "Einstellen, Anzeigen" aufgerufen:


Empfänger sendet "7F FF" fortlaufend

... nun wird das Vario angesteckt:

ASCII:
??????????<\n>??{?<\0>
Vario Sensor <> Altitude : 0.0m Min. : 0.0m Max. : 0.0mDiff./Sec : 0.0mDiff./ 3S

: 0.0mDiff./10S : 0.0m }??{?<\0>


HEX:
7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 0A 7F FF 7F FF 7B 80 00 20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C

3E 20 41 6C 74 69 74 75 64 65 20 3A 20 20 20 20 20 20 30 2E 30 6D 20 20 20 20 4D 69 6E 2E 20 20 3A 20 20 20 20 20 20 30 2E 30 6D 20 20 20 20 4D

61 78 2E 20 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 53 65 63 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 20 33 53 20 3A

20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

20 20 20 20 7D C4 7F FF 7B 80 00


reines Packet:

ASCII:
Vario Sensor <> Altitude : - 0.1m Min. : - 0.1m Max. : 0.0mDiff./Sec : 0.0mDiff./ 3S : 0.0mDiff./10S :

0.0m }??{?<\0>

bzw. HEX:
20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C 3E 20 41 6C 74 69 74 75 64 65 20 3A 20 20 2D 20 20 20 30 2E 31 6D 20 20 20 20 4D 69

6E 2E 20 20 3A 20 20 2D 20 20 20 30 2E 31 6D 20 20 20 20 4D 61 78 2E 20 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 53 65 63 20 3A 20

20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 20 33 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20 20 20 20 30

2E 30 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D E0 7F FF 7B 80 00

Vario angesteckt, Menü verlasse, Messwerte vom Vario werden fortlaufend gesendet:

7C 89 00 F5 01 F6 01 F4 01 26 75 4E 75 30 75 00 7D 67
7C 89 00 F5 01 F6 01 F4 01 30 75 4E 75 30 75 00 7D 71

Umschaltung Menü -> Messwertübertragung:

ASCI:
Diff./10S : 0.0m }???|?<\0>?<1>?<1>?<1>0uNu0u<\0>}q??|?<\0>?<1>?<1>?<1>&uNu0u<\0>}g??|?
HEX:
44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D DF 80 89 7C

89 00 F5 01 F6 01 F4 01 30 75 4E 75 30 75 00 7D 71 80 89 7C 89 00 F5 01 F6 01 F4 01 26 75 4E 75 30 75 00 7D 67 80 89 7C 89


Lesen vom Vario mittels Hterm:

Vermutlich richtig so: 0x80 (Emfpfängerbyte) 4ms Pause 0x89 (Adressierung Vario)

da keine Delays mit Hterm erzeugt werden können:

PC: 0x80 0x80 0x89
Vario:
ASCII: |?<\0>?<1>?<1>?<1>Nu&u0u<\0>}g
HEX: 7C 89 00 F5 01 F6 01 F4 01 4E 75 26 75 30 75 00 7D 67

-> 80 80 89 wird natürlich als Echo dargestellt, da RX und TX über Wid. verbunden ist, die Antwort ist ohne PC Echo dargestellt



Textausgabe des Varios starten:

Vermutlich richtig so: 0x7F 4ms Pause 0xFF (im letzen FF sind die Tastendrücke codiert!)

da keine Delays mit Hterm erzeugt werden können:

Experimentell vom PC gesendet:

7F FF FF

Antwort vom Vario:

ASCII:
{?<\0> Vario Sensor <> Altitude : - 2.4m Min. : - 3.0m Max. : 2.5mDiff./Sec : 0.5mDiff./ 3S : 0.1mDiff./10S :

- 0.2m }<3>

HEX:
7B 80 00 20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C 3E 20 41 6C 74 69 74 75 64 65 20 3A 20 20 2D 20 20 20 32 2E 34 6D 20 20 20

20 4D 69 6E 2E 20 20 3A 20 20 2D 20 20 20 33 2E 30 6D 20 20 20 20 4D 61 78 2E 20 20 3A 20 20 20 20 20 20 32 2E 35 6D 44 69 66 66 2E 2F 53 65 63

20 3A 20 20 20 20 20 20 30 2E 35 6D 44 69 66 66 2E 2F 20 33 53 20 3A 20 20 20 20 20 20 30 2E 31 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 2D 20

20 20 30 2E 32 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 03


Tasten (Menünavigation Überprüft mittels 2 Varios, eines am PC eines am Emfänger):

FF: 1111 1111: Keine Taste gedrückt

FE: 1111 1110: rechts

FD: 1111 1101: down

FB: 1111 1011: up

F9: 1111 1001: set

F7: 1111 0111: links


Grüße,
Jochen
 
Ich habe gestern auch einfach mal ein mini Arduino mit der tecodino Software (mit den vorgenannten Änderungen) beladen - funktionierte alles gleich auf Anhieb :)
Da ich die Telemetrie hauptsächlich wegen der verflogen Kapazität benutzen möchte (Protos und Stinger EDF Jet) werde ich mal versuchen meine noch vorhandenen Allegro Stromsensoren einzubinden. Leider sind es die "alten" 5V only Sensoren (50A) und ich würde gerne alles auf 3,3V Arduinos umstellen. Falls also jemand ne Bezugsquelle (ausser der Apotheke Farnell) für aktuelle Allegro Stromsensoren (z.B. ACS758 100A unipolar) hat - immer her damit ;)
 
Danke für den Link Jochen! Die gewünschten Sensoren hat der Laden zwar nicht direkt ab Lager, aber ich werde trotzdem dort bestellen und hoffe, dass die angegebenen 3-5 Tage einigermassen realistisch sind ;)
Preislich ist der Laden auf jeden Fall sehr interessant, 30% günstiger als Farnell und nur 5€ Versandkosten.
Meine Arduinos sind nun da und warten auf ihren Einsatz. Wahrscheinlich komme ich erst über Weihnachten dazu, alles fertigzubasteln, aber wenn es soweit ist, dann melde ich mich hier wieder :D
 
Daten "sichtbar" machen.

Daten "sichtbar" machen.

Hallo werte Bastler

Erstmal muss ich sagen, eine spitzen Idee und eine sehr gute Arbeit von euch.Besonders vom Flying-Doc! .

Ich wollte auch so ein "Sensor" basteln. Aber ich scheitere schon am einfachen ;-)

Ich wollte/würde die Daten gerne via HyperTerminal sichtbar machen.

Mein Aufbau:

Sender MX-12:
Empfänger: GR-12 (Ch5 ist dort der Telemetrie IN) Anlage ist auf Sensor umgestellt.
USB --> RS232: 1x Original Graupner Umsetzter (7168.6) und/Oder 0-8-15 USB-->RS232 mit Pollin Pegelwandler.
FW-Update des GR-12 funktioniert!
Habe kein Sensor am Empfänger also der Telemetrie Ausgang/Eingang geht direkt an den Umsetzer.

Dann habe ich in Hterm 19200bps/8, VT100 eigestellt.
So, ich erhalte immer nur Hieroglyphen in 200ms Abständen. Das wird der Request sein, den ich erstmal gerne "sehen" möchte.

Habe mal mit der Übertragungsrate und pull Up pull down R´s gespielt, nix. Sehe keine schönen HEX Werte wie Ihr.

Vielleicht hat einer mal eine Idee oder kostbare Hinweise

Ach ja, mein Ziel: Ich möchte das alles natürlich klein haben. Deswegen würde ich den Sensor mit Attiny13 etc. mal versuchen wollen.

Tip für Vario-Drucksensor: Drucksensor MOTOROLA SPX3058D bei Pollin.de zu gebrauchen? Ich habe mal einen bestellt.

Schönen Abend noch. Und danke
 

maccl

User
sensordaten auch für multicopter?

sensordaten auch für multicopter?

Hallo Zusammen,

vorweg, ich habe leider kaum erfahrungen mit Sensoren und Programmierung.
also ich bitte um nachsicht wenn sich meine Fragen blöd anhören sollten ;)

nun:
ich beabsichtige mir einen multicopter zu bauen.
als steuerungplatine wird bei den meisten boards ein arduino eingesetzt.
zb flyduino
http://www.flyduino.net/

http://static.rcgroups.net/forums/a...l_flyduino_pinout_MegaPirate.jpg?d=1306981431

jetzt stelle ich mir die frage ob dieses board welches mit der multiwii software (http://www.multiwii.com/) betrieben wird,
auch telemetrie tauglich mit HOTT ist.


Kenn sich evtl jemand damit aus?



ich habe gesehn das HOTT telemetrie mit miultikoptern möglich ist.
siehe hier (nur leider zu teuer für mich)

https://www.mikrocontroller.com/ind...ath=69&zenid=3444a5388dda17e74c50d24c6d78cc9b
http://mikrokopter.de/ucwiki/HoTT?highlight=(hott)#Anschluss_Empf.2BAOQ-nger_an_die_FlightCtrl2.1

dank und gruß
 

MeiT

User
Hi,

ich würd gern mitmachen beim DIY.

Hab mal schnell nen AVR mit dem HOTT Bus verbunden.

Der AVR sendet alle 200ms die Sequenz:

...
mit 3 Einzelzellen-Lipo
Frage des Empfängers (request) 80 8d:
Antwort des General-Air-Modul: 00 7c 8d 00 d0 cf cf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f2 01 30 75 78 00 00 00 00 00 00 00 80 7d 84 00
...

Auf dem Oszi kann man erkennen, dass es genau nach dem Request ist.
Aber an der Funke kommt nix an.

Hab leider schon die V4 drauf.
Ob es an der V4 liegt?

Ich habe bisher keine einzigen Sensor, da ich HOTT erst seit gestern habe und heute kein Händler in der Nähe sowas da hatte.

Da ich mehr Hardwarelastig bin, könnten wir uns vielleicht gegenseitig unterstüzten.

Grüße
MeiT
 

Mulder

User
Hallo MeiT,

ja, es liegt an der V4. Hab gestern Sender u. Empänger upgedatet. Mein original Vario musste ich ebenfalls updaten, da es nicht mehr erkannt wurde.

Grüße,
Jochen
 
Ich habe nun auch alles an "Zutaten" zusammen und wollte demnächst endlich mal loslegen. Das Update auf V4 habe ich mir aber noch verkniffen, da ich z.Z. nicht weiss, inwiefern sich das ganze Protokoll geändert hat. Gibt es da Informationen drüber?
 

Mulder

User
Hallo,

bin gerade beim Mitloggen, hier mal mein bisheriger Stand:


80 89 bzw. mit Hterm wg. delay: 80 80 89



Antwort Vario V4:

7C 89 00 90 00 F3 01 F4 01 F3 01 3A 75 30 75 08 75 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7D C0



Antwort Vario V3:

7C 89 00 F4 01 F4 01 F4 01 58 75 30 75 30 75 00 7D 78



-> es wurde Erweitert...




Textübertragung (V4):

hex:

00 00 00 7D 14 (ende binärübertragung) 7F 9F 7B 90 00 20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C 3E 20 41 6C 74 69 74 75 64 65 20 3A 20 20 20 20 20 20 31 2E 31

6D 20 20 20 20 4D 69 6E 2E 20 20 3A


-> hier bin ich ins Einstellmenü gewechselt, "7F 9F" schaltet also in den ASCII mode...



ascii:

<\0><\0><\0>}<20>?{?<\0> Vario Sensor <> Altitude : 1.1m Min. : ( ... )



Anfrage ans Vario:

7F pause 9F

bzw. 7F 80 9F (Hterm)


Antwort V4 Vario:

ascii:
{?<\0> Vario Sensor <> Altitude : - 0.6m Min. : - 1.8m Max. : 1.1mDiff./Sec : 0.3mDiff./ 3S : 0.2mDiff./10S : 0.0m }

<4> <> Altitude : - 1.2m Min. : - 1.8m Max. : 1.1mDiff./Sec : - 0.4mDiff./ 3S : 0.0mDiff./10S : 0.2m }<15>??{?<\0> Vario

Sensor <> Altitude : - 0.3m Min. : - 1.8m Max. : 1.1mDiff./Sec : 0.1mDiff./ 3S : 0.0mDiff./10S : 0.4m


hex:

7B 90 00 20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C 3E 20 41 6C 74 69 74 75 64 65 20 3A 20 20 2D 20 20 20 30 2E 36 6D 20 20 20 20 4D 69 6E 2E 20 20 3A 20 20 2D

20 20 20 31 2E 38 6D 20 20 20 20 4D 61 78 2E 20 20 3A 20 20 20 20 20 20 31 2E 31 6D 44 69 66 66 2E 2F 53 65 63 20 3A 20 20 20 20 20 20 30 2E 33 6D 44 69 66 66 2E 2F 20 33 53 20

3A 20 20 20 20 20 20 30 2E 32 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 04 20 3C 3E 20

41 6C 74 69 74 75 64 65 20 3A 20 20 2D 20 20 20 31 2E 32 6D 20 20 20 20 4D 69 6E 2E 20 20 3A 20 20 2D 20 20 20 31 2E 38 6D 20 20 20 20 4D 61 78 2E 20 20 3A 20 20 20 20 20 20 31

2E 31 6D 44 69 66 66 2E 2F 53 65 63 20 3A 20 20 2D 20 20 20 30 2E 34 6D 44 69 66 66 2E 2F 20 33 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20

20 20 20 30 2E 32 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0F 7F 80 9F 7B 90 00 20 20 20 20 56 61 72 69 6F 20 53 65 6E 73 6F 72 20 20 20 3C 3E 20 41

6C 74 69 74 75 64 65 20 3A 20 20 2D 20 20 20 30 2E 33 6D 20 20 20 20 4D 69 6E 2E 20 20 3A 20 20 2D 20 20 20 31 2E 38 6D 20 20 20 20 4D 61 78 2E 20 20 3A 20 20 20 20 20 20 31 2E

31 6D 44 69 66 66 2E 2F 53 65 63 20 3A 20 20 20 20 20 20 30 2E 31 6D 44 69 66 66 2E 2F 20 33 53 20 3A 20 20 20 20 20 20 30 2E 30 6D 44 69 66 66 2E 2F 31 30 53 20 3A 20 20 20 20

20 20 30 2E 34 6D 20 20 20 20 20


Jochen
 

MeiT

User
Hi,

einfach nur Sensordaten zu senden, ohne auf den Request zu hören, hat bei mir ab und zu zu einem "blue Screen" im Sender geführt.

Nach abhören vom Request und "nur senden nach Request" macht keine Probleme.

Das hat auch den Vorteil, dass man GAM und EAM gleichzeitig in einem Sensor implemetieren kann ;)

Grüße

GAM-1.JPG


GAM-2.JPG


EAM-1.JPG


EAM-2.JPG
 

ingo_s

User
"Blue Sreen"

"Blue Sreen"

@ MeiT
den Sensor Bus sollte man schon nach seinen Spezifikationen betreiben.

Aber eine Fehlfunktion eines Sensors lässt sich ja nie ganz ausschließen, daher die Frage:
funktionierte die Fernsteuerung denn wenigstens noch trotz "Blue Screen" ?

Wenn nicht finde ich es sehr bedenklich, wenn sich eine Fernsteuerung durch nicht konforme Sensordaten ausser Betrieb setzen lässt. Graupner müsste da dann schnellstens nachbessern.

Gruß Ingo
 

MeiT

User
Hi,

die ganzen Sachen laufen noch bei mir noch auf dem Basteltisch.
Servos hatte ich nur einmal angeschlossen.
Eingebaut in Modelle habe ich noch nix.

Ich werde es nochmal nachstellen und schauen ob die Funke noch geht.

Grüße
 

MeiT

User
Hallo,

ich schaffe es nicht mehr es nachzustellen.

Damals ist es aufgetretten wo das erste Byte der Sensordaten mit dem Request kollidiert sind.

Grüße
 

mha1

User
Hallo,

interessante Sache. Ich lese hier mit und versuche zu verstehen wie HoTT Telemetrie funktioniert. Ich hoffe Ihr könnt mir ein wenig auf die Sprünge helfen.

Mein Verständnis bitte ggf. richtigstellen:
- der Sender (über den Empfänger) als Master die Telemetriemodule adressiert und zum Sprechen auffordert.
- der Empfänger hat ein "eigenes" Telemetriemodule eingebaut, das wie externe auch adressiert wird
- jedes Modul hat eine eigene Adresse:
0x80 Empfänger
0x8d General Air Modul
0x8a GPS
0x89 Vario
0x?? General Engine Modul
0x?? Electric Air Modul
- HoTT unterscheidet Binärmodus und Ascii Modus
- der ASCII Modus wird (nur?) zur Konfiguration der Module (z.B. Alarmschwellen) verwendet
- Im ASCII Modus können Tastendrücke vom Sender zum Telemetriemodul geschickt werden:
0x7f 0xff 0xff keine Taste gedrückt
0x7f 0xff 0xfe rechts
0x7f 0xff 0xfd down
0x7f 0xff 0xfb up
0x7f 0xff 0xf9 set
0x7f 0xff 0xf7 links

Fragen:
- Wie werden die Telemetriemodule im ASCII adressiert oder senden die dann dauernd?

Danke

Michael
 

MeiT

User
Moin,

Request Textmodus vom Empfänger:

0x7f 0xDf keine Taste gedrückt
0x7f 0xDe rechts
0x7f 0xDd down
usw..

Das D ist die Adressierung an den GAM Sensor.

0x7f 0xAe wäre GPS Testmodus mit gedrückter "rechts" Taste.

General Air und General Engine haben beide D als Adresse

Grüße
 

mha1

User
Danke Dir. Hört sich sehr plausibel an. In der Sequenz, die ein Kollegen gepostet hat: was gehört zum Protokoll, was sind Daten?

Sender: 80 89 Aufforderung vom Sender an Adresse 9 (Vario) Daten im Binärformat zu senden

Vario antwortet mit 45 (stimmt das?) Byte Frame
7C 89 00 90 00 F3 01 F4
01 F3 01 3A 75 30 75 08
75 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 7D C0

Ich gehe davon aus, dass die ersten zwei Byte eine Kennzeichnung sind.
0x7c = Kennzeichen, dass Binärdaten folgen
0x89 = Wiederholung der Anforderung, damit der Sender die Daten zuordnen kann
0x00 = gehört das schon zu den Daten?
... = Datenstruktur ???
0x7d = sieht aus wie ein Endemarker
0xC0 = ist das eine Checksumme?
 
Ansicht hell / dunkel umschalten
Oben Unten