Selbst wenn man den internen pullup aktivieren würde, wäre immer noch die Frage offen, ob die dann vermutlich anliegenden 5V an manchen Empfängern Schaden anrichten können, deswegen bin ich für die Standardisierung der "Stoschek-Brücke".
Was noch zu testen ist, ist die Steuerung des oXs über einen freien Kanal, ich kann ja die Vario-Empfindlichkeit fernsteuern, zwischen 2 Varios umschalten, z.B. kompensiert/nicht kompensiert oder Standard-Vario/IMU Vario. Kann die Energie-Kompensation des Vario über einen Speedsensor regeln und ein-/ausschalten.....
Hierzu sind ein paar Konfigurationen notwendig:
PIN 3 (D3) sollte Standard sein, dann gibt man die Pulslängen für -100% und +100% ein:
// --------- 3 - PPM settings ---------
#define PIN_PPM 3 // default is 2 but my own device use 3
#define PPM_MIN_100 980 // default 1500 - 512 ; // pulse width (usec) when TX sends a channel = -100
#define PPM_PLUS_100 1990 // default 1500 + 512 ; // pulse width (usec) when TX sends a channel = +100
Hier wird definiert, dass von 10% bis 40% PPM die Vario-Empfindlichkeit von 20-100 geregelt wird:
/ ***** 4.3 - Sensitivity adjusted from the TX *****
#define SENSITIVITY_MIN_AT_PPM 10 // sensitivity will be changed by OXS only when PPM signal is between the specified range enlarged by -5 / +5
#define SENSITIVITY_MAX_AT_PPM 40
#define SENSITIVITY_PPM_MIN 20 // common value for vario is 20
#define SENSITIVITY_PPM_MAX 100 // common value for vario is 100
Hier werden 2 Varios definiert und in den letzten zwei Zeilen die Umschaltung, da stolpere ich immer wieder drüber. Es bedeutet, wenn PPM zwischen 10% und 90% ist, ist Vario 1 aktiv, ist PPM zwischen -10% und -90% ist Vario 2 aktiv. Ich kann also auch bei beiden Varios die Empfindlichkeit regeln:
// ***** 4.5 - Vertical speeds calculations *****
#define VARIO_PRIMARY 1 // 1 = first baro, 2 = second baro, 3 = vario based on vario 1 + compensation from airspeed, 4 = average of first and second baro sensors , 5 = merge of first baro sensor and imu
#define VARIO_SECONDARY 5 // 1 = first baro, 2 = second baro, 3 = vario based on vario 1 + compensation from airspeed, 4 = average of first and second baro sensors , 5 = merge of first baro sensor and imu
#define SWITCH_VARIO_MIN_AT_PPM 10
#define SWITCH_VARIO_MAX_AT_PPM 90
So jetzt zum Eigentlichen: es gibt zwei Variablen, die zurückübertragen werden können, PPM und SENSITIVITY, also dekodierter PPM-Wert und Vario-Empfindlichkeit. Bei HOTT gibt es dafür aber kein Gegenstück. Das heißt, man müsste eine andere HOTT-Variable oder mehrere Andere verwenden, um diese oder andere oXs Variablen zurückzusenden (Gleitzahl, durchschnittliches Sinken gibt es z.B. noch).
Sieht jemand (Ziege-one?) eine Möglichkeit, dies zu realisieren?
Diese sehen ganz vielversprechend aus:
uint8_t gyroXLow; // Byte 33: gyro x low byte (2 bytes)
uint8_t gyroXHigh; // Byte 34: gyro x high byte
uint8_t gyroYLow; // Byte 35: gyro y low byte (2 bytes)
uint8_t gyroYHigh; // Byte 36: gyro y high byte
uint8_t gyroZLow; // Byte 37: gyro z low byte (2 bytes)
uint8_t gyroZHigh; // Byte 38: gyro z high byte