Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1755 → Rev 1756

/branches/MartinW_Jeti+/jetimenu.c
69,10 → 69,21
 
void Menu_Battery(uint8_t key)
{ //0123456789ABCDEF
JetiBox_printfxy(0,0,"%2i.%1iV %3i.%1iA", UBat/10, UBat%10, Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
//1
 
if(Capacity.ActualCurrent > MotorsTmax) MotorsTmax = Capacity.ActualCurrent; ///
 
JetiBox_printfxy(0,0,"%2i.%1iV", UBat/10, UBat%10);
//0123456789ABCDEF
if(!MotorenEin)
{
JetiBox_printfxy(10,0,"%3i.%1iA",MotorsTmax/10, MotorsTmax%10);
}
else
{
JetiBox_printfxy(10,0,"%3i.%1iA",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
}
JetiBox_printfxy(0,1,"%4iW %6imAH",Capacity.ActualPower, Capacity.UsedCapacity);
//1
}
 
 
108,7 → 119,6
void Menu_Current(uint8_t key)
{ //0123456789ABCDEF
 
loop1 ++;
if(loop1 >= updatemotors)
123,12 → 133,29
Motors6 =Motor[6].Current;
Motors7 =Motor[7].Current;
}
JetiBox_printfxy(0,0,"%3i %3i %3i %3i", Motors0-12, Motors1-12, Motors2-12, Motors3-12);
JetiBox_printfxy(0,1,"%3i %3i %3i %3i", Motors4-12, Motors5-12, Motors6-12, Motors6-12);
if(Motor[0].Current > Motors0max) Motors0max = Motor[0].Current;
if(Motor[1].Current > Motors1max) Motors1max = Motor[1].Current;
if(Motor[2].Current > Motors2max) Motors2max = Motor[2].Current;
if(Motor[3].Current > Motors3max) Motors3max = Motor[3].Current;
if(Motor[4].Current > Motors4max) Motors4max = Motor[4].Current;
if(Motor[5].Current > Motors5max) Motors5max = Motor[5].Current;
if(Motor[6].Current > Motors6max) Motors6max = Motor[6].Current;
if(Motor[7].Current > Motors7max) Motors7max = Motor[7].Current;
 
if(!MotorenEin)
{
Motors0=Motors0max;Motors1=Motors1max;Motors2=Motors2max;Motors3=Motors3max;Motors4=Motors4max;Motors5=Motors5max;Motors6=Motors6max;Motors7=Motors7max;
}
JetiBox_printfxy(0,0,"%3i %3i %3i %3i", Motors0-(CurrentOffset/RequiredMotors), Motors1-(CurrentOffset/RequiredMotors), Motors2-(CurrentOffset/RequiredMotors), Motors3-(CurrentOffset/RequiredMotors));
JetiBox_printfxy(0,1,"%3i %3i %3i %3i", Motors4-(CurrentOffset/RequiredMotors), Motors5-(CurrentOffset/RequiredMotors), Motors6-(CurrentOffset/RequiredMotors), Motors6-(CurrentOffset/RequiredMotors));
if(RequiredMotors <= 4)
{
JetiBox_printfxy(0,1,"Currents ");
JetiBox_printfxy(0,1,"Currents T%3i.%1iA",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
}
else
if(RequiredMotors <= 6)
{
224,35 → 251,20
void Menu_Info(uint8_t key)
{ //0123456789ABCDEF
 
// JetiBox_printfxy(0,0,"%3i=Hovergas",HoverGas);
JetiBox_printfxy(0,0,"%3i=VSpeed",VarioMeter);
JetiBox_printfxy(0,1,"%3i=HG/4 %3i=Gas",HoverGas/4,StickGas);
}
/*
void Menu_spoti1(uint8_t key)
{ //0123456789ABCDEF
 
JetiBox_printfxy(0,0,">%3i=SPot1",PPM_in[13]);
JetiBox_printfxy(0,1," %3i=SPot2",PPM_in[14]);
if(key== JETIBOX_KEY_UP) PPM_in[13] = PPM_in[13]+1;
if(key== JETIBOX_KEY_DOWN) PPM_in[13] = PPM_in[13]-1;
}
 
void Menu_spoti2(uint8_t key)
{ //0123456789ABCDEF
 
JetiBox_printfxy(0,0," %3i=SPot1",PPM_in[13]);
JetiBox_printfxy(0,1,">%3i=SPot2",PPM_in[14],key);
if(key== JETIBOX_KEY_UP) PPM_in[14] = PPM_in[14]+5;
if(key== JETIBOX_KEY_DOWN) PPM_in[14] = PPM_in[14]-5;
}
 
*/
 
void Menu_Serialpoti(uint8_t key)
{
Menu_keynumber(key);
 
JetiBox_printfxy(0,0,"%c%3i=SP1%c%3i=SP3",pos1,PPM_in[13],pos3,PPM_in[15]);
JetiBox_printfxy(0,1,"%c%3i=SP2%c%3i=SP4",pos2,PPM_in[14],pos4,PPM_in[16]);
JetiBox_printfxy(0,0,"%c%3i=SP1%c%3i=SP3",pos1,PPM_in[13]+127,pos3,PPM_in[15]+127);
JetiBox_printfxy(0,1,"%c%3i=SP2%c%3i=SP4",pos2,PPM_in[14]+127,pos4,PPM_in[16]+127);
if((key== JETIBOX_KEY_UP ) & (keynumber ==1)) PPM_in[13] ++;
if((key== JETIBOX_KEY_DOWN) & (keynumber ==1)) PPM_in[13] --;
266,24 → 278,43
 
 
void Menu_hoeheconf(uint8_t key)
{ //0123456789ABCDEF
if(EE_Parameter.ExtraConfig == 3 || EE_Parameter.ExtraConfig == 1) //EE_Parameter.ExtraConfig == 1 =switched Hightv+ variopiepser
{
/*/ //0123456789ABCDEF
//CFG2_HEIGHT_LIMIT | CFG2_VARIO_BEEP | CFG_SENSITIVE_RC
 
SENSITIVE_RC on/off |VARIO_BEEP on/off| sw Height= 1 Vario Height = 0;
bit 2 1 0
000 0 rcoff Beepoff h
001 1 rcoff Beepoff v
010 2 rcoff Beepon h
011 3 rcoff Beepon v
100 4 rcon Beepoff h
101 5 rcon Beepoff v
110 6 rcon Beepon h
111 7 rcon Beepon v
 
/*/
 
//JetiBox_printfxy(0,0,"%3i econf",EE_Parameter.ExtraConfig);
//JetiBox_printfxy(0,1,"%3i=beep %3ideckel",(EE_Parameter.ExtraConfig & CFG2_VARIO_BEEP),(EE_Parameter.ExtraConfig & CFG2_HEIGHT_LIMIT));
 
if((EE_Parameter.ExtraConfig & CFG2_HEIGHT_LIMIT) == 1) //EE_Parameter.ExtraConfig == 1 =switched Hightv+ variopiepser
{
JetiBox_printfxy(0,0,"switched Hight v");
JetiBox_printfxy(0,0,"switched Hight v");
}
if(EE_Parameter.ExtraConfig == 2 || EE_Parameter.ExtraConfig == 0)
if((EE_Parameter.ExtraConfig & CFG2_HEIGHT_LIMIT) == 0)
{
JetiBox_printfxy(0,1,"Vario withbeep ^");
}
/*/
vario =0
vario und ton 2
nur hohe = 1
höhe mit schalter=1
höhe mit variopiep =3
/*/
if(key== JETIBOX_KEY_UP) EE_Parameter.ExtraConfig = 3;
if(key== JETIBOX_KEY_DOWN) EE_Parameter.ExtraConfig = 2;
if(key== JETIBOX_KEY_UP) EE_Parameter.ExtraConfig |= (1 << 0) ;// set bit 0
if(key== JETIBOX_KEY_DOWN)
{
EE_Parameter.ExtraConfig &= ~(1 << 0) ; //delete bit 0
EE_Parameter.ExtraConfig |= (1 << 1) ; //set bit 1 +piep
}
}
 
 
470,6 → 501,26
if((key== JETIBOX_KEY_DOWN) & (keynumber ==4)) EE_Parameter.DynamicStability --;
}
 
void Menu_camera(uint8_t key)
{
Menu_keynumber(key);
 
JetiBox_printfxy(0,0,"%c%3i=NCT%c%3i=RCT",pos1,EE_Parameter.ServoNickControl,pos3,EE_Parameter.ServoRollControl);
JetiBox_printfxy(0,1,"%c%3i=NCP%c%3i=RCP",pos2,EE_Parameter.ServoNickComp,pos4,EE_Parameter.ServoRollComp);
if((key== JETIBOX_KEY_UP ) & (keynumber ==1)) EE_Parameter.ServoNickControl ++; // Wert : 0-247 // Stellung des Servos
if((key== JETIBOX_KEY_DOWN) & (keynumber ==1)) EE_Parameter.ServoNickControl --;
if((key== JETIBOX_KEY_UP ) & (keynumber ==2)) EE_Parameter.ServoNickComp ++; // Wert : 0-247 // Einfluss Gyro/Servo
if((key== JETIBOX_KEY_DOWN) & (keynumber ==2)) EE_Parameter.ServoNickComp --;
if((key== JETIBOX_KEY_UP ) & (keynumber ==3)) EE_Parameter.ServoRollControl ++; // Wert : 0-247 // Stellung des Servos
if((key== JETIBOX_KEY_DOWN) & (keynumber ==3)) EE_Parameter.ServoRollControl --;
if((key== JETIBOX_KEY_UP ) & (keynumber ==4)) EE_Parameter.ServoRollComp ++; // Wert : 0-247 // Einfluss Gyro/Servo
if((key== JETIBOX_KEY_DOWN) & (keynumber ==4)) EE_Parameter.ServoRollComp --;
}
 
 
 
 
void Menu_mtest(uint8_t key)
{ //0123456789ABCDEF
//extern void LIBFC_JetiBox_Putchar(char c);
476,8 → 527,8
PC_MotortestActive = 240;
JetiBox_printfxy(0,0,"Mtest <+v <+^");
JetiBox_printfxy(0,1,"Motor=%3i Sp=%2i",loop3+1, MotorTest[loop3]);
JetiBox_printfxy(0,0,"Mtest <+v <+^%3i",Motor[loop3].Current-(CurrentOffset/RequiredMotors)); //13 chars
JetiBox_printfxy(0,1,"Motor=%2i Sp=%2i",loop3+1, MotorTest[loop3]);
 
if((key== JETIBOX_KEY_UP) & (loop2 <100 )) loop2=loop2 +2;//GESCHW
if((key== JETIBOX_KEY_DOWN) & (loop2 >0 )) loop2=loop2 -2;
489,24 → 540,24
}
 
void Menu_mem(uint8_t key)
{ //0123456789ABCDEF
unsigned char i =0;
 
{
JetiBox_printfxy(0,0,"SETTING=%1i",GetActiveParamSet());
JetiBox_printfxy(0,1,"< and > to STORE");
JetiBox_printfxy(0,1, "< + >toSTOREto %1i",settingdest);
// 00123456789ABCDEF
//if(key== JETIBOX_KEY_DOWN )
if(key== JETIBOX_KEY_LANDR && !MotorenEin)
 
{
ParamSet_WriteToEEProm(GetActiveParamSet());
{
ParamSet_WriteToEEProm(settingdest);
Piep(GetActiveParamSet(),120);
JetiBox_printfxy(13,0,"OK!");
}
if((key== JETIBOX_KEY_UP) & (settingdest <5 )) settingdest++;
//for(i=0; i<5; i++)
//{
JetiBox_printfxy(i,0,"OK!");
//}
}
if((key== JETIBOX_KEY_DOWN) & (settingdest >1 )) settingdest--;
}
 
 
533,7 → 584,7
 
const MENU_ENTRY JetiBox_Menu[] PROGMEM=
{ // l r u d pHandler links rechts up down
{23, 1, 0, 0, &Menu_Status }, // Seite 1
{22, 1, 0, 0, &Menu_Status }, // Seite 1
{ 0, 2, 1, 1, &Menu_Temperature }, // 2
{ 1, 3, 2, 2, &Menu_Battery }, // 3
{ 2, 4, 3, 3, &Menu_PosInfo }, // 4
551,10 → 602,10
{14, 16, 15, 15, &Menu_gps }, // 16
{15, 17, 16, 16, &Menu_loopP }, // 17
{16, 18, 17, 17, &Menu_coup }, // 18
{17, 19, 18, 18, &Menu_LOOPconf }, // 19
{18, 20, 19, 19, &Menu_hoeheconf }, // 20
{19, 21, 20, 20, &Menu_mtest }, // 21
{20, 22, 21, 21, &Menu_mem }, // 22
{17, 19, 18, 18, &Menu_camera }, // 19
{18, 20, 19, 19, &Menu_LOOPconf }, // 20
{19, 21, 20, 20, &Menu_hoeheconf }, // 21
{20, 22, 21, 21, &Menu_mtest }, // 22
{21, 0, 22, 22, &Menu_mem }, // 23
};
573,14 → 624,14
switch(key)
{
case JETIBOX_KEY_LEFT:
if (item == 0) return (1); // switch back to jeti expander menu
else
{
///if (item == 0) return (1); // switch back to jeti expander menu, so no back possible
///else
///{
if (keynumber <= 0 || keynumber >=5) //keynumber normaly 0, only in the parameter pages keyn=1...4
{
item = pgm_read_byte(&JetiBox_Menu[item].left); //trigger to left menu item
}
}
///}
break;
case JETIBOX_KEY_RIGHT: