Page 354 - 2
P. 354

#if defined(INFLIGHT_ACC_CALIBRATION)
                  if (AccInflightCalibrationArmed && f.ARMED && rcData[THROTTLE] > MINCHECK && !r
            cOptions[BOXARM] ){ // Copter is airborne and you are turning it off via boxarm : start measur
            ement
                    InflightcalibratingA = 50;
                    AccInflightCalibrationArmed = 0;
                  }
                  if (rcOptions[BOXCALIB]) {        // Use the Calib Option to activate : Calib = TRUE Meau
            srement started, Land and Calib = 0 measurement stored
                    if (!AccInflightCalibrationActive && !AccInflightCalibrationMeasurementDone){
                      InflightcalibratingA = 50;
                    }
                  }else if(AccInflightCalibrationMeasurementDone && !f.ARMED){
                    AccInflightCalibrationMeasurementDone = 0;
                    AccInflightCalibrationSavetoEEProm = 1;
                  }
                #endif


                #if defined(EXTENDED_AUX_STATES)
                uint32_t auxState = 0;
                for(i=0;i<4;i++)
                  auxState |=
                  (uint32_t)(rcData[AUX1+i]<1230)<<(6*i) |
                  (uint32_t)(1231<rcData[AUX1+i] && rcData[AUX1+i]<1360)<<(6*i+1) |
                  (uint32_t)(1361<rcData[AUX1+i] && rcData[AUX1+i]<1490)<<(6*i+2) |
                  (uint32_t)(1491<rcData[AUX1+i] && rcData[AUX1+i]<1620)<<(6*i+3) |
                  (uint32_t)(1621<rcData[AUX1+i] && rcData[AUX1+i]<1749)<<(6*i+4) |
                  (uint32_t)(rcData[AUX1+i]>1750)<<(6*i+5);
                #else
                uint16_t auxState = 0;
                for(i=0;i<4;i++)
                  auxState |= (rcData[AUX1+i]<1300)<<(3*i) | (1300<rcData[AUX1+i] && rcData[AUX1+i]
            <1700)<<(3*i+1) | (rcData[AUX1+i]>1700)<<(3*i+2);
                #endif


                for(i=0;i<CHECKBOXITEMS;i++)
                  rcOptions[i] = (auxState & conf.activate[i])>0;


                // note: if FAILSAFE is disable, failsafeCnt > 5*FAILSAFE_DELAY is always false
                #if ACC
                  if ( rcOptions[BOXANGLE] || (failsafeCnt > 5*FAILSAFE_DELAY) ) {
                    // bumpless transfer to Level mode
                    if (!f.ANGLE_MODE) {
                      errorAngleI[ROLL] = 0; errorAngleI[PITCH] = 0;
                      f.ANGLE_MODE = 1;


                                                         - 354 -
   349   350   351   352   353   354   355   356   357   358   359