Rev 1701 | Rev 1703 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1701 | Rev 1702 | ||
---|---|---|---|
Line 178... | Line 178... | ||
178 | DebugOut.Analog[6] = (Mess_Integral_Hoch / 512);//AdWertAccHoch;// Aktuell_az;//(Mess_Integral_Hoch / 512);//Aktuell_az; |
178 | DebugOut.Analog[6] = (Mess_Integral_Hoch / 512);//AdWertAccHoch;// Aktuell_az;//(Mess_Integral_Hoch / 512);//Aktuell_az; |
179 | DebugOut.Analog[8] = KompassValue; |
179 | DebugOut.Analog[8] = KompassValue; |
180 | DebugOut.Analog[9] = UBat; |
180 | DebugOut.Analog[9] = UBat; |
181 | DebugOut.Analog[10] = SenderOkay; |
181 | DebugOut.Analog[10] = SenderOkay; |
182 | DebugOut.Analog[11] = ErsatzKompass / GIER_GRAD_FAKTOR; |
182 | DebugOut.Analog[11] = ErsatzKompass / GIER_GRAD_FAKTOR; |
- | 183 | DebugOut.Analog[12] = Motor[0].SetPoint; |
|
- | 184 | DebugOut.Analog[13] = Motor[1].SetPoint; |
|
- | 185 | DebugOut.Analog[14] = Motor[2].SetPoint; |
|
- | 186 | DebugOut.Analog[15] = Motor[3].SetPoint; |
|
183 | DebugOut.Analog[20] = ServoNickValue; |
187 | DebugOut.Analog[20] = ServoNickValue; |
184 | DebugOut.Analog[22] = Capacity.ActualCurrent; |
188 | DebugOut.Analog[22] = Capacity.ActualCurrent; |
185 | DebugOut.Analog[23] = Capacity.UsedCapacity; |
189 | DebugOut.Analog[23] = Capacity.UsedCapacity; |
186 | // DebugOut.Analog[22] = FromNaviCtrl_Value.GpsZ; |
190 | // DebugOut.Analog[22] = FromNaviCtrl_Value.GpsZ; |
187 | // DebugOut.Analog[29] = FromNaviCtrl_Value.SerialDataOkay; |
191 | // DebugOut.Analog[29] = FromNaviCtrl_Value.SerialDataOkay; |
188 | DebugOut.Analog[29] = Capacity.MinOfMaxPWM; |
192 | DebugOut.Analog[29] = Capacity.MinOfMaxPWM; |
189 | DebugOut.Analog[30] = GPS_Nick; |
193 | DebugOut.Analog[30] = GPS_Nick; |
190 | DebugOut.Analog[31] = GPS_Roll; |
194 | DebugOut.Analog[31] = GPS_Roll; |
- | 195 | if(VersionInfo.HardwareError[0] || VersionInfo.HardwareError[1]) DebugOut.Status[1] |= 1; else DebugOut.Status[1] &= 0xfe; |
|
191 | } |
196 | } |
Line 192... | Line 197... | ||
192 | 197 | ||
193 | void Piep(unsigned char Anzahl, unsigned int dauer) |
198 | void Piep(unsigned char Anzahl, unsigned int dauer) |
194 | { |
199 | { |
Line 234... | Line 239... | ||
234 | void SetNeutral(unsigned char AccAdjustment) |
239 | void SetNeutral(unsigned char AccAdjustment) |
235 | //############################################################################ |
240 | //############################################################################ |
236 | { |
241 | { |
237 | unsigned char i; |
242 | unsigned char i; |
238 | unsigned int gier_neutral=0, nick_neutral=0, roll_neutral=0; |
243 | unsigned int gier_neutral=0, nick_neutral=0, roll_neutral=0; |
239 | - | ||
- | 244 | VersionInfo.HardwareError[0] = 0; |
|
240 | HEF4017R_ON; |
245 | HEF4017R_ON; |
241 | NeutralAccX = 0; |
246 | NeutralAccX = 0; |
242 | NeutralAccY = 0; |
247 | NeutralAccY = 0; |
243 | NeutralAccZ = 0; |
248 | NeutralAccZ = 0; |
Line 339... | Line 344... | ||
339 | if(ServoActive) |
344 | if(ServoActive) |
340 | { |
345 | { |
341 | HEF4017R_ON; |
346 | HEF4017R_ON; |
342 | DDRD |=0x80; // enable J7 -> Servo signal |
347 | DDRD |=0x80; // enable J7 -> Servo signal |
343 | } |
348 | } |
- | 349 | ||
- | 350 | if((AdNeutralNick < 150 * 16) || (AdNeutralNick > 850 * 16)) { VersionInfo.HardwareError[0] |= DEFEKT_G_NICK; }; |
|
- | 351 | if((AdNeutralRoll < 150 * 16) || (AdNeutralRoll > 850 * 16)) { VersionInfo.HardwareError[0] |= DEFEKT_G_ROLL; }; |
|
- | 352 | if((AdNeutralGier < 150 * 2) || (AdNeutralGier > 850 * 2)) { VersionInfo.HardwareError[0] |= DEFEKT_G_GIER; }; |
|
- | 353 | if((NeutralAccX < 300) || (NeutralAccX > 750)) { VersionInfo.HardwareError[0] |= DEFEKT_A_NICK; }; |
|
- | 354 | if((NeutralAccY < 300) || (NeutralAccY > 750)) { VersionInfo.HardwareError[0] |= DEFEKT_A_ROLL; }; |
|
- | 355 | if((NeutralAccZ < 512) || (NeutralAccZ > 850)) { VersionInfo.HardwareError[0] |= DEFEKT_A_Z; }; |
|
344 | } |
356 | } |
Line -... | Line 357... | ||
- | 357 | ||
345 | 358 | ||
346 | //############################################################################ |
359 | //############################################################################ |
347 | // Bearbeitet die Messwerte |
360 | // Bearbeitet die Messwerte |
348 | void Mittelwert(void) |
361 | void Mittelwert(void) |
349 | //############################################################################ |
362 | //############################################################################ |
Line 523... | Line 536... | ||
523 | */ |
536 | */ |
524 | } |
537 | } |
525 | if(PC_MotortestActive) PC_MotortestActive--; |
538 | if(PC_MotortestActive) PC_MotortestActive--; |
526 | } |
539 | } |
527 | else FCFlags |= FCFLAG_MOTOR_RUN; |
540 | else FCFlags |= FCFLAG_MOTOR_RUN; |
528 | - | ||
529 | DebugOut.Analog[12] = Motor[0].SetPoint; |
- | |
530 | DebugOut.Analog[13] = Motor[1].SetPoint; |
- | |
531 | DebugOut.Analog[14] = Motor[2].SetPoint; |
- | |
532 | DebugOut.Analog[15] = Motor[3].SetPoint; |
- | |
533 | - | ||
534 | //Start I2C Interrupt Mode |
541 | //Start I2C Interrupt Mode |
535 | motor_write = 0; |
542 | motor_write = 0; |
536 | I2C_Start(TWI_STATE_MOTOR_TX); |
543 | I2C_Start(TWI_STATE_MOTOR_TX); |
537 | } |
544 | } |
Line 592... | Line 599... | ||
592 | #ifdef SWITCH_LEARNS_CAREFREE |
599 | #ifdef SWITCH_LEARNS_CAREFREE |
593 | if(!CareFree) ControlHeading = (((int) EE_Parameter.OrientationAngle * 15 + KompassValue) % 360) / 2; |
600 | if(!CareFree) ControlHeading = (((int) EE_Parameter.OrientationAngle * 15 + KompassValue) % 360) / 2; |
594 | #endif |
601 | #endif |
595 | CareFree = 1; |
602 | CareFree = 1; |
596 | if(tmp >= 248 && Poti[255 - tmp] < 50) CareFree = 0; |
603 | if(tmp >= 248 && Poti[255 - tmp] < 50) CareFree = 0; |
- | 604 | if(FromNaviCtrl.CompassValue < 0 && CareFree) VersionInfo.HardwareError[0] |= DEFEKT_CAREFREE_ERR; else VersionInfo.HardwareError[0] &= ~DEFEKT_CAREFREE_ERR; |
|
597 | } |
605 | } |
598 | else CareFree = 0; |
606 | else CareFree = 0; |
Line 599... | Line 607... | ||
599 | 607 | ||
600 | if(FromNaviCtrl.CompassValue < 0 && MotorenEin && CareFree && BeepMuster == 0xffff) // ungültiger Kompasswert |
608 | if(FromNaviCtrl.CompassValue < 0 && MotorenEin && CareFree && BeepMuster == 0xffff) // ungültiger Kompasswert |
601 | { |
609 | { |
602 | beeptime = 15000; |
610 | beeptime = 15000; |
603 | BeepMuster = 0xA400; |
611 | BeepMuster = 0xA400; |
604 | CareFree = 0; |
612 | CareFree = 0; |
- | 613 | } |
|
605 | } |
614 | |
606 | if(CareFree) {if(Parameter_AchsKopplung1 < 210) Parameter_AchsKopplung1 += 30;} |
615 | if(CareFree) {if(Parameter_AchsKopplung1 < 210) Parameter_AchsKopplung1 += 30;} |
Line 607... | Line 616... | ||
607 | } |
616 | } |
608 | 617 | ||
Line 719... | Line 728... | ||
719 | { |
728 | { |
720 | if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
729 | if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
721 | } |
730 | } |
722 | ServoActive = 0; |
731 | ServoActive = 0; |
723 | SetNeutral(0); |
732 | SetNeutral(0); |
724 | calibration_done = 1; |
733 | calibration_done = 1; |
725 | ServoActive = 1; |
734 | ServoActive = 1; |
726 | DDRD |=0x80; // enable J7 -> Servo signal |
735 | DDRD |=0x80; // enable J7 -> Servo signal |
727 | Piep(GetActiveParamSet(),120); |
736 | Piep(GetActiveParamSet(),120); |
728 | } |
737 | } |
729 | } |
738 | } |
Line 758... | Line 767... | ||
758 | // Einschalten |
767 | // Einschalten |
759 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
768 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
760 | if(++delay_einschalten > 200) |
769 | if(++delay_einschalten > 200) |
761 | { |
770 | { |
762 | delay_einschalten = 0; |
771 | delay_einschalten = 0; |
763 | if(calibration_done) |
772 | if(!VersionInfo.HardwareError[0] && calibration_done) |
764 | { |
773 | { |
765 | modell_fliegt = 1; |
774 | modell_fliegt = 1; |
766 | MotorenEin = 1; |
775 | MotorenEin = 1; |
767 | sollGier = 0; |
776 | sollGier = 0; |
768 | Mess_Integral_Gier = 0; |
777 | Mess_Integral_Gier = 0; |