Subversion Repositories Projects

Rev

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

Rev 404 Rev 407
Line 426... Line 426...
426
                        write_char_xy(20, top_line+1, 0xB0); // left circle
426
                        write_char_xy(20, top_line+1, 0xB0); // left circle
427
                        write_char_xy(22, top_line+1, 0xB2); // right circle
427
                        write_char_xy(22, top_line+1, 0xB2); // right circle
428
                        write_char_xy(27, top_line+1, 0xCC); // small meters m home
428
                        write_char_xy(27, top_line+1, 0xCC); // small meters m home
429
                        write_char_xy(7, bottom_line, 0x9E); // small v
429
                        write_char_xy(7, bottom_line, 0x9E); // small v
430
            write_char_xy(14, bottom_line, 0xD1); // on clock
430
            write_char_xy(14, bottom_line, 0xD1); // on clock
431
            write_char_xy(22, bottom_line, 0xD2); // fly clock
431
            write_char_xy(21, bottom_line, 0xD2); // fly clock
432
            write_char_xy(26, bottom_line, 0xC8); // sat1
432
            write_char_xy(26, bottom_line, 0xC8); // sat1
433
            write_char_xy(27, bottom_line, 0xC9); // sat2
433
            write_char_xy(27, bottom_line, 0xC9); // sat2
434
            COSD_FLAGS |= COSD_ICONS_WRITTEN;
434
            COSD_FLAGS |= COSD_ICONS_WRITTEN;
435
        }
435
        }
436
        if (rxd_buffer_locked) {
436
        if (rxd_buffer_locked) {
Line 460... Line 460...
460
                            write_char_att_xy(7 + x, top_line, BLINK);
460
                            write_char_att_xy(7 + x, top_line, BLINK);
461
                    } else if (naviData.RC_Quality > RCLVL_WRN && last_RC_Quality <= RCLVL_WRN) {
461
                    } else if (naviData.RC_Quality > RCLVL_WRN && last_RC_Quality <= RCLVL_WRN) {
462
                        for (uint8_t x = 0; x < 4; x++)
462
                        for (uint8_t x = 0; x < 4; x++)
463
                            write_char_att_xy(7 + x, top_line, 0);
463
                            write_char_att_xy(7 + x, top_line, 0);
464
                    }
464
                    }
465
                    last_RC_Quality = naviData.RC_Quality;
465
                                        last_RC_Quality = naviData.RC_Quality;
-
 
466
                                       
-
 
467
                                        if (naviData.NCFlags & NC_FLAG_NOSERIALLINK) {
-
 
468
                                                write_char_xy(11, top_line, 0); // clear
-
 
469
                                        } else {
-
 
470
                                                write_char_xy(11, top_line, 0xC6); // PC icon
-
 
471
                                        }
Line 466... Line 472...
466
 
472
 
Line 467... Line 473...
467
                    write_ndigit_number_u(13, top_line, naviData.CompassHeading, 100, 0);
473
                    write_ndigit_number_u(13, top_line, naviData.CompassHeading, 100, 0);
Line 499... Line 505...
499
                            COSD_FLAGS &= ~COSD_ICONS_WRITTEN;
505
                            COSD_FLAGS &= ~COSD_ICONS_WRITTEN;
500
                        }
506
                        }
501
                        if (COSD_FLAGS & COSD_FLAG_ARTHORIZON) {
507
                        if (COSD_FLAGS & COSD_FLAG_ARTHORIZON) {
502
                            draw_artificial_horizon(top_line + 2, bottom_line - 1, naviData.AngleNick, naviData.AngleRoll);
508
                            draw_artificial_horizon(top_line + 2, bottom_line - 1, naviData.AngleNick, naviData.AngleRoll);
503
                        }
509
                        }
-
 
510
                                                // motors are on, assume we were/are flying
-
 
511
                                                COSD_FLAGS |= COSD_WASFLYING;
504
                    } else {
512
                    } else {
505
                                                // stats
513
                                                // stats
506
                                                if (COSD_FLAGS & COSD_FLAG_STATS) {
514
                                                if ((COSD_FLAGS & COSD_WASFLYING) && (COSD_FLAGS & COSD_FLAG_STATS)) {
507
                                                        write_ascii_string_pgm(2, 5, stats_item_pointers[0]); // max Altitude
515
                                                        write_ascii_string_pgm(2, 5, stats_item_pointers[0]); // max Altitude
508
                                write_ndigit_number_s(18, 5, max_Altimeter / 30, 1000, 0);
516
                                write_ndigit_number_s(18, 5, max_Altimeter / 30, 1000, 0);
509
                                write_char_xy(22, 5, 204); // small meters m
517
                                write_char_xy(22, 5, 204); // small meters m
510
                                                        write_ascii_string_pgm(2, 6, stats_item_pointers[1]); // max Speed
518
                                                        write_ascii_string_pgm(2, 6, stats_item_pointers[1]); // max Speed
511
                                                        write_ndigit_number_u(19, 6, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 100, 0);
519
                                                        write_ndigit_number_u(19, 6, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 100, 0);
Line 538... Line 546...
538
                            write_char_att_xy(x, bottom_line, 0);
546
                            write_char_att_xy(x, bottom_line, 0);
539
                    }
547
                    }
Line 540... Line 548...
540
                                       
548
                                       
541
 
549
 
Line 542... Line 550...
542
                    write_time(8, bottom_line, uptime);
550
                    write_time(8, bottom_line, uptime);
Line -... Line 551...
-
 
551
                    write_time(15, bottom_line, naviData.FlyingTime);
-
 
552
 
-
 
553
                    write_ndigit_number_u(24, bottom_line, naviData.SatsInUse, 10, 0);
-
 
554
 
-
 
555
                                        if (naviData.NCFlags & NC_FLAG_MANUAL_CONTROL) {
-
 
556
                        write_char_xy(23, bottom_line, 0xB3); // rc transmitter
543
                    write_time(16, bottom_line, naviData.FlyingTime);
557
                    } else {
544
 
558
                        write_char_xy(23, bottom_line, 0); // clear
545
                    write_ndigit_number_u(24, bottom_line, naviData.SatsInUse, 10, 0);
559
                    }
546
 
560
 
547
                    if (naviData.NCFlags & NC_FLAG_CH) {
561
                    if (naviData.NCFlags & NC_FLAG_CH) {