Rev 1861 | Rev 1865 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1861 | Rev 1862 | ||
---|---|---|---|
Line 100... | Line 100... | ||
100 | char MotorenEin = 0,StartTrigger = 0; |
100 | char MotorenEin = 0,StartTrigger = 0; |
101 | long HoehenWert = 0; |
101 | long HoehenWert = 0; |
102 | long SollHoehe = 0; |
102 | long SollHoehe = 0; |
103 | long FromNC_AltitudeSetpoint = 0; |
103 | long FromNC_AltitudeSetpoint = 0; |
104 | unsigned char FromNC_AltitudeSpeed = 0; |
104 | unsigned char FromNC_AltitudeSpeed = 0; |
- | 105 | unsigned char carefree_old = 50; // to make the Beep when switching |
|
Line 105... | Line 106... | ||
105 | 106 | ||
106 | int CompassGierSetpoint = 0; |
107 | int CompassGierSetpoint = 0; |
107 | int LageKorrekturRoll = 0,LageKorrekturNick = 0, HoverGas = 0; |
108 | int LageKorrekturRoll = 0,LageKorrekturNick = 0, HoverGas = 0; |
108 | //float Ki = FAKTOR_I; |
109 | //float Ki = FAKTOR_I; |
Line 345... | Line 346... | ||
345 | LED_Init(); |
346 | LED_Init(); |
346 | FC_StatusFlags |= FC_STATUS_CALIBRATE; |
347 | FC_StatusFlags |= FC_STATUS_CALIBRATE; |
347 | FromNaviCtrl_Value.Kalman_K = -1; |
348 | FromNaviCtrl_Value.Kalman_K = -1; |
348 | FromNaviCtrl_Value.Kalman_MaxDrift = 0; |
349 | FromNaviCtrl_Value.Kalman_MaxDrift = 0; |
349 | FromNaviCtrl_Value.Kalman_MaxFusion = 32; |
350 | FromNaviCtrl_Value.Kalman_MaxFusion = 32; |
350 | - | ||
351 | for(i=0;i<8;i++) |
351 | for(i=0;i<8;i++) |
352 | { |
352 | { |
353 | Poti[i] = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110; |
353 | Poti[i] = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110; |
354 | } |
354 | } |
355 | SenderOkay = 100; |
355 | SenderOkay = 100; |
Line 363... | Line 363... | ||
363 | if((AdNeutralRoll < 150 * 16) || (AdNeutralRoll > 850 * 16)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_ROLL; }; |
363 | if((AdNeutralRoll < 150 * 16) || (AdNeutralRoll > 850 * 16)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_ROLL; }; |
364 | if((AdNeutralGier < 150 * 2) || (AdNeutralGier > 850 * 2)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_YAW; }; |
364 | if((AdNeutralGier < 150 * 2) || (AdNeutralGier > 850 * 2)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_YAW; }; |
365 | if((NeutralAccX < 300) || (NeutralAccX > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_NICK; }; |
365 | if((NeutralAccX < 300) || (NeutralAccX > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_NICK; }; |
366 | if((NeutralAccY < 300) || (NeutralAccY > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_ROLL; }; |
366 | if((NeutralAccY < 300) || (NeutralAccY > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_ROLL; }; |
367 | if((NeutralAccZ < 512) || (NeutralAccZ > 850)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_TOP; }; |
367 | if((NeutralAccZ < 512) || (NeutralAccZ > 850)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_TOP; }; |
- | 368 | carefree_old = 70; |
|
368 | } |
369 | } |
Line 369... | Line 370... | ||
369 | 370 | ||
370 | 371 | ||
Line 556... | Line 557... | ||
556 | // Trägt ggf. das Poti als Parameter ein |
557 | // Trägt ggf. das Poti als Parameter ein |
557 | void ParameterZuordnung(void) |
558 | void ParameterZuordnung(void) |
558 | //############################################################################ |
559 | //############################################################################ |
559 | { |
560 | { |
560 | unsigned char tmp,i; |
561 | unsigned char tmp,i; |
561 | static unsigned char carefree_old = 2; |
- | |
562 | #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];} |
562 | #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];} |
563 | #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);} |
563 | #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);} |
564 | for(i=0;i<8;i++) |
564 | for(i=0;i<8;i++) |
565 | { |
565 | { |
566 | int tmp2; |
566 | int tmp2; |
Line 618... | Line 618... | ||
618 | #ifdef SWITCH_LEARNS_CAREFREE |
618 | #ifdef SWITCH_LEARNS_CAREFREE |
619 | if(!CareFree) ControlHeading = (((int) EE_Parameter.OrientationAngle * 15 + KompassValue) % 360) / 2; |
619 | if(!CareFree) ControlHeading = (((int) EE_Parameter.OrientationAngle * 15 + KompassValue) % 360) / 2; |
620 | #endif |
620 | #endif |
621 | CareFree = 1; |
621 | CareFree = 1; |
622 | if(tmp >= 248 && Poti[255 - tmp] < 50) CareFree = 0; |
622 | if(tmp >= 248 && Poti[255 - tmp] < 50) CareFree = 0; |
623 | if(carefree_old == 0 && CareFree) beeptime = 1000; |
623 | if(carefree_old != CareFree) |
- | 624 | { |
|
- | 625 | if(carefree_old < 3) |
|
- | 626 | { |
|
624 | if(carefree_old == 1 && !CareFree) beeptime = 200; |
627 | if(CareFree) beeptime = 1500; |
- | 628 | else beeptime = 200; |
|
625 | carefree_old = CareFree; |
629 | carefree_old = CareFree; |
- | 630 | } else carefree_old--; |
|
- | 631 | } |
|
626 | if(FromNaviCtrl.CompassValue < 0 && CareFree) VersionInfo.HardwareError[0] |= FC_ERROR0_CAREFREE; else VersionInfo.HardwareError[0] &= ~FC_ERROR0_CAREFREE; |
632 | if(FromNaviCtrl.CompassValue < 0 && CareFree) VersionInfo.HardwareError[0] |= FC_ERROR0_CAREFREE; else VersionInfo.HardwareError[0] &= ~FC_ERROR0_CAREFREE; |
627 | } |
633 | } |
628 | else |
634 | else |
629 | { |
635 | { |
630 | CareFree = 0; |
636 | CareFree = 0; |
631 | carefree_old = 0; |
637 | carefree_old = 10; |
632 | } |
638 | } |
Line 633... | Line 639... | ||
633 | 639 | ||
634 | if(FromNaviCtrl.CompassValue < 0 && MotorenEin && CareFree && BeepMuster == 0xffff) // ungültiger Kompasswert |
640 | if(FromNaviCtrl.CompassValue < 0 && MotorenEin && CareFree && BeepMuster == 0xffff) // ungültiger Kompasswert |
635 | { |
641 | { |