Subversion Repositories NaviCtrl

Rev

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

Rev 41 Rev 51
Line 94... Line 94...
94
/************************************/
94
/************************************/
95
// Display with 20 characters in 4 lines
95
// Display with 20 characters in 4 lines
96
void LCD_PrintMenu(void)
96
void LCD_PrintMenu(void)
97
{
97
{
98
        s32 i1,i2;
98
        s32 i1,i2;
-
 
99
        u8 sign;
99
        if(RemoteKeys & KEY1) { if(MenuItem) MenuItem--; else MenuItem = MaxMenuItem;}
100
        if(RemoteKeys & KEY1) { if(MenuItem) MenuItem--; else MenuItem = MaxMenuItem;}
100
        if(RemoteKeys & KEY2) { if(MenuItem == MaxMenuItem) MenuItem = 0; else MenuItem++;}
101
        if(RemoteKeys & KEY2) { if(MenuItem == MaxMenuItem) MenuItem = 0; else MenuItem++;}
101
        if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuItem = 0;
102
        if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuItem = 0;
Line 102... Line 103...
102
 
103
 
Line 145... Line 146...
145
                                        break;
146
                                        break;
146
                                default:
147
                                default:
147
                                        LCD_printfxy(0,0,"Sats:%02d Fix:??  ", GPSData.NumOfSats);
148
                                        LCD_printfxy(0,0,"Sats:%02d Fix:??  ", GPSData.NumOfSats);
148
                                        break;
149
                                        break;
149
                                }
150
                                }
-
 
151
                                if(GPSData.Position.Longitude < 0) sign = '-';
-
 
152
                                else sign = '+';
150
                                i1 = GPSData.Position.Longitude/10000000L;
153
                                i1 = abs(GPSData.Position.Longitude/10000000L);
151
                                i2 = abs(GPSData.Position.Longitude%10000000L);
154
                                i2 = abs(GPSData.Position.Longitude%10000000L);
152
                                LCD_printfxy(0,1,"Lon:%+3ld.%07ld deg",i1, i2);
155
                                LCD_printfxy(0,1,"Lon:%c%3ld.%07ld deg",sign, i1, i2);
-
 
156
                                if(GPSData.Position.Latitude < 0) sign = '-';
-
 
157
                                else sign = '+';
153
                                i1 = GPSData.Position.Latitude/10000000L;
158
                                i1 = abs(GPSData.Position.Latitude/10000000L);
154
                                i2 = abs(GPSData.Position.Latitude%10000000L);
159
                                i2 = abs(GPSData.Position.Latitude%10000000L);
155
                                LCD_printfxy(0,2,"Lat:%+3ld.%07ld deg",i1, i2);
160
                                LCD_printfxy(0,2,"Lat:%c%3ld.%07ld deg",sign, i1, i2);
-
 
161
                                if(GPSData.Position.Altitude < 0) sign = '-';
-
 
162
                                else sign = '+';
156
                                i1 = GPSData.Position.Altitude/1000L;
163
                                i1 = abs(GPSData.Position.Altitude/1000L);
157
                                i2 = abs(GPSData.Position.Altitude%1000L);
164
                                i2 = abs(GPSData.Position.Altitude%1000L);
158
                                LCD_printfxy(0,3,"Alt:%4ld.%03ld m",i1, i2);
165
                                LCD_printfxy(0,3,"Alt:%c%4ld.%03ld m",i1, i2);
159
                        }
166
                        }
160
                        break;
167
                        break;
161
                case 2:
168
                case 2:
162
                        if (GPSData.Status == INVALID)
169
                        if (GPSData.Status == INVALID)
163
                        {
170
                        {
Line 219... Line 226...
219
                                LCD_printfxy(0,2,"    Is not set.      ");
226
                                LCD_printfxy(0,2,"    Is not set.      ");
220
                                LCD_printfxy(0,3,"                     ");
227
                                LCD_printfxy(0,3,"                     ");
221
                        }
228
                        }
222
                        else
229
                        else
223
                        {
230
                        {
-
 
231
                                if(GPS_HomePosition.Longitude < 0) sign = '-';
-
 
232
                                else sign = '+';
224
                                i1 = GPS_HomePosition.Longitude/10000000L;
233
                                i1 = abs(GPS_HomePosition.Longitude/10000000L);
225
                                i2 = abs(GPS_HomePosition.Longitude%10000000L);
234
                                i2 = abs(GPS_HomePosition.Longitude%10000000L);
226
                                LCD_printfxy(0,1,"Lon: %3ld.%07ld deg",i1, i2);
235
                                LCD_printfxy(0,1,"Lon: %c%3ld.%07ld deg",sign, i1, i2);
-
 
236
                                if(GPS_HomePosition.Latitude < 0) sign = '-';
-
 
237
                                else sign = '+';
227
                                i1 = GPS_HomePosition.Latitude/10000000L;
238
                                i1 = abs(GPS_HomePosition.Latitude/10000000L);
228
                                i2 = abs(GPS_HomePosition.Latitude%10000000L);
239
                                i2 = abs(GPS_HomePosition.Latitude%10000000L);
229
                                LCD_printfxy(0,2,"Lat: %3ld.%07ld deg",i1, i2);
240
                                LCD_printfxy(0,2,"Lat: %c%3ld.%07ld deg",sign, i1, i2);
-
 
241
                                if(GPS_HomePosition.Altitude < 0) sign = '-';
-
 
242
                                else sign = '+';
230
                                i1 = GPS_HomePosition.Altitude/1000L;
243
                                i1 = abs(GPS_HomePosition.Altitude/1000L);
231
                                i2 = abs(GPS_HomePosition.Altitude%1000L);
244
                                i2 = abs(GPS_HomePosition.Altitude%1000L);
232
                                LCD_printfxy(0,3,"Alt:%4ld.%03ld m",i1, i2);
245
                                LCD_printfxy(0,3,"Alt:%c%4ld.%03ld m",sign, i1, i2);
233
                        }
246
                        }
234
                        break;
247
                        break;
235
                case 6: // RC stick controls from FC
248
                case 6: // RC stick controls from FC
236
                        LCD_printfxy(0,0,"RC-Sticks" );
249
                        LCD_printfxy(0,0,"RC-Sticks" );
237
            LCD_printfxy(0,1,"Ni:%4i  Ro:%4i ",FC.StickNick, FC.StickRoll);
250
            LCD_printfxy(0,1,"Ni:%4i  Ro:%4i ",FC.StickNick, FC.StickRoll);