Rev 1865 | Rev 1879 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1865 | Rev 1876 | ||
---|---|---|---|
Line 154... | Line 154... | ||
154 | unsigned char Parameter_NaviWindCorrection; |
154 | unsigned char Parameter_NaviWindCorrection; |
155 | unsigned char Parameter_NaviSpeedCompensation; |
155 | unsigned char Parameter_NaviSpeedCompensation; |
156 | unsigned char Parameter_ExternalControl; |
156 | unsigned char Parameter_ExternalControl; |
157 | unsigned char Parameter_Servo3,Parameter_Servo4,Parameter_Servo5; |
157 | unsigned char Parameter_Servo3,Parameter_Servo4,Parameter_Servo5; |
158 | unsigned char CareFree = 0; |
158 | unsigned char CareFree = 0; |
159 | const signed char sintab[31] = { 0, 2, 4, 6, 7, 8, 8, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -8, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 8}; |
159 | const signed char sintab[31] = { 0, 2, 4, 6, 7, 8, 8, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -8, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 8}; // 15° steps |
Line 160... | Line 160... | ||
160 | 160 | ||
161 | signed int ExternStickNick = 0,ExternStickRoll = 0,ExternStickGier = 0, ExternHoehenValue = -20; |
161 | signed int ExternStickNick = 0,ExternStickRoll = 0,ExternStickGier = 0, ExternHoehenValue = -20; |
162 | int MaxStickNick = 0,MaxStickRoll = 0; |
162 | int MaxStickNick = 0,MaxStickRoll = 0; |
163 | unsigned int modell_fliegt = 0; |
163 | unsigned int modell_fliegt = 0; |
Line 237... | Line 237... | ||
237 | // ADC einschalten |
237 | // ADC einschalten |
238 | ANALOG_ON; |
238 | ANALOG_ON; |
239 | for(i=0;i<8;i++) |
239 | for(i=0;i<8;i++) |
240 | { |
240 | { |
241 | int tmp; |
241 | int tmp; |
242 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110; |
242 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 127; |
243 | LIMIT_MIN_MAX(tmp, 0, 255); |
243 | LIMIT_MIN_MAX(tmp, 0, 255); |
244 | if(Poti[i] > tmp) Poti[i]--; else if(Poti[i] < tmp) Poti[i]++; |
244 | if(Poti[i] > tmp) Poti[i]--; else if(Poti[i] < tmp) Poti[i]++; |
245 | } |
245 | } |
246 | Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L; |
246 | Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L; |
247 | Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L; |
247 | Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L; |
Line 349... | Line 349... | ||
349 | FromNaviCtrl_Value.Kalman_K = -1; |
349 | FromNaviCtrl_Value.Kalman_K = -1; |
350 | FromNaviCtrl_Value.Kalman_MaxDrift = 0; |
350 | FromNaviCtrl_Value.Kalman_MaxDrift = 0; |
351 | FromNaviCtrl_Value.Kalman_MaxFusion = 32; |
351 | FromNaviCtrl_Value.Kalman_MaxFusion = 32; |
352 | for(i=0;i<8;i++) |
352 | for(i=0;i<8;i++) |
353 | { |
353 | { |
354 | Poti[i] = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110; |
354 | Poti[i] = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 127; |
355 | } |
355 | } |
356 | SenderOkay = 100; |
356 | SenderOkay = 100; |
357 | if(ServoActive) |
357 | if(ServoActive) |
358 | { |
358 | { |
359 | HEF4017R_ON; |
359 | HEF4017R_ON; |
Line 563... | Line 563... | ||
563 | #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];} |
563 | #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];} |
564 | #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);} |
564 | #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);} |
565 | for(i=0;i<8;i++) |
565 | for(i=0;i<8;i++) |
566 | { |
566 | { |
567 | int tmp2; |
567 | int tmp2; |
568 | tmp2 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110; |
568 | tmp2 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 127; |
569 | if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0; |
569 | if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0; |
570 | if(tmp2 != Poti[i]) |
570 | if(tmp2 != Poti[i]) |
571 | { |
571 | { |
572 | Poti[i] += (tmp2 - Poti[i]) / 4; |
572 | Poti[i] += (tmp2 - Poti[i]) / 4; |
573 | if(Poti[i] > tmp2) Poti[i]--; |
573 | if(Poti[i] > tmp2) Poti[i]--; |