Subversion Repositories Projects

Rev

Rev 497 | Rev 519 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 497 Rev 499
Line 78... Line 78...
78
                    COSD_FLAGS2 |= COSD_WASFLYING;
78
                    COSD_FLAGS2 |= COSD_WASFLYING;
79
                } else {
79
                } else {
80
                    // stats
80
                    // stats
81
                    if ((COSD_FLAGS2 & COSD_WASFLYING) && (COSD_FLAGS & COSD_FLAG_STATS)) {
81
                    if ((COSD_FLAGS2 & COSD_WASFLYING) && (COSD_FLAGS & COSD_FLAG_STATS)) {
82
                                uint8_t line = 3;
82
                                uint8_t line = 3;
83
                        write_ascii_string_pgm(2, line, stats_item_pointers[0]); // max Altitude
83
                        write_ascii_string_pgm(2, line, (const char *) (pgm_read_word(&(stats_item_pointers[0])))); // max Altitude
84
                        write_ndigit_number_s(18, line, max_Altimeter / 30, 1000, 0);
84
                        write_ndigit_number_s(18, line, max_Altimeter / 30, 1000, 0);
85
                        write_char_xy(22, line, 204); // small meters m
85
                        write_char_xy(22, line, 204); // small meters m
86
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[1]); // max Speed
86
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[1])))); // max Speed
87
                        write_ndigit_number_u(19, line, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t) 9) / (uint32_t) 250), 100, 0);
87
                        write_ndigit_number_u(19, line, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t) 9) / (uint32_t) 250), 100, 0);
88
                        write_char_xy(22, line, 203); // km/h
88
                        write_char_xy(22, line, 203); // km/h
89
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[2]); // max Distance
89
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[2])))); // max Distance
90
                        write_ndigit_number_u(19, line, max_Distance / 10, 100, 0);
90
                        write_ndigit_number_u(19, line, max_Distance / 10, 100, 0);
91
                        write_char_xy(22, line, 204); // small meters m
91
                        write_char_xy(22, line, 204); // small meters m
92
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[3]); // min voltage
92
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[3])))); // min voltage
93
                        write_ndigit_number_u_10th(18, line, min_UBat, 100, 0);
93
                        write_ndigit_number_u_10th(18, line, min_UBat, 100, 0);
94
                        write_char_xy(22, line, 0x9E); // small V
94
                        write_char_xy(22, line, 0x9E); // small V
95
                                if (COSD_FLAGS2 & COSD_FLAG_STROMREC) {
95
                                if (COSD_FLAGS2 & COSD_FLAG_STROMREC) {
96
                                        write_ascii_string_pgm(2, ++line, stats_item_pointers[7]); // ampere
96
                                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[7])))); // ampere
97
                                        write_ndigit_number_u_10th(18, line, max_ampere / 10, 100, 0);
97
                                        write_ndigit_number_u_10th(18, line, max_ampere / 10, 100, 0);
98
                                        write_char_xy(22, line, 0x9F); // small A
98
                                        write_char_xy(22, line, 0x9F); // small A
99
                                }
99
                                }
100
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[4]); // max time
100
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[4])))); // max time
101
                        write_time(16, line, max_FlyingTime);
101
                        write_time(16, line, max_FlyingTime);
102
                        write_char_xy(22, line, 210); // fly clock
102
                        write_char_xy(22, line, 210); // fly clock
103
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[5]); // longitude
103
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[5])))); // longitude
104
                        write_gps_pos(15, line, naviData.CurrentPosition.Longitude);
104
                        write_gps_pos(15, line, naviData.CurrentPosition.Longitude);
105
                        write_ascii_string_pgm(2, ++line, stats_item_pointers[6]); // latitude
105
                        write_ascii_string_pgm(2, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[6])))); // latitude
106
                        write_gps_pos(15, line, naviData.CurrentPosition.Latitude);
106
                        write_gps_pos(15, line, naviData.CurrentPosition.Latitude);
107
                    } else if (COSD_FLAGS & COSD_FLAG_ARTHORIZON) { // if no stats there is space horizon
107
                    } else if (COSD_FLAGS & COSD_FLAG_ARTHORIZON) { // if no stats there is space horizon
108
                                if (COSD_FLAGS2 & COSD_FLAG_STROMREC) {
108
                                if (COSD_FLAGS2 & COSD_FLAG_STROMREC) {
109
                                draw_artificial_horizon(top_line + 2, bottom_line - 2, naviData.AngleNick, naviData.AngleRoll);
109
                                draw_artificial_horizon(top_line + 2, bottom_line - 2, naviData.AngleNick, naviData.AngleRoll);
110
                                } else {
110
                                } else {