Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 272 → Rev 273

/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
 
 
 
- ...