Hallo,
nö 'ne Doku hab ich nicht. Ich hab' mir den Empfänger gekauft, weil der so schön klein war. Das der kein PPM-SUM kann wußte ich da noch nicht. Im Nachhinein ist der Nachteil sogar ein Vorteil. Am Sender braucht man nämlich keine Servowege wie bei meinem GR-12 mehr einzustellen. Das Timing (Pulsbreite) vom RX ist nicht wichtig. Die Daten der Funke werden komplett digital übertragen. Da von Graupner im Netz nichts über die Innereien von SUMH zu finden war, habe ich mir alles selbst zusammengereimt.
Ich habe einfach den Empfänger an ein Nanowii angeschlossen und meine Funke gebunden. Das Frameintervall stimmt mit dem eingestellten im Sender überein (11/22ms, habe ich mit Oszi gemessen). Das Frame wird lückenlos mit 115200 Baud übertragen. Bei Failsafe kommen noch ein paar Mal die eingestellten Failsafedaten und dann ist Funkstille bis wieder etwas empfangen wird. Fehlerhafte Daten habe ich nie gesehen. Damit man es versteht, versuche ich mal es in c-code zu dokumentieren.
struct sumhframe {
uint8_t Framestart; // immer 0xA8
uint8_t Header1; // wird ignoriert, steht die Framegröße drin und irgendwas anderes bedeutungsloses drin
uint8_t Header2; // dito
uint16_t PITCH; // MSB zuerst
uint16_t YAW;
uint16_t THROTTLE;
uint16_t ROLL;
uint16_t AUX1;
uint16_t AUX2;
uint16_t AUX3; // 0% bei 6 Kanalsender
uint16_t AUX4; // dito
uint16_t Checksum; // wieder ignoriert. scheint einfach aufsummiert zu werden.
}
Das Frame ist 21 Byte gross und biete Platz für 8 Kanäle. Für die Umrechnung von -100%..+100% auf die benötigten 1000..2000 für MWC genügt lineare Algebra:
y=x/6.4 - 375
Wer hat, kann mir gerne die offizielle Beschreibung zukommen lassen. In den ignorierten Daten stehen Info über Framegröße und programmiertem Failsafe drin. Da Übertragung sicher zu sein scheint, bringt die Auswertung keinen Mehrgewinn sondern verschlingt wahrscheinlich nur unnötig Speicher und Rechenzeit.
bis dann
jörg