Subversion Repositories FlightCtrl

Rev

Rev 1773 | Rev 1791 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1773 Rev 1787
Line 193... Line 193...
193
        DebugOut.Analog[29] = Capacity.MinOfMaxPWM;
193
        DebugOut.Analog[29] = Capacity.MinOfMaxPWM;
194
    DebugOut.Analog[30] = GPS_Nick;
194
    DebugOut.Analog[30] = GPS_Nick;
195
    DebugOut.Analog[31] = GPS_Roll;
195
    DebugOut.Analog[31] = GPS_Roll;
196
    if(VersionInfo.HardwareError[0] || VersionInfo.HardwareError[1]) DebugOut.Status[1] |= 1; else DebugOut.Status[1] &= 0xfe;
196
    if(VersionInfo.HardwareError[0] || VersionInfo.HardwareError[1]) DebugOut.Status[1] |= 1; else DebugOut.Status[1] &= 0xfe;
Line 197... Line 197...
197
 
197
 
198
if(Capacity.MinOfMaxPWM < 250/* && modell_fliegt > 500*/)  { beeptime = 1000; DebugOut.Analog[25]++; }
-
 
199
 
198
//if(Capacity.MinOfMaxPWM < 250/* && modell_fliegt > 500*/)  { beeptime = 1000; DebugOut.Analog[25]++; }
Line 200... Line 199...
200
}
199
}
Line 504... Line 503...
504
    if(RohMesswertNick > 256)       MesswertNick += 1 * (RohMesswertNick - 256);
503
    if(RohMesswertNick > 256)       MesswertNick += 1 * (RohMesswertNick - 256);
505
    else if(RohMesswertNick < -256) MesswertNick += 1 * (RohMesswertNick + 256);
504
    else if(RohMesswertNick < -256) MesswertNick += 1 * (RohMesswertNick + 256);
506
    if(RohMesswertRoll > 256)       MesswertRoll += 1 * (RohMesswertRoll - 256);
505
    if(RohMesswertRoll > 256)       MesswertRoll += 1 * (RohMesswertRoll - 256);
507
    else if(RohMesswertRoll < -256) MesswertRoll += 1 * (RohMesswertRoll + 256);
506
    else if(RohMesswertRoll < -256) MesswertRoll += 1 * (RohMesswertRoll + 256);
508
  }
507
  }
509
  for(i=0;i<8;i++)
-
 
510
    {
-
 
511
     int tmp;
-
 
512
         tmp = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110;
-
 
513
         if(tmp > 255) tmp = 255; else if(tmp < 0) tmp = 0;
-
 
514
     if(tmp != Poti[i])
-
 
515
          {
-
 
516
           Poti[i] += (tmp - Poti[i]) / 8;
-
 
517
       if(Poti[i] > tmp) Poti[i]--;
-
 
518
           else Poti[i]++;
-
 
519
          }
-
 
520
        }
-
 
521
}
508
}
Line 522... Line 509...
522
 
509
 
523
//############################################################################
510
//############################################################################
524
// Senden der Motorwerte per I2C-Bus
511
// Senden der Motorwerte per I2C-Bus
Line 559... Line 546...
559
//############################################################################
546
//############################################################################
560
// Trägt ggf. das Poti als Parameter ein
547
// Trägt ggf. das Poti als Parameter ein
561
void ParameterZuordnung(void)
548
void ParameterZuordnung(void)
562
//############################################################################
549
//############################################################################
563
{
550
{
564
 unsigned char tmp;
551
 unsigned char tmp,i;
565
 #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];}
552
 #define CHK_POTI(b,a) {if(a < 248) b = a; else b = Poti[255 - a];}
566
 #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);}
553
 #define CHK_POTI_MM(b,a,min,max) {CHK_POTI(b,a); LIMIT_MIN_MAX(b, min, max);}
-
 
554
  for(i=0;i<8;i++)
-
 
555
    {
-
 
556
     int tmp2;
-
 
557
         tmp2 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1 + i]] + 110;
-
 
558
         if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0;
-
 
559
     if(tmp2 != Poti[i])
-
 
560
          {
-
 
561
           Poti[i] += (tmp2 - Poti[i]) / 4;
-
 
562
       if(Poti[i] > tmp2) Poti[i]--;
-
 
563
           else Poti[i]++;
-
 
564
          }
567
 
565
        }
568
 CHK_POTI_MM(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100);
566
 CHK_POTI_MM(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100);
569
 CHK_POTI_MM(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100);
567
 CHK_POTI_MM(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100);
570
 CHK_POTI_MM(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255);
568
 CHK_POTI_MM(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255);
571
 CHK_POTI_MM(Parameter_J16Timing,EE_Parameter.J16Timing,1,255);
569
 CHK_POTI_MM(Parameter_J16Timing,EE_Parameter.J16Timing,1,255);
572
 CHK_POTI_MM(Parameter_J17Timing,EE_Parameter.J17Timing,1,255);
570
 CHK_POTI_MM(Parameter_J17Timing,EE_Parameter.J17Timing,1,255);