when I started this coding session the then current dev revision did not compile due to gps code, so I started on the basis of v1.8p1.
The entire code, unified diff and changes.txt are in the google rep.
base: v1.8 patch1
changes:
+ MWii: Flying Wing
- added passthrough mode (does mixing of pitch and roll sticks)
- added 4 defines for 2 servos 2 directions for pitch and roll (no need to swap servo cables at rx with dx6i)
- added defines for min/mid/max values for servo travels
+ Wii: logging
- added counters for error conditions i2c-resets (wmp) and failsafes
- added counters displays to LCD config menu
+ Wii: LCD telemetry
- redid bug fix for LCD telemetry page D; uncommented erroneously commented code fragment
- added blinking attrribute for telemetry page B depending on buzzer state
- added extra char to telemetry page B to display error conditions i2c-resets (wmp) or failsafes
Caveats:
a) I do not know how to properly test the logging of wmp i2x error condition. The code seems simple enough though.
b) the new failsafes_count stays at initial 0 when I turn off my tx. So this code in Multiwii.pde does not get executed?
Code: Select all
if (currentTime > (rcTime + 20000) ) { // 50Hz
rcTime = currentTime;
computeRC();
// Failsafe routine - added by MIS
#if defined(FAILSAFE)
if ( failsafeCnt > (5*FAILSAVE_DELAY) && armed==1) { // Stabilize, and set Throttle to specified level
#ifdef LOG_VALUES
failsafes_count = 1; //only toggle on, no actual count // keep log of # of failsafe conditions
#endif
for(i=0; i<3; i++) rcData[i] = MIDRC; // after specified guard time after RC signal is lost (in 0.1sec)
Any ideas, please?
Hamburger