Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2721 → Rev 2722

/trunk/hottmenu.c
60,6 → 60,7
unsigned char NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0, ToNC_Load_WP_List = 0, NaviData_MaxWpListIndex = 0;
unsigned char ToNC_Load_SingePoint = 0, ToNC_Store_SingePoint = 0, Show_Load_Time = 0, Show_Load_Value = 0, Show_Store_Time = 0, Show_Store_Value = 0;
char WPL_Name[10];// = {" \0"};
unsigned char HoTT_TextLevel = 0; // how important is the message? (for OSD-Data)
 
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
 
107,7 → 108,7
const char PROGMEM STORE[] = {" Store Position SP1 "};
const char PROGMEM LOAD[] = {" Load Position SP1 "};
const char PROGMEM FLYZONE[] = {" Flyzone: points "};
const char PROGMEM SETTING[] = {"Set :"};
const char PROGMEM SETTING[] = {"Set : "};
 
const char PROGMEM CALIBRATE_TEXT[6][21] =
{
212,7 → 213,7
{SPEAK_ERR_COMPASS,0}, // "no ext. compass" // 33
{SPEAK_ERR_COMPASS,0}, // "compass sensor" // 34
{SPEAK_ERROR,1}, // "Failsafe postion0", // 35
{SPEAK_ERROR,0}, // "No Redundancy!", // 36
{SPEAK_REDUNDANC_OFF,0},// "No Redundancy!", // 36
{0,0}, // "Redundancy test", // 37
{SPEAK_ERR_GPS,0}, // "GPS Update Rate", // 38
{SPEAK_ERR_DATABUS,0}, // "Canbus Error! // 39
436,6 → 437,7
for(i=0; i<16;i++) VarioPacket.Text[i+3] = pgm_read_byte(&NC_ERROR_TEXT[NC_ErrorCode][i]);
VarioPacket.Text[19] = ' ';
VarioPacket.Text[20] = ' ';
HoTT_TextLevel = 10;
}
else
if(Partner_ErrorCode)
454,16 → 456,26
VarioPacket.Text[3] = Partner_ErrorCode%10 + '0';
VarioPacket.Text[4] = ':';
for(i=0; i<16;i++) VarioPacket.Text[i+5] = pgm_read_byte(&NC_ERROR_TEXT[Partner_ErrorCode][i]);
HoTT_TextLevel = 9;
}
else
if(ShowCmpsCalibrateTime)
{
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&CALIBRATE_TEXT[WinkelOut.CalcState][i]);
HoTT_TextLevel = 8;
}
else
if(LowVoltageLandingActive) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&LANDING[i]); // no Error
if(LowVoltageLandingActive)
{
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&LANDING[i]);
HoTT_TextLevel = 8;
}
else
if(FC_StatusFlags & FC_STATUS_LOWBAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&UNDERVOLTAGE[i]); // no Error
if(FC_StatusFlags & FC_STATUS_LOWBAT)
{
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&UNDERVOLTAGE[i]); // no Error
HoTT_TextLevel = 7;
}
else
if(ShowSettingNameTime) // no Error
{
476,6 → 488,7
VarioPacket.Text[18] = 'O';
VarioPacket.Text[19] = 'A';
VarioPacket.Text[20] = 'T';
HoTT_TextLevel = 6;
}
else
{
482,6 → 495,7
VarioPacket.Text[18] = ' ';
VarioPacket.Text[19] = ' ';
VarioPacket.Text[20] = ' ';
HoTT_TextLevel = 6;
}
}
else
494,6 → 508,7
VarioPacket.Text[18] = Show_Store_Value/10 + '0';
VarioPacket.Text[19] = Show_Store_Value%10 + '0';
}
HoTT_TextLevel = 5;
}
else
if(Show_Load_Time)
505,6 → 520,7
VarioPacket.Text[17] = Show_Load_Value/10 + '0';
VarioPacket.Text[18] = Show_Load_Value%10 + '0';
}
HoTT_TextLevel = 5;
}
else
if(NaviData_WaypointNumber)
536,6 → 552,7
VarioPacket.Text[19] = ' ';
VarioPacket.Text[20] = ' ';
if(FlyzonePointCnt >= 3) VarioPacket.Text[20] = 'F';
HoTT_TextLevel = 2;
}
else if(FlyzonePointCnt)
{
542,25 → 559,36
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&FLYZONE[i]);
if(FlyzonePointCnt >=10) VarioPacket.Text[9] = '0'+(FlyzonePointCnt) / 10;
VarioPacket.Text[10] = '0'+(FlyzonePointCnt) % 10;
HoTT_TextLevel = 1;
}
else
if(NC_To_FC_Flags & NC_TO_FC_SIMULATION_ACTIVE)
{
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&SIMULATION[i]);
HoTT_TextLevel = 3;
}
else
if(!CalibrationDone)
if(!CalibrationDone)// no Error and not calibrated
{
HoTT_TextLevel = 0;
if(OEM_String[0] == 0xff) for(i=0; i<17;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i+2]); // no Error and not calibrated
else for(i=0; i<16;i++) VarioPacket.Text[i] = OEM_String[i]; // no Error and not calibrated
else for(i=0; i<16;i++)
{
if(OEM_String[i]) VarioPacket.Text[i] = OEM_String[i];
else VarioPacket.Text[i] = ' ';
HoTT_TextLevel = 1;
}
VarioPacket.Text[16] = '0'+VERSION_MAJOR;
VarioPacket.Text[17] = '.';
VarioPacket.Text[18] = '0'+VERSION_MINOR/10;
VarioPacket.Text[19] = '0'+VERSION_MINOR%10;
VarioPacket.Text[20] = 'a'+VERSION_PATCH;
 
// Level of the Message: 0 = Nothing special; 1 = OEM-Name ; 2 = Waypoint Data ; 3 = Simulation ; 4 = "Calibrate" ; 5 = "Load&Safe" ; 6 = "Setting name" ; 7-10 = Error
}
else
{
HoTT_TextLevel = 0;
if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
else
{
568,7 → 596,7
{
for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
}
else
else // OEM Name
{
VarioPacket.Text[0] = ' ';
VarioPacket.Text[1] = ' ';
575,6 → 603,7
VarioPacket.Text[2] = ' ';
for(i=0; i<16;i++) VarioPacket.Text[i+3] = OEM_String[i]; // no Error and not calibrated
VarioPacket.Text[20] = ' ';
HoTT_TextLevel = 1;
}
}
if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE_AKTIVE) VarioPacket.Text[0] = 'R';
/trunk/hottmenu.h
4,6 → 4,7
extern unsigned char NaviData_WaypointIndex;
extern unsigned char NaviData_WaypointNumber, NaviData_TargetHoldTime,ToNC_Load_WP_List,NaviData_MaxWpListIndex;
extern unsigned char ToNC_Load_SingePoint, ToNC_Store_SingePoint, Show_Load_Time, Show_Store_Time, Show_Load_Value, Show_Store_Value;
extern unsigned char HoTT_TextLevel;
 
extern char WPL_Name[10];
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
20,7 → 21,7
#define SPEAK_MAX_TEMPERAT 10 // ->Motor Überlastung
#define SPEAK_ALTI_REACHED 11 // ?
#define SPEAK_WP_REACHED 12
#define SPEAK_NEXT_WP 13
#define SPEAK_STARTING_WP 13
#define SPEAK_LANDING 14
#define SPEAK_GPS_FIX 15
#define SPEAK_UNDERVOLTAGE 16
35,6 → 36,17
#define SPEAK_MAX_RANGE 25
#define SPEAK_MAX_ALTITUD 26
 
#define SPEAK_MK_READY 27
#define SPEAK_LOAD 28
#define SPEAK_SAVE 29
#define SPEAK_REDUNDANC_ON 30
#define SPEAK_REDUNDANC_OFF 31
#define SPEAK_NEXT_WP 32 // ?
#define SPEAK_REC_START 33
#define SPEAK_REC_STOP 34
#define SPEAK_OKAY 35 // ?
#define SPEAK_WARNING 36 // ?
 
#define SPEAK_20M 37 // ?
#define SPEAK_MK_OFF 38
#define SPEAK_ALTITUDE_ON 39
310,6 → 322,7
 
#define MAXPARAM 41 //Muss eine ungerade Zahl sein
extern const Parameter_List_t Parameter_List[];
extern void BuildHottStatusText(void);
//---------------------------------------------------------------------------------------------------
 
#endif