Subversion Repositories FlightCtrl

Rev

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

Rev 1036 Rev 1038
Line 6... Line 6...
6
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Line 7... Line 7...
7
 
7
 
8
#include "main.h"
8
#include "main.h"
Line 9... Line 9...
9
#include "uart.h"
9
#include "uart.h"
10
 
10
 
11
unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0;
11
unsigned char GetExternalControl = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0;
12
unsigned volatile char SioTmp = 0;
12
unsigned volatile char SioTmp = 0;
13
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
13
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
14
unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF];
14
unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF];
Line 254... Line 254...
254
                        RemoteTasten |= ExternControl.RemoteTasten;
254
                        RemoteTasten |= ExternControl.RemoteTasten;
255
            ConfirmFrame = ExternControl.Frame;
255
            ConfirmFrame = ExternControl.Frame;
256
            DebugDataAnforderung = 1;
256
            DebugDataAnforderung = 1;
257
            PcZugriff = 255;
257
            PcZugriff = 255;
258
            break;
258
            break;
-
 
259
   case 'f': // Poll the debug data
-
 
260
            DebugDataAnforderung = 1;
-
 
261
            break;                                                               
259
   case 'h':// x-1 Displayzeilen
262
   case 'h':// x-1 Displayzeilen
260
            Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
263
            Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
261
            RemoteTasten |= tmp_char_arr2[0];
264
            RemoteTasten |= tmp_char_arr2[0];
262
                        if(tmp_char_arr2[1] == 255) NurKanalAnforderung = 1; else NurKanalAnforderung = 0; // keine Displaydaten
265
                        if(tmp_char_arr2[1] == 255) NurKanalAnforderung = 1; else NurKanalAnforderung = 0; // keine Displaydaten
263
                        DebugDisplayAnforderung = 1;
266
                        DebugDisplayAnforderung = 1;
Line 272... Line 275...
272
            PcZugriff = 255;
275
            PcZugriff = 255;
273
                        break;
276
                        break;
274
   case 'v': // Version-Anforderung     und Ausbaustufe
277
   case 'v': // Version-Anforderung     und Ausbaustufe
275
            GetVersionAnforderung = 1;
278
            GetVersionAnforderung = 1;
276
            break;                                                               
279
            break;                                                               
277
   case 'g':// "Get"-Anforderung für Debug-Daten 
280
   case 'g':// 
278
            // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
-
 
279
            DebugGetAnforderung = 1;
281
                        GetExternalControl = 1;
280
            break;
282
            break;
281
   case 'q':// "Get"-Anforderung für Settings
283
   case 'q':// "Get"-Anforderung für Settings
282
            // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
284
            // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
283
            Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
285
            Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
284
            while(!UebertragungAbgeschlossen);
286
            while(!UebertragungAbgeschlossen);
Line 303... Line 305...
303
            eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1);  // aktiven Datensatz merken
305
            eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1);  // aktiven Datensatz merken
304
            Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
306
            Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
305
            Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
307
            Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
306
            Piep(GetActiveParamSetNumber());
308
            Piep(GetActiveParamSetNumber());
307
         break;
309
         break;
308
               
-
 
309
         
-
 
310
  }
310
  }
311
// DebugOut.AnzahlZyklen =  Debug_Timer_Intervall;
311
// DebugOut.AnzahlZyklen =  Debug_Timer_Intervall;
312
 NeuerDatensatzEmpfangen = 0;
312
 NeuerDatensatzEmpfangen = 0;
313
}
313
}
Line 364... Line 364...
364
//---------------------------------------------------------------------------------------------
364
//---------------------------------------------------------------------------------------------
365
void DatenUebertragung(void)  
365
void DatenUebertragung(void)  
366
{
366
{
367
 if(!UebertragungAbgeschlossen) return;
367
 if(!UebertragungAbgeschlossen) return;
Line 368... Line 368...
368
 
368
 
369
   if(DebugGetAnforderung && UebertragungAbgeschlossen)               // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
369
   if(GetExternalControl && UebertragungAbgeschlossen)        // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
370
   {
370
   {
371
      SendOutData('G',MeineSlaveAdresse,(unsigned char *) &ExternControl,sizeof(ExternControl));
371
      SendOutData('G',MeineSlaveAdresse,(unsigned char *) &ExternControl,sizeof(ExternControl));
372
          DebugGetAnforderung = 0;
372
          GetExternalControl = 0;
Line 373... Line 373...
373
   }
373
   }
374
 
374
 
375
    if((CheckDelay(Kompass_Timer)) && UebertragungAbgeschlossen)        
375
    if((CheckDelay(Kompass_Timer)) && UebertragungAbgeschlossen)        
Line 380... Line 380...
380
                  WinkelOut.UserParameter[1] = Parameter_UserParam2;
380
                  WinkelOut.UserParameter[1] = Parameter_UserParam2;
381
          SendOutData('w',MeineSlaveAdresse,(unsigned char *) &WinkelOut,sizeof(WinkelOut));
381
          SendOutData('w',MeineSlaveAdresse,(unsigned char *) &WinkelOut,sizeof(WinkelOut));
382
          if(WinkelOut.CalcState > 4)  WinkelOut.CalcState = 6; // wird dann in SPI auf Null gesetzt
382
          if(WinkelOut.CalcState > 4)  WinkelOut.CalcState = 6; // wird dann in SPI auf Null gesetzt
383
          Kompass_Timer = SetDelay(99);  
383
          Kompass_Timer = SetDelay(99);  
384
         }
384
         }
385
 
-
 
386
    if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen)  
385
    if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen)  
387
         {
386
         {
388
          SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut));
387
          SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut));
389
          DebugDataAnforderung = 0;
388
          DebugDataAnforderung = 0;
390
          Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL);  
389
          Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL);