Rev 1197 | Rev 1771 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1197 | Rev 1281 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | const char VM_PAL[] PROGMEM = "PAL "; |
49 | const char VM_PAL[] PROGMEM = "PAL "; |
50 | const char VM_NTSC[] PROGMEM = "NTSC"; |
50 | const char VM_NTSC[] PROGMEM = "NTSC"; |
Line 51... | Line 51... | ||
51 | 51 | ||
Line 52... | Line -... | ||
52 | const displaymode_t * mode; |
- | |
53 | 52 | const displaymode_t * mode; |
|
54 | 53 | ||
55 | /** |
54 | /** |
56 | * read data saved in eeprom, print out message if <verbose> is set |
55 | * read data saved in eeprom, print out message if <verbose> is set |
57 | */ |
56 | */ |
58 | void get_eeprom(uint8_t verbose) { |
57 | void get_eeprom(uint8_t verbose) { |
59 | if (eeprom_read_byte(&ee_checkbyte1) == CHECKBYTE1 && eeprom_read_byte(&ee_checkbyte2) == CHECKBYTE2) { |
58 | if (eeprom_read_byte(&ee_checkbyte1) == CHECKBYTE1 && eeprom_read_byte(&ee_checkbyte2) == CHECKBYTE2) { |
60 | if (verbose) write_ascii_string_pgm(2, 2, PSTR("Loading from EEPROM")); // Loading data |
59 | if (verbose) write_ascii_string_pgm(2, 6, PSTR("Loading from EEPROM")); // Loading data |
61 | COSD_FLAGS_MODES = eeprom_read_byte(&ee_COSD_FLAGS_MODES); |
60 | COSD_FLAGS_MODES = eeprom_read_byte(&ee_COSD_FLAGS_MODES); |
62 | COSD_FLAGS_CONFIG = eeprom_read_byte(&ee_COSD_FLAGS_CONFIG); |
61 | COSD_FLAGS_CONFIG = eeprom_read_byte(&ee_COSD_FLAGS_CONFIG); |
63 | COSD_DISPLAYMODE = eeprom_read_byte(&ee_COSD_DISPLAYMODE); |
62 | COSD_DISPLAYMODE = eeprom_read_byte(&ee_COSD_DISPLAYMODE); |
64 | //if (verbose) write_ndigit_number_u(23, 11, COSD_DISPLAYMODE, 2, 0); |
63 | //if (verbose) write_ndigit_number_u(23, 11, COSD_DISPLAYMODE, 2, 0); |
65 | for (int i = 0; i < 12; i++) { |
64 | for (int i = 0; i < 12; i++) { |
66 | scope[i] = eeprom_read_byte(&ee_COSD_SCOPE[i]); |
65 | scope[i] = eeprom_read_byte(&ee_COSD_SCOPE[i]); |
67 | } |
66 | } |
68 | } else { |
67 | } else { |
69 | if (verbose) write_ascii_string_pgm(2, 2, PSTR("No Data in EEPROM")); // Loading data |
68 | if (verbose) write_ascii_string_pgm(2, 6, PSTR("No Data in EEPROM")); // Loading data |
Line 70... | Line 69... | ||
70 | } |
69 | } |
71 | } |
70 | } |
Line 87... | Line 86... | ||
87 | /** |
86 | /** |
88 | * auto config some stuff on startup, currently only battery cells |
87 | * auto config some stuff on startup, currently only battery cells |
89 | */ |
88 | */ |
90 | void init_cosd(uint8_t UBat) { |
89 | void init_cosd(uint8_t UBat) { |
91 | clear(); |
90 | clear(); |
- | 91 | ||
92 | write_ascii_string_pgm(2, 1, PSTR("C-OSD Init")); |
92 | write_ascii_string_pgm(2, 1, PSTR("C-OSD")); |
- | 93 | write_ascii_string_pgm(3, 2, PSTR("boot")); |
|
- | 94 | draw_logo(11, 1); |
|
- | 95 | ||
93 | write_ascii_string_pgm(2, 4, PSTR(BUILDDATE)); |
96 | write_ascii_string_pgm(2, 5, PSTR(BUILDDATE)); |
- | 97 | ||
- | 98 | get_eeprom(1); |
|
- | 99 | ||
- | 100 | //write_ascii_string_pgm(23, 2, vm[COSD_FLAGS & COSD_FLAG_NTSC]); |
|
- | 101 | if (COSD_FLAGS_CONFIG & COSD_FLAG_NTSC) { |
|
- | 102 | write_ascii_string_pgm(23, 1, VM_NTSC); |
|
- | 103 | } else { |
|
- | 104 | write_ascii_string_pgm(23, 1, VM_PAL); |
|
- | 105 | } |
|
- | 106 | ||
Line 94... | Line 107... | ||
94 | 107 | ||
95 | #if FCONLY |
108 | #if FCONLY |
96 | write_ascii_string_pgm(2, 3, PSTR("FC only Mode")); |
109 | write_ascii_string_pgm(2, 4, PSTR("FC only Mode")); |
97 | #else |
110 | #else |
Line 98... | Line 111... | ||
98 | write_ascii_string_pgm(2, 3, PSTR("NaviCtrl Mode")); |
111 | write_ascii_string_pgm(2, 4, PSTR("NaviCtrl Mode")); |
99 | 112 | ||
100 | usart1_EnableTXD(); |
113 | usart1_EnableTXD(); |
101 | usart1_puts_pgm(PSTR(REQUEST_UART_TO_FC)); |
114 | usart1_puts_pgm(PSTR(REQUEST_UART_TO_FC)); |
Line 108... | Line 121... | ||
108 | //write_ascii_char(4 + 12 * 30, rxd_buffer[2]); |
121 | //write_ascii_char(4 + 12 * 30, rxd_buffer[2]); |
Line 109... | Line 122... | ||
109 | 122 | ||
110 | paramset_serial setting; |
123 | paramset_serial setting; |
Line 111... | Line 124... | ||
111 | setting = *((paramset_serial*)pRxData); |
124 | setting = *((paramset_serial*)pRxData); |
112 | 125 | ||
113 | write_ascii_string_pgm(2, 6, PSTR("Setting :")); |
126 | write_ascii_string_pgm(2, 7, PSTR("Setting :")); |
Line 114... | Line 127... | ||
114 | write_ndigit_number_u(10, 6, setting.SettingsIndex, 1, 1); |
127 | write_ndigit_number_u(10, 7, setting.SettingsIndex, 1, 1); |
115 | write_ascii_string_len(13, 6, setting.param.Name, 12); |
128 | write_ascii_string_len(13, 7, setting.param.Name, 12); |
116 | 129 | ||
117 | uint8_t cells = 0; |
130 | uint8_t cells = 0; |
Line 143... | Line 156... | ||
143 | write_ascii_string_pgm(2, 9, PSTR("Warn:")); // Warn Voltage |
156 | write_ascii_string_pgm(2, 9, PSTR("Warn:")); // Warn Voltage |
144 | write_ndigit_number_s_10th(8, 9, min_voltage, 3, 0); |
157 | write_ndigit_number_s_10th(8, 9, min_voltage, 3, 0); |
145 | write_ascii_string_pgm(14, 9, PSTR("Max:")); // Max Voltage |
158 | write_ascii_string_pgm(14, 9, PSTR("Max:")); // Max Voltage |
146 | write_ndigit_number_s_10th(20, 9, max_voltage, 3, 0); |
159 | write_ndigit_number_s_10th(20, 9, max_voltage, 3, 0); |
Line 147... | Line -... | ||
147 | - | ||
Line 148... | Line -... | ||
148 | get_eeprom(1); |
- | |
149 | - | ||
150 | //write_ascii_string_pgm(23, 2, vm[COSD_FLAGS & COSD_FLAG_NTSC]); |
- | |
151 | if (COSD_FLAGS_CONFIG & COSD_FLAG_NTSC) { |
- | |
152 | write_ascii_string_pgm(23, 1, VM_NTSC); |
- | |
153 | } else { |
- | |
Line 154... | Line 160... | ||
154 | write_ascii_string_pgm(23, 1, VM_PAL); |
160 | |
155 | } |
161 | |
156 | 162 | ||
157 | // request version from board |
163 | // request version from board |