/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/GPS.c |
---|
268,8 → 268,8 |
// Begrenzung des maximalen D-Anteils für pos. und neg. Werte. Grenze muss so geählt werden, |
// dass das Limit im normalen Position-Hold nicht erreicht wird und somit keinen Einfluss hat. |
// Grund: Beim Zufliegen auf weiter entfernte Ziele bremst der D-Anteil kurz vor dem Ziel den Mikrokopter sehr stark ab. |
// Dieses Limit wirkt nur, wenn sich der MK im HOMING Modus befindet und sich noch weit (>7m) von der Home-Position weg befindet. |
if (Poti3 >= 150 && GPS_Home_North != 0 && GPS_Home_East != 0 && (abs(GPS_Positionsabweichung_North) > 700 || abs(GPS_Positionsabweichung_East) > 700)) |
// Dieses Limit wirkt nur, wenn sich der MK im HOMING Modus befindet und sich noch weit (>2,5m) von der Home-Position weg befindet. |
if (Poti3 >= 150 && GPS_Home_North != 0 && GPS_Home_East != 0 && (abs(GPS_Positionsabweichung_North) > 250 || abs(GPS_Positionsabweichung_East) > 250)) |
{ |
if (D_Einfluss_North > Limit_D_Anteil) D_Einfluss_North = Limit_D_Anteil; |
if (D_Einfluss_East > Limit_D_Anteil) D_Einfluss_East = Limit_D_Anteil; |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/fc.c |
---|
84,7 → 84,7 |
float IntegralFaktor; |
volatile int DiffNick,DiffRoll; |
int Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0, Poti5 = 0, Poti6 = 0, Poti7 = 0, Poti8 = 0; |
int Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0, Poti5 = 0, Poti6 = 0, Poti7 = 0, Poti8 = 0; //PPM24-Erweiterung (121007Kr) |
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
unsigned char MotorWert[5]; |
volatile unsigned char SenderOkay = 0; |
218,7 → 218,8 |
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--; |
if(Poti5 < PPM_in[9] + 110) Poti5++; else if(Poti5 > PPM_in[9] + 110 && Poti5) Poti5--; |
//PPM24-Erweiterung (121007Kr) |
if(Poti5 < PPM_in[9] + 110) Poti5++; else if(Poti5 > PPM_in[9] + 110 && Poti5) Poti5--; |
if(Poti6 < PPM_in[10] + 110) Poti6++; else if(Poti6 > PPM_in[10] + 110 && Poti6) Poti6--; |
if(Poti7 < PPM_in[11] + 110) Poti7++; else if(Poti7 > PPM_in[11] + 110 && Poti7) Poti7--; |
if(Poti8 < PPM_in[12] + 110) Poti8++; else if(Poti8 > PPM_in[12] + 110 && Poti8) Poti8--; |
228,6 → 229,7 |
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255; |
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255; |
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255; |
//PPM24-Erweiterung (121007Kr) |
if(Poti5 < 0) Poti5 = 0; else if(Poti5 > 255) Poti5 = 255; |
if(Poti6 < 0) Poti6 = 0; else if(Poti6 > 255) Poti6 = 255; |
if(Poti7 < 0) Poti7 = 0; else if(Poti7 > 255) Poti7 = 255; |
259,7 → 261,8 |
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--; |
if(Poti5 < PPM_in[9] + 110) Poti5++; else if(Poti5 > PPM_in[9] + 110 && Poti5) Poti5--; |
//PPM24-Erweiterung (121007Kr) |
if(Poti5 < PPM_in[9] + 110) Poti5++; else if(Poti5 > PPM_in[9] + 110 && Poti5) Poti5--; |
if(Poti6 < PPM_in[10] + 110) Poti6++; else if(Poti6 > PPM_in[10] + 110 && Poti6) Poti6--; |
if(Poti7 < PPM_in[11] + 110) Poti7++; else if(Poti7 > PPM_in[11] + 110 && Poti7) Poti7--; |
if(Poti8 < PPM_in[12] + 110) Poti8++; else if(Poti8 > PPM_in[12] + 110 && Poti8) Poti8--; |
271,7 → 274,8 |
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255; |
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255; |
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255; |
if(Poti5 < 0) Poti5 = 0; else if(Poti5 > 255) Poti5 = 255; |
//PPM24-Erweiterung (121007Kr) |
if(Poti5 < 0) Poti5 = 0; else if(Poti5 > 255) Poti5 = 255; |
if(Poti6 < 0) Poti6 = 0; else if(Poti6 > 255) Poti6 = 255; |
if(Poti7 < 0) Poti7 = 0; else if(Poti7 > 255) Poti7 = 255; |
if(Poti8 < 0) Poti8 = 0; else if(Poti8 > 255) Poti8 = 255; |
844,7 → 848,7 |
DebugOut.Analog[10] = Soll_Position_East; |
DebugOut.Analog[11] = Parameter_UserParam1; |
DebugOut.Analog[12] = Parameter_UserParam2; |
DebugOut.Analog[13] = Poti6; |
DebugOut.Analog[13] = Poti3; |
DebugOut.Analog[14] = KompassValue; |
DebugOut.Analog[15] = GPS_Home_North; |
DebugOut.Analog[16] = GPS_Home_East; |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/fc.h |
---|
42,7 → 42,7 |
volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
volatile long Mess_Integral_Gier; |
volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4, Poti5, Poti6, Poti7, Poti8; |
extern int Poti1, Poti2, Poti3, Poti4, Poti5, Poti6, Poti7, Poti8; //PPM24-Erweiterung (121007Kr) |
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
unsigned char MotorWert[5]; |
volatile unsigned char SenderOkay; |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/menu.c |
---|
99,10 → 99,10 |
LCD_printfxy(0,3,"Start: %5i",KompassStartwert); |
break; |
case 9: |
LCD_printfxy(0,0,"Po1: %3i Po5: %3i" ,Poti1,Poti5); |
LCD_printfxy(0,1,"Po2: %3i Po6: %3i" ,Poti2,Poti6); |
LCD_printfxy(0,2,"Po3: %3i Po7: %3i" ,Poti3,Poti7); |
LCD_printfxy(0,3,"Po4: %3i Po8: %3i" ,Poti4,Poti8); |
LCD_printfxy(0,0,"Po1: %3i Po5: %3i" ,Poti1,Poti5); //PPM24-Erweiterung (121007Kr) |
LCD_printfxy(0,1,"Po2: %3i Po6: %3i" ,Poti2,Poti6); //PPM24-Erweiterung (121007Kr) |
LCD_printfxy(0,2,"Po3: %3i Po7: %3i" ,Poti3,Poti7); //PPM24-Erweiterung (121007Kr) |
LCD_printfxy(0,3,"Po4: %3i Po8: %3i" ,Poti4,Poti8); //PPM24-Erweiterung (121007Kr) |
break; |
case 10: |
LCD_printfxy(0,0,"Servo " ); |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/rc.c |
---|
11,8 → 11,8 |
#include "rc.h" |
#include "main.h" |
volatile int PPM_in[15]; |
volatile int PPM_diff[15]; // das diffenzierte Stick-Signal |
volatile int PPM_in[15]; //PPM24-Erweiterung (121007Kr) |
volatile int PPM_diff[15]; // das diffenzierte Stick-Signal //PPM24-Erweiterung (121007Kr) |
volatile unsigned char NewPpmData = 1; |
//############################################################################ |
58,7 → 58,7 |
} |
else |
{ |
if(index < 14) |
if(index < 14) //PPM24-Erweiterung (121007Kr) |
{ |
if((signal > 250) && (signal < 687)) |
{ |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/rc.h |
---|
22,8 → 22,8 |
extern void rc_sum_init (void); |
extern volatile int PPM_in[15]; |
extern volatile int PPM_diff[15]; // das diffenzierte Stick-Signal |
extern volatile int PPM_in[15]; //PPM24-Erweiterung (121007Kr) |
extern volatile int PPM_diff[15]; // das diffenzierte Stick-Signal //PPM24-Erweiterung (121007Kr) |
extern volatile unsigned char NewPpmData; |
#endif //_RC_H |
/branches/Flight-Ctrl_V0_64_3_GPS_work_Jochen/version.txt |
---|
91,8 → 91,11 |
- dyn. Position Hold -> normaler Rundflug möglich |
- Limit_D_Anteil = Userparam3 um im Homing- bzw. Waypointmodus die Sollposition gleichmäßiger anzufliegen |
- Die Berechnung von Kompassvalue wird jetzt auch über den GPS Haken im Koptertool aktiviert |
- 12 Kanal Erweiterung |
- D-Anteil_Limit wegen HOMING |
- 12 Kanal Erweiterung (rc.c; rc.h; fc.c; fc.h; menu.c) |
- D-Anteil_Limit wegen HOMING ->> Radius von 700 cm -> 250 cm |
- ... |