Subversion Repositories FlightCtrl

Rev

Rev 2183 | Rev 2309 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2183 Rev 2230
Line 126... Line 126...
126
    "Gyro Compass    ",
126
    "Gyro Compass    ",
127
    "Motor 1         ",
127
    "Motor 1         ",
128
    "Motor 2         ",
128
    "Motor 2         ",
129
    "Motor 3         ",
129
    "Motor 3         ",
130
    "Motor 4         ", //15
130
    "Motor 4         ", //15
131
    "16 Vario        ",
131
    "16              ",
132
    "17 HightDeviatio",
132
    "17              ",
133
    "18 I Gas        ",
133
    "18              ",
134
    "19 ACC Gas      ",
134
    "19              ",
135
    "20 Vario Gas    ", //20 servo
135
    "Servo           ", //20
136
    "Hovergas        ",
136
    "Hovergas        ",
137
    "22 Setp.trimm   ",    //"Current [0.1A]  ",
137
    "Current [0.1A]  ",
138
    "Capacity [mAh]  ",
138
    "Capacity [mAh]  ",
139
    "Height Setpoint ",
139
    "Height Setpoint ",
140
    "25 ACC-Integral ", //25
140
    "25              ", //25
141
    "26 Gasreduction ", //"26 CPU OverLoad ",
141
    "26              ", //"26 CPU OverLoad ",
142
    "27 fileter      ",//"Compass Setpoint",
142
    "Compass Setpoint",
143
    "I2C-Error       ",
143
    "I2C-Error       ",
144
    "29 I            ",//    "BL Limit        ",
144
    "BL Limit        ",
145
    "GPS_Nick        ", //30
145
    "GPS_Nick        ", //30
146
    "GPS_Roll        "
146
    "GPS_Roll        "
147
};
147
};
Line 329... Line 329...
329
 
329
 
330
// --------------------------------------------------------------------------
330
// --------------------------------------------------------------------------
331
void Decode64(void)  // die daten werden im rx buffer dekodiert, das geht nur, weil aus 4 byte immer 3 gemacht werden.
331
void Decode64(void)  // die daten werden im rx buffer dekodiert, das geht nur, weil aus 4 byte immer 3 gemacht werden.
332
{
332
{
-
 
333
 unsigned char a,b,c,d;
333
 unsigned char a,b,c,d;
334
 unsigned char x,y,z;
334
 unsigned char ptrIn = 3; // start at begin of data block
335
 unsigned char ptrIn = 3; // start at begin of data block
335
 unsigned char ptrOut = 3;
336
 unsigned char ptrOut = 3;
Line 336... Line -...
336
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.
-
 
337
 
337
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.
338
 len/=4;
338
 
339
 while(len--)
339
 while(len)
340
  {
340
  {
341
   a = RxdBuffer[ptrIn++] - '=';
341
   a = RxdBuffer[ptrIn++] - '=';
342
   b = RxdBuffer[ptrIn++] - '=';
342
   b = RxdBuffer[ptrIn++] - '=';
Line 343... Line 343...
343
   c = RxdBuffer[ptrIn++] - '=';
343
   c = RxdBuffer[ptrIn++] - '=';
344
   d = RxdBuffer[ptrIn++] - '=';
344
   d = RxdBuffer[ptrIn++] - '=';
345
 
345
 
-
 
346
   x = (a << 2) | (b >> 4);
-
 
347
   y = ((b & 0x0f) << 4) | (c >> 2);
-
 
348
   z = ((c & 0x03) << 6) | d;
-
 
349
 
346
   RxdBuffer[ptrOut++] = (a << 2) | (b >> 4);
350
   if(len--) RxdBuffer[ptrOut++] = x; else break;
347
   RxdBuffer[ptrOut++] = ((b & 0x0f) << 4) | (c >> 2);
351
   if(len--) RxdBuffer[ptrOut++] = y; else break;
348
   RxdBuffer[ptrOut++] = ((c & 0x03) << 6) | d;
352
   if(len--) RxdBuffer[ptrOut++] = z;   else break;
Line 349... Line 353...
349
  }
353
  }
Line 744... Line 748...
744
    if(((DebugDataIntervall>0 && CheckDelay(Debug_Timer)) || DebugDataAnforderung) && UebertragungAbgeschlossen)
748
    if(((DebugDataIntervall>0 && CheckDelay(Debug_Timer)) || DebugDataAnforderung) && UebertragungAbgeschlossen)
745
         {
749
         {
746
                  CopyDebugValues();
750
                  CopyDebugValues();
747
          SendOutData('D', FC_ADDRESS, 1, (unsigned char *) &DebugOut,sizeof(DebugOut));
751
          SendOutData('D', FC_ADDRESS, 1, (unsigned char *) &DebugOut,sizeof(DebugOut));
748
          DebugDataAnforderung = 0;
752
          DebugDataAnforderung = 0;
749
DebugOut.Analog[16] = 0;
-
 
750
          if(DebugDataIntervall>0) Debug_Timer = SetDelay(DebugDataIntervall);
753
          if(DebugDataIntervall>0) Debug_Timer = SetDelay(DebugDataIntervall);
751
 
-
 
752
         }
754
         }
753
    if(Intervall3D > 0 && CheckDelay(Timer3D) && UebertragungAbgeschlossen)
755
    if(Intervall3D > 0 && CheckDelay(Timer3D) && UebertragungAbgeschlossen)
754
         {
756
         {
755
                  Data3D.Winkel[0] = (int) (IntegralNick / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
757
                  Data3D.Winkel[0] = (int) (IntegralNick / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
756
                  Data3D.Winkel[1] = (int) (IntegralRoll / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
758
                  Data3D.Winkel[1] = (int) (IntegralRoll / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad