Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1052 → Rev 1053

/trunk/menu.c
14,7 → 14,13
 
unsigned char MaxMenue = 11;
unsigned char MenuePunkt = 0;
unsigned char RemoteKeys = 0;
 
#define KEY1 0x01
#define KEY2 0x02
#define KEY3 0x04
#define KEY4 0x08
#define KEY5 0x10
 
void LcdClear(void)
{
26,6 → 32,15
{
 
if(MenuePunkt > MaxMenue) MenuePunkt = MaxMenue;
 
if(RemoteKeys & KEY1) { if(MenuePunkt) MenuePunkt--; else MenuePunkt = MaxMenue;}
if(RemoteKeys & KEY2) { MenuePunkt++;}
if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuePunkt = 0;
LcdClear();
if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);}
else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};
 
 
switch(MenuePunkt)
{
case 0:
131,4 → 146,5
MenuePunkt = 0;
break;
}
RemoteKeys = 0;
}
/trunk/menu.h
5,5 → 5,5
 
extern unsigned char MaxMenue;
extern unsigned char MenuePunkt;
extern unsigned char RemoteKeys;
 
 
/trunk/uart.c
9,7 → 9,8
#include "main.h"
#include "uart.h"
 
unsigned char GetExternalControl = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0, GetPPMChannelAnforderung = 0;
unsigned char GetExternalControl = 0,DebugDisplayAnforderung1 = 0, DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0, GetPPMChannelAnforderung = 0;
unsigned char DisplayLine = 0;
unsigned volatile char SioTmp = 0;
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF];
301,14 → 302,21
DebugDataIntervall = pRxData[0] * 10;
if (DebugDataIntervall) DebugDataAnforderung = 1;
break;
 
case 'h':// x-1 Displayzeilen
RemoteKeys |= pRxData[0];
if(RemoteKeys) DisplayLine = 0;
DebugDisplayAnforderung = 1;
break;
 
case 'l':// x-1 Displayzeilen
MenuePunkt = pRxData[0];
DebugDisplayAnforderung = 1;
DebugDisplayAnforderung1 = 1;
break;
case 'm':// Motortest
case 't':// Motortest
memcpy(&MotorTest[0], (unsigned char *)pRxData, sizeof(MotorTest));
while(!UebertragungAbgeschlossen);
SendOutData('M', MeineSlaveAdresse, 0);
SendOutData('T', MeineSlaveAdresse, 0);
PcZugriff = 255;
break;
case 'v': // Version-Anforderung und Ausbaustufe
320,7 → 328,7
case 'p': // get PPM Channels
GetPPMChannelAnforderung = 1;
break;
case 't':// "Get"-Anforderung für Settings
case 'q':// "Get"-Anforderung für Settings
// Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
if(pRxData[0] == 0xFF)
{
334,7 → 342,7
ReadParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
}
while(!UebertragungAbgeschlossen);
SendOutData('T', MeineSlaveAdresse, 2, &pRxData[0], sizeof(unsigned char), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
SendOutData('Q', MeineSlaveAdresse, 2, &pRxData[0], sizeof(unsigned char), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
break;
case 's': // Parametersatz speichern
if((1 <= pRxData[0]) && (pRxData[0] <= 5)) // check for setting to be in range
451,12 → 459,21
SendOutData('B', MeineSlaveAdresse, 1, (uint8_t*)&ConfirmFrame, sizeof(ConfirmFrame));
ConfirmFrame = 0;
}
 
if(DebugDisplayAnforderung && UebertragungAbgeschlossen)
{
Menu();
SendOutData('L',MeineSlaveAdresse, 3, &MenuePunkt, sizeof(MenuePunkt), &MaxMenue, sizeof(MaxMenue), DisplayBuff, sizeof(DisplayBuff));
DebugDisplayAnforderung = 0;
Menu();
SendOutData('H',MeineSlaveAdresse, 2, &DisplayLine, sizeof(DisplayLine), &DisplayBuff[DisplayLine * 20], 20);
DisplayLine++;
if(DisplayLine >= 4) DisplayLine = 0;
DebugDisplayAnforderung = 0;
}
if(DebugDisplayAnforderung1 && UebertragungAbgeschlossen)
{
Menu();
SendOutData('L',MeineSlaveAdresse, 3, &MenuePunkt, sizeof(MenuePunkt), &MaxMenue, sizeof(MaxMenue), DisplayBuff, sizeof(DisplayBuff));
DebugDisplayAnforderung1 = 0;
}
if(GetVersionAnforderung && UebertragungAbgeschlossen)
{
SendOutData('V',MeineSlaveAdresse, 1, (unsigned char *) &VersionInfo, sizeof(VersionInfo));