Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1517 → Rev 1518

/beta/Code Redesign killagreg/jetimenu.c
25,87 → 25,69
// -----------------------------------------------------------
// the menu functions
// -----------------------------------------------------------
#define JETI_MENU_FCINFO 0
void mfc0(uint8_t key)
 
void Menu_Status(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"+ Flight-Ctrl +");
JetiBox_printfxy(0,1,"HW:%d.%d SW:%d.%d%c",BoardRelease/10,BoardRelease%10,VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH+'a');
}
#define JETI_MENU_VOLT_RC 1
void mfc1(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"Volt RC-Level");
JetiBox_printfxy(0,1,"%2i.%1iV %03i",UBat/10, UBat%10, RC_Quality);
}
#define JETI_MENU_HEIGHT 2
void mfc2(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"Height[m] Vario");
if(ParamSet.Config0 & CFG0_AIRPRESS_SENSOR)
JetiBox_printfxy(0,0,"%2i.%1iV",UBat/10, UBat%10);
if(NCDataOkay)
{
JetiBox_printfxy(0,1,"%5i %5i", (int16_t)(ReadingHeight/100), ReadingVario/10);
JetiBox_printfxy(7,0,"%03dm %03d%c", GPSInfo.HomeDistance/10,GPSInfo.HomeBearing, 0xDF);
}
else
{
JetiBox_printfxy(0,1,"no press. sensor");
JetiBox_printfxy(7,0,"Status");
}
JetiBox_printfxy(0,1,"%4i %2i:%02i",Capacity.UsedCapacity,FlightSeconds/60,FlightSeconds%60);
if(ParamSet.Config0 & CFG0_AIRPRESS_SENSOR)
{
JetiBox_printfxy(11,1,"%4im", (int16_t)(ReadingHeight/100));
}
}
#define JETI_MENU_ATTITUDE 3
void mfc3(uint8_t key)
 
void Menu_Attitude(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"Nick Roll Yaw");
JetiBox_printfxy(0,1,"%4i %4i %4i", (int16_t)(IntegralGyroNick/1024), (int16_t)(IntegralGyroRoll/1024), (int16_t)(YawGyroHeading / GYRO_DEG_FACTOR));
}
#define JETI_MENU_AKKU 4
void mfc4(uint8_t key)
 
void Menu_Battery(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"U[V] I[A] C[mAh]");
JetiBox_printfxy(0,0," [V] [A] [mAh]");
JetiBox_printfxy(0,1,"%2i.%1i %2i.%1i %6i",UBat/10, UBat%10, Capacity.ActualCurrent/10, Capacity.ActualCurrent%10, Capacity.UsedCapacity);
}
 
 
#define JETI_MENU_NCINFO 4
void mnc1(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(1,0,"+ Navi-Ctrl +");
#ifdef USE_NAVICTRL
void Menu_PosInfo(uint8_t key)
{
if(NCDataOkay)
{
JetiBox_printfxy(0,1,"HW:%d.%d SW:%d.%d%c",NC_Version.Hardware/10,NC_Version.Hardware%10,NC_Version.Major, NC_Version.Minor, NC_Version.Patch+'a');
JetiBox_printfxy(0,0,"Sat:%02d", GPSInfo.NumOfSats);
switch (GPSInfo.SatFix)
{
case SATFIX_NONE:
JetiBox_printfxy(6,0,"NoFix");
break;
case SATFIX_2D:
JetiBox_printfxy(6,0,"2DFix");
break;
case SATFIX_3D:
JetiBox_printfxy(6,0,"3DFix");
break;
default:
JetiBox_printfxy(6,0,"??Fix");
break;
}
if(GPSInfo.Flags & FLAG_DIFFSOLN)
{
JetiBox_printfxy(11,0,"/DGPS");
}
JetiBox_printfxy(0,1,"Home:%03dm %03d%c", GPSInfo.HomeDistance/10, GPSInfo.HomeBearing, 0xDF);
}
else
{
JetiBox_printfxy(1,1,"Not found!");
{ //0123456789ABCDEF
JetiBox_printfxy(2,0,"No NaviCtrl!");
}
#else
JetiBox_printfxy(0,1,"No NC Support");
#endif
}
#define JETI_MENU_GPSINFO 5
void mnc2(uint8_t key)
{
JetiBox_printfxy(0,0,"Sat:%02d", GPSInfo.NumOfSats);
switch (GPSInfo.SatFix)
{
case SATFIX_NONE:
JetiBox_printfxy(6,0,"NoFix");
break;
case SATFIX_2D:
JetiBox_printfxy(6,0,"2DFix");
break;
case SATFIX_3D:
JetiBox_printfxy(6,0,"3DFix");
break;
default:
JetiBox_printfxy(6,0,"??Fix");
break;
}
if(GPSInfo.Flags & FLAG_DIFFSOLN)
{
JetiBox_printfxy(11,0,"/DGPS");
}
JetiBox_printfxy(0,1,"Home:%03dm %03d%c", GPSInfo.HomeDistance/10, GPSInfo.HomeBearing, 0xDF);
}
 
// -----------------------------------------------------------
// the menu topology
121,23 → 103,18
} MENU_ENTRY;
 
 
// the menu navigation structure
/*
0 ----------------------------- 5
| |
4 - 1 - 2 - 3 - 4 - 1 6
/* |
 
3 - 0 - 1 - 2 - 3 - 0
 
*/
 
const MENU_ENTRY JetiBox_Menu[] PROGMEM=
{ // l r u d pHandler
{0, 5, 0, 1, &mfc0 }, // 0
{4, 2, 0, 1, &mfc1 }, // 1
{1, 3, 0, 2, &mfc2 }, // 2
{2, 4, 0, 3, &mfc3 }, // 3
{3, 1, 0, 4, &mfc4 }, // 4
{0, 5, 5, 6, &mnc1 }, // 5
{6, 6, 5, 6, &mnc2 } // 6
{3, 1, 0, 0, &Menu_Status }, // 0
{0, 2, 1, 1, &Menu_Attitude }, // 1
{1, 3, 2, 2, &Menu_Battery }, // 2
{2, 0, 3, 3, &Menu_PosInfo }, // 3
};
 
// -----------------------------------------------------------
/beta/Code Redesign killagreg/main.c
78,7 → 78,7
 
uint8_t BoardRelease = 10;
uint8_t LowVoltageWarning = 94;
uint16_t FlightMinutes = 0, FlightMinutesTotal = 0;
uint16_t FlightMinutes = 0, FlightMinutesTotal = 0, FlightSeconds = 0;
 
uint8_t GetBoardRelease(void)
{
153,7 → 153,7
 
int16_t main (void)
{
uint16_t timer, flighttimer, pollingtimer;
uint16_t timer, pollingtimer;
uint8_t i;
 
// disable interrupts global
272,7 → 272,7
 
FlightMinutes = GetParamWord(PID_FLIGHT_MINUTES);
FlightMinutesTotal = GetParamWord(PID_FLIGHT_MINUTES_TOTAL);
flighttimer = 0;
 
if( (FlightMinutesTotal == 0xFFFF) || (FlightMinutes == 0xFFFF) )
{
FlightMinutes = 0;
351,6 → 351,9
 
if(CheckDelay(timer))
{
static uint8_t counter_second = 0;
static uint16_t counter_minute = 0;
 
timer += 20; // every 20 ms
if(PcAccess) PcAccess--;
else
396,10 → 399,18
SendSPI = 4;
#endif
 
if(!(FCFlags & FCFLAG_MOTOR_RUN)) flighttimer = 1450; // 0.5 minutes round up
if(++flighttimer == 2930) // one minute
if(!(FCFlags & FCFLAG_MOTOR_RUN)) counter_minute = 1450; // 0.5 minutes round up
else
{
flighttimer = 0;
if(++counter_second == 49) // one second
{
counter_second = 0;
FlightSeconds++;
}
}
if(++counter_minute == 2930) // one minute
{
counter_minute = 0;
FlightMinutesTotal++;
FlightMinutes++;
SetParamWord(PID_FLIGHT_MINUTES_TOTAL, FlightMinutesTotal);
/beta/Code Redesign killagreg/main.h
15,7 → 15,7
 
extern uint8_t LowVoltageWarning;
extern uint8_t BoardRelease;
extern uint16_t FlightMinutes, FlightMinutesTotal;
extern uint16_t FlightMinutes, FlightMinutesTotal, FlightSeconds;
void LipoDetection(uint8_t print);