new throttle bar :P
Dashboard.cpp@5:3047f8d8321b, 2017-05-23 (annotated)
- Committer:
- zathorix
- Date:
- Tue May 23 12:42:43 2017 +0000
- Revision:
- 5:3047f8d8321b
- Parent:
- 4:f6aa318ecda0
- Child:
- 6:051411e193b0
Added more Ubidots shit and logging battery data
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zathorix | 0:0afde8480a61 | 1 | #include "oled_characters.h" //all OLED chars + logos |
zathorix | 0:0afde8480a61 | 2 | #include "mbed.h" |
zathorix | 2:1627da2ca15b | 3 | #include "rtos.h" |
zathorix | 0:0afde8480a61 | 4 | #include "Dashboard.h" |
zathorix | 0:0afde8480a61 | 5 | #include "pinout.h" |
zathorix | 0:0afde8480a61 | 6 | |
zathorix | 0:0afde8480a61 | 7 | //digital outputs and SPI |
zathorix | 0:0afde8480a61 | 8 | SPI spi(SPI_MOSI, NC, SPI_CLK); // mosi, miso, sclk |
zathorix | 0:0afde8480a61 | 9 | DigitalOut RST(SCRN_RSTD); //reset 0: reset 1: normal operation |
zathorix | 0:0afde8480a61 | 10 | DigitalOut DC(SCRN_DC); //set input as data or command 0: command 1: data |
zathorix | 0:0afde8480a61 | 11 | |
zathorix | 0:0afde8480a61 | 12 | DigitalOut battery_temp_alert_led(SCRN_LED1); |
zathorix | 0:0afde8480a61 | 13 | DigitalOut motor_temp_alert_led(SCRN_LED2); |
zathorix | 0:0afde8480a61 | 14 | DigitalOut battery_low_alert_led(SCRN_LED3); |
zathorix | 0:0afde8480a61 | 15 | DigitalOut fly_ready_led(SCRN_LED4); |
zathorix | 0:0afde8480a61 | 16 | |
zathorix | 0:0afde8480a61 | 17 | DigitalOut CS_1(SCRN_CS1); //chipSelect 0: selected 1: not selected |
zathorix | 0:0afde8480a61 | 18 | DigitalOut CS_2(SCRN_CS2); //chipSelect 0: selected 1: not selected |
zathorix | 0:0afde8480a61 | 19 | DigitalOut CS_3(SCRN_CS3); //chipSelect 0: selected 1: not selected |
zathorix | 0:0afde8480a61 | 20 | |
zathorix | 2:1627da2ca15b | 21 | //Dashboard instance |
zathorix | 2:1627da2ca15b | 22 | Dashboard dash; |
zathorix | 2:1627da2ca15b | 23 | |
zathorix | 3:4039e27bbdd9 | 24 | |
zathorix | 2:1627da2ca15b | 25 | |
zathorix | 0:0afde8480a61 | 26 | bool error_alert; //internal error booleaan |
zathorix | 0:0afde8480a61 | 27 | |
zathorix | 0:0afde8480a61 | 28 | bool motor_temp_alert = true; //LED1 E01 motor temperature too high |
zathorix | 0:0afde8480a61 | 29 | bool battery_temp_alert = true; //LED2 E02 battery temperature too high |
zathorix | 0:0afde8480a61 | 30 | bool battery_low_alert = true; //LED3 E03 battery low power alert |
zathorix | 0:0afde8480a61 | 31 | bool fly_ready_alert = true; //LED4 E04 ready for flying |
zathorix | 0:0afde8480a61 | 32 | bool voltage_in_low = true; //DISPLAY E05 solar panel voltage is low |
zathorix | 0:0afde8480a61 | 33 | bool communication_not_working = true; //DISPLAY E06 communication (FONA) not working |
zathorix | 0:0afde8480a61 | 34 | bool dummy_1 = true; //DISPLAY E07 descr. |
zathorix | 0:0afde8480a61 | 35 | bool dummy_2 = true; //DISPLAY E08 descr. |
zathorix | 0:0afde8480a61 | 36 | bool dummy_3 = true; //DISPLAY E09 descr. |
zathorix | 0:0afde8480a61 | 37 | bool dummy_4 = true; //DISPLAY E10 descr. |
zathorix | 0:0afde8480a61 | 38 | bool dummy_5 = true; //DISPLAY E11 descr. |
zathorix | 0:0afde8480a61 | 39 | bool dummy_6 = true; //DISPLAY E12 descr. |
zathorix | 0:0afde8480a61 | 40 | bool dummy_7 = true; //DISPLAY E13 descr. |
zathorix | 0:0afde8480a61 | 41 | bool dummy_8 = true; //DISPLAY E14 descr. |
zathorix | 0:0afde8480a61 | 42 | |
zathorix | 0:0afde8480a61 | 43 | Dashboard::Dashboard(void) {} |
zathorix | 0:0afde8480a61 | 44 | |
zathorix | 0:0afde8480a61 | 45 | void Dashboard::command(int screen_number, uint8_t c) |
zathorix | 0:0afde8480a61 | 46 | { |
zathorix | 0:0afde8480a61 | 47 | CS_1 = 1; |
zathorix | 0:0afde8480a61 | 48 | CS_2 = 1; |
zathorix | 0:0afde8480a61 | 49 | CS_3 = 1; |
zathorix | 0:0afde8480a61 | 50 | |
zathorix | 0:0afde8480a61 | 51 | DC = 0; |
zathorix | 0:0afde8480a61 | 52 | |
zathorix | 0:0afde8480a61 | 53 | if (screen_number == 1) CS_1 = 0; |
zathorix | 0:0afde8480a61 | 54 | else if (screen_number == 2) CS_2 = 0; |
zathorix | 0:0afde8480a61 | 55 | else if (screen_number == 3) CS_3 = 0; |
zathorix | 0:0afde8480a61 | 56 | |
zathorix | 0:0afde8480a61 | 57 | spi.write(c); |
zathorix | 0:0afde8480a61 | 58 | |
zathorix | 0:0afde8480a61 | 59 | CS_1 = 1; |
zathorix | 0:0afde8480a61 | 60 | CS_2 = 1; |
zathorix | 0:0afde8480a61 | 61 | CS_3 = 1; |
zathorix | 0:0afde8480a61 | 62 | }; |
zathorix | 0:0afde8480a61 | 63 | |
zathorix | 0:0afde8480a61 | 64 | void Dashboard::data(int screen_number, uint8_t c) |
zathorix | 0:0afde8480a61 | 65 | { |
zathorix | 0:0afde8480a61 | 66 | CS_1 = 1; |
zathorix | 0:0afde8480a61 | 67 | CS_2 = 1; |
zathorix | 0:0afde8480a61 | 68 | CS_3 = 1; |
zathorix | 0:0afde8480a61 | 69 | |
zathorix | 0:0afde8480a61 | 70 | DC = 1; |
zathorix | 0:0afde8480a61 | 71 | |
zathorix | 0:0afde8480a61 | 72 | if (screen_number == 1) CS_1 = 0; |
zathorix | 0:0afde8480a61 | 73 | else if (screen_number == 2) CS_2 = 0; |
zathorix | 0:0afde8480a61 | 74 | else if (screen_number == 3) CS_3 = 0; |
zathorix | 0:0afde8480a61 | 75 | |
zathorix | 0:0afde8480a61 | 76 | spi.write(c); |
zathorix | 0:0afde8480a61 | 77 | |
zathorix | 0:0afde8480a61 | 78 | CS_1 = 1; |
zathorix | 0:0afde8480a61 | 79 | CS_2 = 1; |
zathorix | 0:0afde8480a61 | 80 | CS_3 = 1; |
zathorix | 0:0afde8480a61 | 81 | }; |
zathorix | 0:0afde8480a61 | 82 | |
zathorix | 0:0afde8480a61 | 83 | void Dashboard::powerOnOLED(int screen_number) |
zathorix | 0:0afde8480a61 | 84 | { |
zathorix | 0:0afde8480a61 | 85 | if (screen_number == 2) spi.format(8,0); //SQUARE |
zathorix | 0:0afde8480a61 | 86 | else spi.format(8,3); //CIRCULAR |
zathorix | 0:0afde8480a61 | 87 | spi.frequency(SPI_FREQUENCY); |
zathorix | 0:0afde8480a61 | 88 | |
zathorix | 0:0afde8480a61 | 89 | //internal Vdd regulator on |
zathorix | 0:0afde8480a61 | 90 | command(1, 0xAB); |
zathorix | 0:0afde8480a61 | 91 | command(1, 0x01); |
zathorix | 0:0afde8480a61 | 92 | command(3, 0xAB); |
zathorix | 0:0afde8480a61 | 93 | command(3, 0x01); |
zathorix | 0:0afde8480a61 | 94 | |
zathorix | 0:0afde8480a61 | 95 | //give reset |
zathorix | 0:0afde8480a61 | 96 | wait(0.1); |
zathorix | 0:0afde8480a61 | 97 | RST = 0; |
zathorix | 0:0afde8480a61 | 98 | wait(0.1); |
zathorix | 0:0afde8480a61 | 99 | RST = 1; |
zathorix | 0:0afde8480a61 | 100 | |
zathorix | 0:0afde8480a61 | 101 | //display on, normal mode |
zathorix | 0:0afde8480a61 | 102 | command(1, 0xAF); |
zathorix | 0:0afde8480a61 | 103 | command(1, 0xA4); |
zathorix | 0:0afde8480a61 | 104 | command(2, 0xAF); |
zathorix | 0:0afde8480a61 | 105 | command(2, 0xA4); |
zathorix | 0:0afde8480a61 | 106 | command(3, 0xAF); |
zathorix | 0:0afde8480a61 | 107 | command(3, 0xA4); |
zathorix | 0:0afde8480a61 | 108 | |
zathorix | 0:0afde8480a61 | 109 | //Enable COM remap |
zathorix | 0:0afde8480a61 | 110 | command(1, 0xA0); |
zathorix | 0:0afde8480a61 | 111 | command(1, 0b01000000); |
zathorix | 0:0afde8480a61 | 112 | command(2, 0xA0); |
zathorix | 0:0afde8480a61 | 113 | command(2, 0b01000011); |
zathorix | 0:0afde8480a61 | 114 | command(3, 0xA0); |
zathorix | 0:0afde8480a61 | 115 | command(3, 0b01000000); |
zathorix | 5:3047f8d8321b | 116 | |
zathorix | 5:3047f8d8321b | 117 | //when recalled, clear screens completely |
zathorix | 5:3047f8d8321b | 118 | clearDisplay(1); |
zathorix | 5:3047f8d8321b | 119 | clearDisplay(2); |
zathorix | 5:3047f8d8321b | 120 | clearDisplay(3); |
zathorix | 0:0afde8480a61 | 121 | } |
zathorix | 0:0afde8480a61 | 122 | |
zathorix | 0:0afde8480a61 | 123 | void Dashboard::welcomeScreen() |
zathorix | 0:0afde8480a61 | 124 | { |
zathorix | 0:0afde8480a61 | 125 | //dickbutt |
zathorix | 0:0afde8480a61 | 126 | drawBitmap(1, 75, 5, 5, 50, 100); |
zathorix | 0:0afde8480a61 | 127 | drawBitmap(3, 75, 5, 5, 50, 100); |
zathorix | 0:0afde8480a61 | 128 | //solar boat logo |
zathorix | 0:0afde8480a61 | 129 | drawBitmap(2, 74, 10, 0, 64, 64); |
zathorix | 0:0afde8480a61 | 130 | wait(0.05); |
zathorix | 0:0afde8480a61 | 131 | writeLetter(2, 'S', 12, 60); |
zathorix | 0:0afde8480a61 | 132 | wait(0.05); |
zathorix | 0:0afde8480a61 | 133 | writeLetter(2, 'o', 12, 56); |
zathorix | 0:0afde8480a61 | 134 | wait(0.05); |
zathorix | 0:0afde8480a61 | 135 | writeLetter(2, 'l', 12, 52); |
zathorix | 0:0afde8480a61 | 136 | wait(0.05); |
zathorix | 0:0afde8480a61 | 137 | writeLetter(2, 'a', 12, 48); |
zathorix | 0:0afde8480a61 | 138 | wait(0.05); |
zathorix | 0:0afde8480a61 | 139 | writeLetter(2, 'r', 12, 44); |
zathorix | 0:0afde8480a61 | 140 | wait(0.05); |
zathorix | 0:0afde8480a61 | 141 | writeLetter(2, 'B', 12, 38); |
zathorix | 0:0afde8480a61 | 142 | wait(0.05); |
zathorix | 0:0afde8480a61 | 143 | writeLetter(2, 'o', 12, 34); |
zathorix | 0:0afde8480a61 | 144 | wait(0.05); |
zathorix | 0:0afde8480a61 | 145 | writeLetter(2, 'a', 12, 30); |
zathorix | 0:0afde8480a61 | 146 | wait(0.05); |
zathorix | 0:0afde8480a61 | 147 | writeLetter(2, 't', 12, 26); |
zathorix | 0:0afde8480a61 | 148 | wait(0.05); |
zathorix | 0:0afde8480a61 | 149 | writeLetter(2, 'T', 12, 20); |
zathorix | 0:0afde8480a61 | 150 | wait(0.05); |
zathorix | 0:0afde8480a61 | 151 | writeLetter(2, 'w', 12, 16); |
zathorix | 0:0afde8480a61 | 152 | wait(0.05); |
zathorix | 0:0afde8480a61 | 153 | writeLetter(2, 'e', 12, 12); |
zathorix | 0:0afde8480a61 | 154 | wait(0.05); |
zathorix | 0:0afde8480a61 | 155 | writeLetter(2, 'n', 12, 8); |
zathorix | 0:0afde8480a61 | 156 | wait(0.05); |
zathorix | 0:0afde8480a61 | 157 | writeLetter(2, 't', 12, 4); |
zathorix | 0:0afde8480a61 | 158 | wait(0.05); |
zathorix | 0:0afde8480a61 | 159 | writeLetter(2, 'e', 12, 0); |
zathorix | 0:0afde8480a61 | 160 | wait(0.05); |
zathorix | 0:0afde8480a61 | 161 | |
zathorix | 0:0afde8480a61 | 162 | clearDisplay(1); |
zathorix | 0:0afde8480a61 | 163 | clearDisplay(2); |
zathorix | 0:0afde8480a61 | 164 | clearDisplay(3); |
zathorix | 0:0afde8480a61 | 165 | |
zathorix | 0:0afde8480a61 | 166 | //LEDs standard on (1) |
zathorix | 0:0afde8480a61 | 167 | motor_temp_alert_led = 1; |
zathorix | 0:0afde8480a61 | 168 | battery_temp_alert_led = 1; |
zathorix | 0:0afde8480a61 | 169 | battery_low_alert_led = 1; |
zathorix | 0:0afde8480a61 | 170 | fly_ready_led = 1; |
zathorix | 0:0afde8480a61 | 171 | } |
zathorix | 0:0afde8480a61 | 172 | |
zathorix | 0:0afde8480a61 | 173 | void Dashboard::resetOLED() |
zathorix | 0:0afde8480a61 | 174 | { |
zathorix | 0:0afde8480a61 | 175 | wait(0.1); |
zathorix | 0:0afde8480a61 | 176 | RST = 0; |
zathorix | 0:0afde8480a61 | 177 | wait(0.1); |
zathorix | 0:0afde8480a61 | 178 | RST = 1; |
zathorix | 0:0afde8480a61 | 179 | } |
zathorix | 0:0afde8480a61 | 180 | |
zathorix | 0:0afde8480a61 | 181 | void Dashboard::displayData1(int rpm_motor, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in) |
zathorix | 0:0afde8480a61 | 182 | { |
zathorix | 0:0afde8480a61 | 183 | if (rpm_motor < 1) rpm_motor = 0; |
zathorix | 0:0afde8480a61 | 184 | if (battery_temperature < 1) battery_temperature = 0; |
zathorix | 0:0afde8480a61 | 185 | if (motor_temperature < 1) motor_temperature = 0; |
zathorix | 0:0afde8480a61 | 186 | if (voltage_in < 1) voltage_in = 0; |
zathorix | 0:0afde8480a61 | 187 | if (power_in < 1) power_in = 0; |
zathorix | 0:0afde8480a61 | 188 | if (power_out < 1) power_out = 0; |
zathorix | 0:0afde8480a61 | 189 | |
zathorix | 0:0afde8480a61 | 190 | writeLetter(2, 'P', 66, 59); |
zathorix | 0:0afde8480a61 | 191 | writeLetter(2, 'i', 66, 55); |
zathorix | 0:0afde8480a61 | 192 | writeLetter(2, 'n', 66, 51); |
zathorix | 0:0afde8480a61 | 193 | writeLetter(2, ':', 66, 47); |
zathorix | 0:0afde8480a61 | 194 | |
zathorix | 0:0afde8480a61 | 195 | writeNumber(2, power_in, 66, 13, 5, false); |
zathorix | 0:0afde8480a61 | 196 | writeLetter(2, 'W', 66, 0); |
zathorix | 0:0afde8480a61 | 197 | |
zathorix | 0:0afde8480a61 | 198 | writeLetter(2, 'P', 56, 59); |
zathorix | 0:0afde8480a61 | 199 | writeLetter(2, 'o', 56, 55); |
zathorix | 0:0afde8480a61 | 200 | writeLetter(2, 'u', 56, 51); |
zathorix | 0:0afde8480a61 | 201 | writeLetter(2, 't', 56, 47); |
zathorix | 0:0afde8480a61 | 202 | writeLetter(2, ':', 56, 43); |
zathorix | 0:0afde8480a61 | 203 | |
zathorix | 0:0afde8480a61 | 204 | writeNumber(2, power_out, 56, 13, 5, false); |
zathorix | 0:0afde8480a61 | 205 | writeLetter(2, 'W', 56, 0); |
zathorix | 0:0afde8480a61 | 206 | |
zathorix | 0:0afde8480a61 | 207 | writeLetter(2, 'V', 46, 59); |
zathorix | 0:0afde8480a61 | 208 | writeLetter(2, 'i', 46, 55); |
zathorix | 0:0afde8480a61 | 209 | writeLetter(2, 'n', 46, 51); |
zathorix | 0:0afde8480a61 | 210 | writeLetter(2, ':', 46, 47); |
zathorix | 0:0afde8480a61 | 211 | |
zathorix | 0:0afde8480a61 | 212 | writeNumber(2, voltage_in, 46, 13, 5, false); |
zathorix | 0:0afde8480a61 | 213 | writeLetter(2, 'V', 46, 0); |
zathorix | 0:0afde8480a61 | 214 | |
zathorix | 0:0afde8480a61 | 215 | writeLetter(2, 'T', 36, 59); |
zathorix | 0:0afde8480a61 | 216 | writeLetter(2, 'm', 36, 55); |
zathorix | 0:0afde8480a61 | 217 | writeLetter(2, 'o', 36, 51); |
zathorix | 0:0afde8480a61 | 218 | writeLetter(2, 't', 36, 47); |
zathorix | 0:0afde8480a61 | 219 | writeLetter(2, ':', 36, 43); |
zathorix | 0:0afde8480a61 | 220 | |
zathorix | 0:0afde8480a61 | 221 | writeNumber(2, motor_temperature, 36, 13, 3, false); |
zathorix | 0:0afde8480a61 | 222 | writeLetter(2, '*', 36, 4); |
zathorix | 0:0afde8480a61 | 223 | writeLetter(2, 'C', 36, 0); |
zathorix | 0:0afde8480a61 | 224 | |
zathorix | 0:0afde8480a61 | 225 | writeLetter(2, 'T', 26, 59); |
zathorix | 0:0afde8480a61 | 226 | writeLetter(2, 'b', 26, 55); |
zathorix | 0:0afde8480a61 | 227 | writeLetter(2, 'a', 26, 51); |
zathorix | 0:0afde8480a61 | 228 | writeLetter(2, 't', 26, 47); |
zathorix | 0:0afde8480a61 | 229 | writeLetter(2, ':', 26, 43); |
zathorix | 0:0afde8480a61 | 230 | |
zathorix | 0:0afde8480a61 | 231 | writeNumber(2, battery_temperature, 26, 13, 3, false); |
zathorix | 0:0afde8480a61 | 232 | writeLetter(2, '*', 26, 4); |
zathorix | 0:0afde8480a61 | 233 | writeLetter(2, 'C', 26, 0); |
zathorix | 0:0afde8480a61 | 234 | |
zathorix | 0:0afde8480a61 | 235 | writeLetter(2, 'N', 16, 59); |
zathorix | 0:0afde8480a61 | 236 | writeLetter(2, 'm', 16, 55); |
zathorix | 0:0afde8480a61 | 237 | writeLetter(2, 'o', 16, 51); |
zathorix | 0:0afde8480a61 | 238 | writeLetter(2, 't', 16, 47); |
zathorix | 0:0afde8480a61 | 239 | writeLetter(2, ':', 16, 43); |
zathorix | 0:0afde8480a61 | 240 | |
zathorix | 0:0afde8480a61 | 241 | writeNumber(2, rpm_motor, 16, 13, 4, false); |
zathorix | 0:0afde8480a61 | 242 | writeLetter(2, 'r', 16, 8); |
zathorix | 0:0afde8480a61 | 243 | writeLetter(2, 'p', 16, 4); |
zathorix | 0:0afde8480a61 | 244 | writeLetter(2, 'm', 16, 0); |
zathorix | 0:0afde8480a61 | 245 | } |
zathorix | 0:0afde8480a61 | 246 | |
zathorix | 0:0afde8480a61 | 247 | void Dashboard::displayData2(int battery_voltage, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in) |
zathorix | 0:0afde8480a61 | 248 | { |
zathorix | 0:0afde8480a61 | 249 | if (battery_voltage < 1) battery_voltage = 0; |
zathorix | 0:0afde8480a61 | 250 | |
zathorix | 0:0afde8480a61 | 251 | writeLetter(2, 'V', 66, 59); |
zathorix | 0:0afde8480a61 | 252 | writeLetter(2, 'b', 66, 55); |
zathorix | 0:0afde8480a61 | 253 | writeLetter(2, 'a', 66, 51); |
zathorix | 0:0afde8480a61 | 254 | writeLetter(2, 't', 66, 47); |
zathorix | 0:0afde8480a61 | 255 | writeLetter(2, ':', 66, 43); |
zathorix | 0:0afde8480a61 | 256 | |
zathorix | 0:0afde8480a61 | 257 | writeNumber(2, battery_voltage, 66, 13, 5, false); |
zathorix | 0:0afde8480a61 | 258 | writeLetter(2, 'V', 66, 0); |
zathorix | 0:0afde8480a61 | 259 | |
zathorix | 0:0afde8480a61 | 260 | } |
zathorix | 0:0afde8480a61 | 261 | |
zathorix | 0:0afde8480a61 | 262 | void Dashboard::checkForErrors(int current_menu, int velocity, int battery_temperature, int motor_temperature, int battery_percentage_left, int battery_minutes_left) |
zathorix | 0:0afde8480a61 | 263 | { |
zathorix | 0:0afde8480a61 | 264 | int amount_of_errors = 0; |
zathorix | 0:0afde8480a61 | 265 | |
zathorix | 0:0afde8480a61 | 266 | //------------------------------CONDITIONS FOR ERRORS---------------------------------------------- |
zathorix | 0:0afde8480a61 | 267 | //errors on LEDs (4x), also display in error overview, last LED end of function |
zathorix | 0:0afde8480a61 | 268 | if (battery_temperature > MAX_TEMP_BATTERY) battery_temp_alert = true; //battery temperature too high LED |
zathorix | 0:0afde8480a61 | 269 | else battery_temp_alert = false; |
zathorix | 0:0afde8480a61 | 270 | if (motor_temperature > MAX_TEMP_MOTOR) motor_temp_alert = true; //motor temperature too high LED |
zathorix | 0:0afde8480a61 | 271 | else motor_temp_alert = false; |
zathorix | 0:0afde8480a61 | 272 | if (battery_percentage_left <= BATTERY_LOW_ALERT || battery_minutes_left <= BATTERY_LOW_ALERT) battery_low_alert = true;//battery low LED |
zathorix | 0:0afde8480a61 | 273 | else battery_low_alert = false; |
zathorix | 0:0afde8480a61 | 274 | if (velocity > 20) fly_ready_alert = true; //Errors exist LED |
zathorix | 0:0afde8480a61 | 275 | else fly_ready_alert = false; |
zathorix | 0:0afde8480a61 | 276 | //------------------------------END CONDITIONS FOR ERRORS----------------------------------------- |
zathorix | 0:0afde8480a61 | 277 | |
zathorix | 0:0afde8480a61 | 278 | //------------------------------REACTIONS FOR ERRORS---------------------------------------------- |
zathorix | 0:0afde8480a61 | 279 | //set essential LEDs for significant errors |
zathorix | 0:0afde8480a61 | 280 | if (motor_temp_alert) motor_temp_alert_led = 1; |
zathorix | 0:0afde8480a61 | 281 | else motor_temp_alert_led = 0; |
zathorix | 0:0afde8480a61 | 282 | if (battery_temp_alert) battery_temp_alert_led = 1; |
zathorix | 0:0afde8480a61 | 283 | else battery_temp_alert_led = 0; |
zathorix | 0:0afde8480a61 | 284 | if (battery_low_alert) battery_low_alert_led = 1; |
zathorix | 0:0afde8480a61 | 285 | else battery_low_alert_led = 0; |
zathorix | 0:0afde8480a61 | 286 | if (fly_ready_alert) fly_ready_led = 1; |
zathorix | 0:0afde8480a61 | 287 | else fly_ready_led = 0; |
zathorix | 0:0afde8480a61 | 288 | //------------------------------END REACTIONS FOR ERRORS----------------------------------------- |
zathorix | 0:0afde8480a61 | 289 | |
zathorix | 0:0afde8480a61 | 290 | //count errors for main screen |
zathorix | 0:0afde8480a61 | 291 | if (current_menu == 0) { |
zathorix | 0:0afde8480a61 | 292 | if (motor_temp_alert) amount_of_errors++; |
zathorix | 0:0afde8480a61 | 293 | if (battery_temp_alert) amount_of_errors++; |
zathorix | 0:0afde8480a61 | 294 | if (battery_low_alert) amount_of_errors++; |
zathorix | 0:0afde8480a61 | 295 | } |
zathorix | 0:0afde8480a61 | 296 | /* |
zathorix | 0:0afde8480a61 | 297 | //if in error screen display ALL errors |
zathorix | 0:0afde8480a61 | 298 | if (current_menu == 1) { |
zathorix | 0:0afde8480a61 | 299 | writeLetter(2, 'E', 66, 59); |
zathorix | 0:0afde8480a61 | 300 | writeLetter(2, 'r', 66, 55); |
zathorix | 0:0afde8480a61 | 301 | writeLetter(2, 'r', 66, 51); |
zathorix | 0:0afde8480a61 | 302 | writeLetter(2, 'o', 66, 47); |
zathorix | 0:0afde8480a61 | 303 | writeLetter(2, 'r', 66, 43); |
zathorix | 0:0afde8480a61 | 304 | writeLetter(2, 's', 66, 39); |
zathorix | 0:0afde8480a61 | 305 | writeLetter(2, ':', 66, 35); |
zathorix | 0:0afde8480a61 | 306 | |
zathorix | 0:0afde8480a61 | 307 | if (motor_temp_alert) { |
zathorix | 0:0afde8480a61 | 308 | writeLetter(2, 'E', 57 - (10*amount_of_errors), 59); |
zathorix | 0:0afde8480a61 | 309 | writeNumber(2, 1, 57 - (10*amount_of_errors), 55, 1, false); |
zathorix | 0:0afde8480a61 | 310 | amount_of_errors++; |
zathorix | 0:0afde8480a61 | 311 | } |
zathorix | 0:0afde8480a61 | 312 | if (battery_temp_alert) { |
zathorix | 0:0afde8480a61 | 313 | writeLetter(2, 'E', 57 - (10*amount_of_errors), 59); |
zathorix | 0:0afde8480a61 | 314 | writeNumber(2, 2, 57 - (10*amount_of_errors), 55, 1, false); |
zathorix | 0:0afde8480a61 | 315 | amount_of_errors++; |
zathorix | 0:0afde8480a61 | 316 | } |
zathorix | 0:0afde8480a61 | 317 | if (battery_low_alert) { |
zathorix | 0:0afde8480a61 | 318 | writeLetter(2, 'E', 57 - (10*amount_of_errors), 59); |
zathorix | 0:0afde8480a61 | 319 | writeNumber(2, 3, 57 - (10*amount_of_errors), 55, 1, false); |
zathorix | 0:0afde8480a61 | 320 | amount_of_errors++; |
zathorix | 0:0afde8480a61 | 321 | } |
zathorix | 0:0afde8480a61 | 322 | //if (error_alert) { |
zathorix | 0:0afde8480a61 | 323 | // writeLetter(2, 'E', 57 - (10*amount_of_errors), 59); |
zathorix | 0:0afde8480a61 | 324 | // writeNumber(2, 4, 57 - (10*amount_of_errors), 55, 1, false); |
zathorix | 0:0afde8480a61 | 325 | // amount_of_errors++; |
zathorix | 0:0afde8480a61 | 326 | // } |
zathorix | 0:0afde8480a61 | 327 | |
zathorix | 0:0afde8480a61 | 328 | for (int j = amount_of_errors; j <= 25; j++) { |
zathorix | 0:0afde8480a61 | 329 | if (j < 6) { |
zathorix | 0:0afde8480a61 | 330 | writeLetter(2, ' ', 57 - (10*j), 59); |
zathorix | 0:0afde8480a61 | 331 | writeLetter(2, ' ', 57 - (10*j), 55); |
zathorix | 0:0afde8480a61 | 332 | } |
zathorix | 0:0afde8480a61 | 333 | //else if (j > 5 && j < 11) writeLetter(2, ' ', 64 - (10*(j-5)), 47); |
zathorix | 0:0afde8480a61 | 334 | // else if (j > 10 && j < 16) writeLetter(2, ' ', 64 - (10*(j-10)), 35); |
zathorix | 0:0afde8480a61 | 335 | // else if (j > 15 && j < 21) writeLetter(2, ' ', 64 - (10*(j-15)), 23); |
zathorix | 0:0afde8480a61 | 336 | // else if (j > 20 && j < 26) writeLetter(2, ' ', 64 - (10*(j-20)), 11); |
zathorix | 0:0afde8480a61 | 337 | } |
zathorix | 0:0afde8480a61 | 338 | |
zathorix | 0:0afde8480a61 | 339 | if (amount_of_errors < 1) { |
zathorix | 0:0afde8480a61 | 340 | amount_of_errors = 0; |
zathorix | 0:0afde8480a61 | 341 | error_alert = false; |
zathorix | 0:0afde8480a61 | 342 | } else error_alert = true; |
zathorix | 0:0afde8480a61 | 343 | if (amount_of_errors < 25) writeLetter(2, ' ', 66, 0); |
zathorix | 0:0afde8480a61 | 344 | else if (amount_of_errors > 25) { |
zathorix | 0:0afde8480a61 | 345 | amount_of_errors = 25; |
zathorix | 0:0afde8480a61 | 346 | writeLetter(2, '+', 66, 0); |
zathorix | 0:0afde8480a61 | 347 | } |
zathorix | 0:0afde8480a61 | 348 | writeNumber(2, amount_of_errors, 66, 4, 2, false); |
zathorix | 0:0afde8480a61 | 349 | } |
zathorix | 0:0afde8480a61 | 350 | if (current_menu == 0 && error_alert) { |
zathorix | 0:0afde8480a61 | 351 | //draw alert logo if errors |
zathorix | 0:0afde8480a61 | 352 | drawBitmap(2, 91, 64, 48, 7, 10); |
zathorix | 0:0afde8480a61 | 353 | } else if (current_menu == 0 && !error_alert) { |
zathorix | 0:0afde8480a61 | 354 | //clear if no errors |
zathorix | 0:0afde8480a61 | 355 | drawBitmap(2, 92, 64, 48, 7, 10); |
zathorix | 0:0afde8480a61 | 356 | } */ |
zathorix | 0:0afde8480a61 | 357 | } |
zathorix | 0:0afde8480a61 | 358 | |
zathorix | 0:0afde8480a61 | 359 | void Dashboard::showBatteryMinutesLeft(int battery_minutes_left) |
zathorix | 0:0afde8480a61 | 360 | { |
zathorix | 0:0afde8480a61 | 361 | if (battery_minutes_left < 1) battery_minutes_left = 0; |
zathorix | 0:0afde8480a61 | 362 | //show minutes left |
zathorix | 0:0afde8480a61 | 363 | writeNumber(3, battery_minutes_left, 55, 20, 3, true); |
zathorix | 0:0afde8480a61 | 364 | |
zathorix | 0:0afde8480a61 | 365 | writeLetter(3, 'm', 60, 13); |
zathorix | 0:0afde8480a61 | 366 | writeLetter(3, 'i', 60, 9); |
zathorix | 0:0afde8480a61 | 367 | writeLetter(3, 'n', 60, 5); |
zathorix | 0:0afde8480a61 | 368 | } |
zathorix | 0:0afde8480a61 | 369 | |
zathorix | 4:f6aa318ecda0 | 370 | void Dashboard::showBatteryPercentageLeft(unsigned char battery_percentage_left) |
zathorix | 0:0afde8480a61 | 371 | { |
zathorix | 0:0afde8480a61 | 372 | if (battery_percentage_left > 99) battery_percentage_left = 100; |
zathorix | 0:0afde8480a61 | 373 | else if (battery_percentage_left < 0) battery_percentage_left = 0; |
zathorix | 0:0afde8480a61 | 374 | |
zathorix | 0:0afde8480a61 | 375 | //show percentage left |
zathorix | 0:0afde8480a61 | 376 | writeNumber(3, battery_percentage_left, 85, 20, 3, true); |
zathorix | 0:0afde8480a61 | 377 | |
zathorix | 0:0afde8480a61 | 378 | //drawBitmap(1, 91, 85, 10, 10, 20); |
zathorix | 0:0afde8480a61 | 379 | writeLetter(3, '%', 90, 13); |
zathorix | 0:0afde8480a61 | 380 | |
zathorix | 0:0afde8480a61 | 381 | //show battery logo |
zathorix | 0:0afde8480a61 | 382 | for (int i = 18; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 383 | drawPixel(3, i, 18, 0x0F); |
zathorix | 0:0afde8480a61 | 384 | } |
zathorix | 0:0afde8480a61 | 385 | for (int i = 18; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 386 | drawPixel(3, i, 45, 0xF0); |
zathorix | 0:0afde8480a61 | 387 | } |
zathorix | 0:0afde8480a61 | 388 | for (int i = 18; i <= 45; i++) { |
zathorix | 0:0afde8480a61 | 389 | drawPixel(3, 18, i, 0xFF); |
zathorix | 0:0afde8480a61 | 390 | } |
zathorix | 0:0afde8480a61 | 391 | for (int i = 18; i <= 45; i++) { |
zathorix | 0:0afde8480a61 | 392 | drawPixel(3, 36, i, 0xFF); |
zathorix | 0:0afde8480a61 | 393 | } |
zathorix | 0:0afde8480a61 | 394 | for (int i = 22; i <= 31; i++) { |
zathorix | 0:0afde8480a61 | 395 | drawPixel(3, i, 16, 0xF0); |
zathorix | 0:0afde8480a61 | 396 | } |
zathorix | 0:0afde8480a61 | 397 | drawPixel(3, 22, 17, 0xFF); |
zathorix | 0:0afde8480a61 | 398 | drawPixel(3, 31, 17, 0xFF); |
zathorix | 0:0afde8480a61 | 399 | |
zathorix | 0:0afde8480a61 | 400 | //drawBitmap(1, 75, 15, 20, 30, 24); |
zathorix | 0:0afde8480a61 | 401 | updateBatteryBar(3, battery_percentage_left, 20, 18, 26, 15); |
zathorix | 0:0afde8480a61 | 402 | } |
zathorix | 0:0afde8480a61 | 403 | |
zathorix | 0:0afde8480a61 | 404 | void Dashboard::showRaceMinutesDone(int race_minutes_done) |
zathorix | 0:0afde8480a61 | 405 | { |
zathorix | 0:0afde8480a61 | 406 | if (race_minutes_done < 1) race_minutes_done = 0; |
zathorix | 0:0afde8480a61 | 407 | //show minutes left |
zathorix | 0:0afde8480a61 | 408 | writeNumber(1, race_minutes_done, 85, 20, 3, true); |
zathorix | 0:0afde8480a61 | 409 | |
zathorix | 0:0afde8480a61 | 410 | writeLetter(1, 'm', 90, 13); |
zathorix | 0:0afde8480a61 | 411 | writeLetter(1, 'i', 90, 9); |
zathorix | 0:0afde8480a61 | 412 | writeLetter(1, 'n', 90, 5); |
zathorix | 0:0afde8480a61 | 413 | } |
zathorix | 0:0afde8480a61 | 414 | |
zathorix | 0:0afde8480a61 | 415 | void Dashboard::showRaceMinutesLeft(int race_minutes_left) |
zathorix | 0:0afde8480a61 | 416 | { |
zathorix | 0:0afde8480a61 | 417 | if (race_minutes_left < 1) race_minutes_left = 0; |
zathorix | 0:0afde8480a61 | 418 | //show minutes left |
zathorix | 0:0afde8480a61 | 419 | writeNumber(1, race_minutes_left, 25, 20, 3, true); |
zathorix | 0:0afde8480a61 | 420 | |
zathorix | 0:0afde8480a61 | 421 | writeLetter(1, 'm', 30, 13); |
zathorix | 0:0afde8480a61 | 422 | writeLetter(1, 'i', 30, 9); |
zathorix | 0:0afde8480a61 | 423 | writeLetter(1, 'n', 30, 5); |
zathorix | 0:0afde8480a61 | 424 | } |
zathorix | 0:0afde8480a61 | 425 | |
zathorix | 0:0afde8480a61 | 426 | void Dashboard::showRacePercentageLeft(int race_percentage_left) |
zathorix | 0:0afde8480a61 | 427 | { |
zathorix | 0:0afde8480a61 | 428 | if (race_percentage_left > 99) race_percentage_left = 100; |
zathorix | 0:0afde8480a61 | 429 | else if (race_percentage_left < 0) race_percentage_left = 0; |
zathorix | 0:0afde8480a61 | 430 | |
zathorix | 0:0afde8480a61 | 431 | //show percentage left |
zathorix | 0:0afde8480a61 | 432 | writeNumber(1, race_percentage_left, 55, 20, 3, true); |
zathorix | 0:0afde8480a61 | 433 | writeLetter(1, '%', 60, 13); |
zathorix | 0:0afde8480a61 | 434 | } |
zathorix | 0:0afde8480a61 | 435 | |
zathorix | 0:0afde8480a61 | 436 | void Dashboard::checkTransmitter(bool transmitting) |
zathorix | 0:0afde8480a61 | 437 | { |
zathorix | 0:0afde8480a61 | 438 | if (time(0) % 2 == 0) transmitting = !transmitting; |
zathorix | 0:0afde8480a61 | 439 | if (transmitting) { |
zathorix | 0:0afde8480a61 | 440 | writeLetter(2, 'T', 65, 12); |
zathorix | 0:0afde8480a61 | 441 | writeLetter(2, 'x', 65, 8); |
zathorix | 0:0afde8480a61 | 442 | } else { |
zathorix | 0:0afde8480a61 | 443 | writeLetter(2, ' ', 65, 12); |
zathorix | 0:0afde8480a61 | 444 | writeLetter(2, ' ', 65, 8); |
zathorix | 0:0afde8480a61 | 445 | } |
zathorix | 0:0afde8480a61 | 446 | } |
zathorix | 0:0afde8480a61 | 447 | |
zathorix | 4:f6aa318ecda0 | 448 | void Dashboard::displayTime(long long int timems) |
zathorix | 4:f6aa318ecda0 | 449 | { long long int time = timems/1000; |
zathorix | 0:0afde8480a61 | 450 | //int seconds = (int) (time(NULL) % 60); |
zathorix | 4:f6aa318ecda0 | 451 | int minutes = (int) ((time / 60) % 60); |
zathorix | 4:f6aa318ecda0 | 452 | int hours = (int) ((time / (60*60)) % 24 + 2); |
zathorix | 0:0afde8480a61 | 453 | |
zathorix | 0:0afde8480a61 | 454 | drawBitmap(2, hours / 10 % 10, 65, 39, 4, 7); |
zathorix | 0:0afde8480a61 | 455 | drawBitmap(2, hours % 10, 65, 35, 4, 7); |
zathorix | 0:0afde8480a61 | 456 | writeLetter(2, ':', 65, 31); |
zathorix | 0:0afde8480a61 | 457 | drawBitmap(2, minutes / 10 % 10, 65, 27, 4, 7); |
zathorix | 0:0afde8480a61 | 458 | drawBitmap(2, minutes % 10, 65, 23, 4, 7); |
zathorix | 0:0afde8480a61 | 459 | } |
zathorix | 0:0afde8480a61 | 460 | |
zathorix | 0:0afde8480a61 | 461 | void Dashboard::displayAdvisedThrottle(int advised_throttle_power) |
zathorix | 0:0afde8480a61 | 462 | { |
zathorix | 0:0afde8480a61 | 463 | // writeNumber(2, advised_throttle_power, 41, 31, 4, false); |
zathorix | 0:0afde8480a61 | 464 | // writeLetter(2, 'r', 41, 21); |
zathorix | 0:0afde8480a61 | 465 | // writeLetter(2, 'p', 41, 17); |
zathorix | 0:0afde8480a61 | 466 | // writeLetter(2, 'm', 41, 13); |
zathorix | 0:0afde8480a61 | 467 | } |
zathorix | 0:0afde8480a61 | 468 | |
zathorix | 0:0afde8480a61 | 469 | void Dashboard::displayThrottle(int throttle_power, bool reverse) |
zathorix | 0:0afde8480a61 | 470 | { |
zathorix | 0:0afde8480a61 | 471 | writeNumber(2, throttle_power, 45, 31, 4, false); |
zathorix | 2:1627da2ca15b | 472 | writeLetter(2, '%', 45, 21); |
zathorix | 0:0afde8480a61 | 473 | |
zathorix | 0:0afde8480a61 | 474 | if (reverse) { |
zathorix | 0:0afde8480a61 | 475 | writeLetter(2, 'R', 15, 31); |
zathorix | 0:0afde8480a61 | 476 | //blink box around R |
zathorix | 0:0afde8480a61 | 477 | if (time(0) % 2 == 0) { |
zathorix | 0:0afde8480a61 | 478 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 479 | drawPixel(2, i, 30, 0xF0); |
zathorix | 0:0afde8480a61 | 480 | } |
zathorix | 0:0afde8480a61 | 481 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 482 | drawPixel(2, i, 35, 0xF0); |
zathorix | 0:0afde8480a61 | 483 | } |
zathorix | 0:0afde8480a61 | 484 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 485 | drawPixel(2, 12, i, 0xFF); |
zathorix | 0:0afde8480a61 | 486 | } |
zathorix | 0:0afde8480a61 | 487 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 488 | drawPixel(2, 24, i, 0xFF); |
zathorix | 0:0afde8480a61 | 489 | } |
zathorix | 0:0afde8480a61 | 490 | } else { |
zathorix | 0:0afde8480a61 | 491 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 492 | drawPixel(2, i, 30, 0x00); |
zathorix | 0:0afde8480a61 | 493 | } |
zathorix | 0:0afde8480a61 | 494 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 495 | drawPixel(2, i, 35, 0x00); |
zathorix | 0:0afde8480a61 | 496 | } |
zathorix | 0:0afde8480a61 | 497 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 498 | drawPixel(2, 12, i, 0x00); |
zathorix | 0:0afde8480a61 | 499 | } |
zathorix | 0:0afde8480a61 | 500 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 501 | drawPixel(2, 24, i, 0x00); |
zathorix | 0:0afde8480a61 | 502 | } |
zathorix | 0:0afde8480a61 | 503 | } |
zathorix | 0:0afde8480a61 | 504 | } |
zathorix | 0:0afde8480a61 | 505 | |
zathorix | 0:0afde8480a61 | 506 | else { |
zathorix | 0:0afde8480a61 | 507 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 508 | drawPixel(2, i, 30, 0xF0); |
zathorix | 0:0afde8480a61 | 509 | } |
zathorix | 0:0afde8480a61 | 510 | for (int i = 12; i < 25; i++) { |
zathorix | 0:0afde8480a61 | 511 | drawPixel(2, i, 35, 0xF0); |
zathorix | 0:0afde8480a61 | 512 | } |
zathorix | 0:0afde8480a61 | 513 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 514 | drawPixel(2, 12, i, 0xFF); |
zathorix | 0:0afde8480a61 | 515 | } |
zathorix | 0:0afde8480a61 | 516 | for (int i = 31; i <= 35; i++) { |
zathorix | 0:0afde8480a61 | 517 | drawPixel(2, 24, i, 0xFF); |
zathorix | 0:0afde8480a61 | 518 | } |
zathorix | 0:0afde8480a61 | 519 | writeLetter(2, 'D', 15, 31); |
zathorix | 0:0afde8480a61 | 520 | } |
zathorix | 0:0afde8480a61 | 521 | } |
zathorix | 0:0afde8480a61 | 522 | void Dashboard::displayVelocity(int velocity) |
zathorix | 0:0afde8480a61 | 523 | { |
zathorix | 0:0afde8480a61 | 524 | if (velocity < 1) velocity = 0; |
zathorix | 0:0afde8480a61 | 525 | |
zathorix | 0:0afde8480a61 | 526 | writeNumber(2, velocity, 35, 31, 3, false); |
zathorix | 0:0afde8480a61 | 527 | writeLetter(2, 'k', 35, 21); |
zathorix | 0:0afde8480a61 | 528 | writeLetter(2, 'm', 35, 17); |
zathorix | 0:0afde8480a61 | 529 | writeLetter(2, '/', 35, 13); |
zathorix | 0:0afde8480a61 | 530 | writeLetter(2, 'h', 35, 9); |
zathorix | 0:0afde8480a61 | 531 | } |
zathorix | 0:0afde8480a61 | 532 | |
zathorix | 0:0afde8480a61 | 533 | void Dashboard::writeLetter(int screen_number, char input, int row, int col) |
zathorix | 0:0afde8480a61 | 534 | { |
zathorix | 0:0afde8480a61 | 535 | int index_ = 63; |
zathorix | 0:0afde8480a61 | 536 | if (input == 'a') index_ = 10; |
zathorix | 0:0afde8480a61 | 537 | if (input == 'b') index_ = 11; |
zathorix | 0:0afde8480a61 | 538 | if (input == 'c') index_ = 12; |
zathorix | 0:0afde8480a61 | 539 | if (input == 'd') index_ = 13; |
zathorix | 0:0afde8480a61 | 540 | if (input == 'e') index_ = 14; |
zathorix | 0:0afde8480a61 | 541 | if (input == 'f') index_ = 15; |
zathorix | 0:0afde8480a61 | 542 | if (input == 'g') index_ = 16; |
zathorix | 0:0afde8480a61 | 543 | if (input == 'h') index_ = 17; |
zathorix | 0:0afde8480a61 | 544 | if (input == 'i') index_ = 18; |
zathorix | 0:0afde8480a61 | 545 | if (input == 'j') index_ = 19; |
zathorix | 0:0afde8480a61 | 546 | if (input == 'k') index_ = 20; |
zathorix | 0:0afde8480a61 | 547 | if (input == 'l') index_ = 21; |
zathorix | 0:0afde8480a61 | 548 | if (input == 'm') index_ = 22; |
zathorix | 0:0afde8480a61 | 549 | if (input == 'n') index_ = 23; |
zathorix | 0:0afde8480a61 | 550 | if (input == 'o') index_ = 24; |
zathorix | 0:0afde8480a61 | 551 | if (input == 'p') index_ = 25; |
zathorix | 0:0afde8480a61 | 552 | if (input == 'q') index_ = 26; |
zathorix | 0:0afde8480a61 | 553 | if (input == 'r') index_ = 27; |
zathorix | 0:0afde8480a61 | 554 | if (input == 's') index_ = 28; |
zathorix | 0:0afde8480a61 | 555 | if (input == 't') index_ = 29; |
zathorix | 0:0afde8480a61 | 556 | if (input == 'u') index_ = 30; |
zathorix | 0:0afde8480a61 | 557 | if (input == 'v') index_ = 31; |
zathorix | 0:0afde8480a61 | 558 | if (input == 'w') index_ = 32; |
zathorix | 0:0afde8480a61 | 559 | if (input == 'x') index_ = 33; |
zathorix | 0:0afde8480a61 | 560 | if (input == 'y') index_ = 34; |
zathorix | 0:0afde8480a61 | 561 | if (input == 'z') index_ = 35; |
zathorix | 0:0afde8480a61 | 562 | if (input == 'A') index_ = 36; |
zathorix | 0:0afde8480a61 | 563 | if (input == 'B') index_ = 37; |
zathorix | 0:0afde8480a61 | 564 | if (input == 'C') index_ = 38; |
zathorix | 0:0afde8480a61 | 565 | if (input == 'D') index_ = 39; |
zathorix | 0:0afde8480a61 | 566 | if (input == 'E') index_ = 40; |
zathorix | 0:0afde8480a61 | 567 | if (input == 'F') index_ = 41; |
zathorix | 0:0afde8480a61 | 568 | if (input == 'G') index_ = 42; |
zathorix | 0:0afde8480a61 | 569 | if (input == 'H') index_ = 43; |
zathorix | 0:0afde8480a61 | 570 | if (input == 'I') index_ = 44; |
zathorix | 0:0afde8480a61 | 571 | if (input == 'J') index_ = 45; |
zathorix | 0:0afde8480a61 | 572 | if (input == 'K') index_ = 46; |
zathorix | 0:0afde8480a61 | 573 | if (input == 'L') index_ = 47; |
zathorix | 0:0afde8480a61 | 574 | if (input == 'M') index_ = 48; |
zathorix | 0:0afde8480a61 | 575 | if (input == 'N') index_ = 49; |
zathorix | 0:0afde8480a61 | 576 | if (input == 'O') index_ = 50; |
zathorix | 0:0afde8480a61 | 577 | if (input == 'P') index_ = 51; |
zathorix | 0:0afde8480a61 | 578 | if (input == 'Q') index_ = 52; |
zathorix | 0:0afde8480a61 | 579 | if (input == 'R') index_ = 53; |
zathorix | 0:0afde8480a61 | 580 | if (input == 'S') index_ = 54; |
zathorix | 0:0afde8480a61 | 581 | if (input == 'T') index_ = 55; |
zathorix | 0:0afde8480a61 | 582 | if (input == 'U') index_ = 56; |
zathorix | 0:0afde8480a61 | 583 | if (input == 'V') index_ = 57; |
zathorix | 0:0afde8480a61 | 584 | if (input == 'W') index_ = 58; |
zathorix | 0:0afde8480a61 | 585 | if (input == 'X') index_ = 59; |
zathorix | 0:0afde8480a61 | 586 | if (input == 'Y') index_ = 60; |
zathorix | 0:0afde8480a61 | 587 | if (input == 'Z') index_ = 61; |
zathorix | 0:0afde8480a61 | 588 | if (input == ';') index_ = 62; |
zathorix | 0:0afde8480a61 | 589 | if (input == '-') index_ = 63; |
zathorix | 0:0afde8480a61 | 590 | if (input == ':') index_ = 64; |
zathorix | 0:0afde8480a61 | 591 | if (input == '+') index_ = 65; |
zathorix | 0:0afde8480a61 | 592 | if (input == '/') index_ = 66; |
zathorix | 0:0afde8480a61 | 593 | if (input == '%') index_ = 67; |
zathorix | 0:0afde8480a61 | 594 | if (input == '?') index_ = 68; |
zathorix | 0:0afde8480a61 | 595 | if (input == ',') index_ = 69; |
zathorix | 0:0afde8480a61 | 596 | if (input == '(') index_ = 70; |
zathorix | 0:0afde8480a61 | 597 | if (input == ')') index_ = 71; |
zathorix | 0:0afde8480a61 | 598 | if (input == '.') index_ = 72; |
zathorix | 0:0afde8480a61 | 599 | if (input == ' ') index_ = 73; |
zathorix | 0:0afde8480a61 | 600 | //logos |
zathorix | 0:0afde8480a61 | 601 | if (input == '*') index_ = 76; |
zathorix | 0:0afde8480a61 | 602 | |
zathorix | 0:0afde8480a61 | 603 | drawBitmap(screen_number, index_, row, col, 4, 7); |
zathorix | 0:0afde8480a61 | 604 | } |
zathorix | 0:0afde8480a61 | 605 | |
zathorix | 0:0afde8480a61 | 606 | void Dashboard::writeNumber(int screen_number, int input_number, char row, char col, int digits, bool large) |
zathorix | 0:0afde8480a61 | 607 | { |
zathorix | 0:0afde8480a61 | 608 | unsigned int number_of_digits = 0; |
zathorix | 0:0afde8480a61 | 609 | int counter = input_number; |
zathorix | 0:0afde8480a61 | 610 | |
zathorix | 0:0afde8480a61 | 611 | do { |
zathorix | 0:0afde8480a61 | 612 | ++number_of_digits; |
zathorix | 0:0afde8480a61 | 613 | counter /= 10; |
zathorix | 0:0afde8480a61 | 614 | } while (counter); |
zathorix | 0:0afde8480a61 | 615 | |
zathorix | 0:0afde8480a61 | 616 | for (int i = 0; i < number_of_digits; i++) { |
zathorix | 0:0afde8480a61 | 617 | int result = (int) pow((double) 10,i); |
zathorix | 0:0afde8480a61 | 618 | if (large) drawBitmap(screen_number, 80 + (input_number / (result) % 10), row, col + (11*i), 10, 20); |
zathorix | 0:0afde8480a61 | 619 | else drawBitmap(screen_number, input_number / (result) % 10, row, col + (4*i), 4, 7); |
zathorix | 0:0afde8480a61 | 620 | } |
zathorix | 0:0afde8480a61 | 621 | for (int i = number_of_digits; i < digits; i++) { |
zathorix | 0:0afde8480a61 | 622 | if (large) drawBitmap(screen_number, 90, row, col + (11*i), 10, 20); |
zathorix | 0:0afde8480a61 | 623 | else writeLetter(screen_number, ' ', row, col + (4*i)); |
zathorix | 0:0afde8480a61 | 624 | } |
zathorix | 0:0afde8480a61 | 625 | } |
zathorix | 0:0afde8480a61 | 626 | |
zathorix | 0:0afde8480a61 | 627 | void Dashboard::drawPixel(int screen_number, uint8_t row, uint8_t col, uint8_t brightness) |
zathorix | 0:0afde8480a61 | 628 | { |
zathorix | 0:0afde8480a61 | 629 | command(screen_number, 0x15); |
zathorix | 0:0afde8480a61 | 630 | command(screen_number, col); |
zathorix | 0:0afde8480a61 | 631 | command(screen_number, col); |
zathorix | 0:0afde8480a61 | 632 | |
zathorix | 0:0afde8480a61 | 633 | command(screen_number, 0x75); |
zathorix | 0:0afde8480a61 | 634 | command(screen_number, row); |
zathorix | 0:0afde8480a61 | 635 | command(screen_number, row); |
zathorix | 0:0afde8480a61 | 636 | |
zathorix | 0:0afde8480a61 | 637 | data(screen_number, brightness); |
zathorix | 0:0afde8480a61 | 638 | } |
zathorix | 0:0afde8480a61 | 639 | |
zathorix | 0:0afde8480a61 | 640 | void Dashboard::clearDisplay(int screen_number) |
zathorix | 0:0afde8480a61 | 641 | { |
zathorix | 0:0afde8480a61 | 642 | command(screen_number, 0x15); |
zathorix | 0:0afde8480a61 | 643 | command(screen_number, 0x00); |
zathorix | 0:0afde8480a61 | 644 | command(screen_number, 0xFF); |
zathorix | 0:0afde8480a61 | 645 | |
zathorix | 0:0afde8480a61 | 646 | command(screen_number, 0x75); |
zathorix | 0:0afde8480a61 | 647 | command(screen_number, 0x00); |
zathorix | 0:0afde8480a61 | 648 | command(screen_number, 0xFF); |
zathorix | 0:0afde8480a61 | 649 | |
zathorix | 0:0afde8480a61 | 650 | if (screen_number == 2) { |
zathorix | 0:0afde8480a61 | 651 | for (int i = 0; i < (128*64); i++) { |
zathorix | 0:0afde8480a61 | 652 | data(screen_number, 0x00); |
zathorix | 0:0afde8480a61 | 653 | } |
zathorix | 0:0afde8480a61 | 654 | } else { |
zathorix | 0:0afde8480a61 | 655 | for (int i = 0; i < (128*128); i++) { |
zathorix | 0:0afde8480a61 | 656 | data(screen_number, 0x00); |
zathorix | 0:0afde8480a61 | 657 | } |
zathorix | 0:0afde8480a61 | 658 | } |
zathorix | 0:0afde8480a61 | 659 | } |
zathorix | 0:0afde8480a61 | 660 | |
zathorix | 0:0afde8480a61 | 661 | void Dashboard::updateProgressCircle(int screen_number, int percentage) |
zathorix | 0:0afde8480a61 | 662 | { |
zathorix | 0:0afde8480a61 | 663 | //circular battery percentage bar |
zathorix | 0:0afde8480a61 | 664 | int radius = 31; |
zathorix | 0:0afde8480a61 | 665 | for (double theta = 0; theta <= 0.01*percentage*2*PI; theta += 0.01) { |
zathorix | 0:0afde8480a61 | 666 | drawPixel(screen_number, (64+2*radius*(cos(theta))), (32+radius*(sin(theta))), 0xFF); |
zathorix | 0:0afde8480a61 | 667 | } |
zathorix | 0:0afde8480a61 | 668 | for (double theta = 0.01*percentage*2*PI; theta <= 2*PI ; theta += 0.01) { |
zathorix | 0:0afde8480a61 | 669 | drawPixel(screen_number, (64+2*radius*(cos(theta))), (32+radius*(sin(theta))), 0x00); |
zathorix | 0:0afde8480a61 | 670 | } |
zathorix | 0:0afde8480a61 | 671 | } |
zathorix | 0:0afde8480a61 | 672 | |
zathorix | 0:0afde8480a61 | 673 | void Dashboard::updatePowerBars(int power_out, int power_in) |
zathorix | 0:0afde8480a61 | 674 | { |
zathorix | 0:0afde8480a61 | 675 | if (power_in < 1) power_in = 0; |
zathorix | 0:0afde8480a61 | 676 | else if (power_in > MAX_POWER_IN) power_in = MAX_POWER_IN; |
zathorix | 0:0afde8480a61 | 677 | if (power_out < 1) power_out = 0; |
zathorix | 0:0afde8480a61 | 678 | else if (power_out > MAX_POWER_OUT) power_out = MAX_POWER_OUT; |
zathorix | 0:0afde8480a61 | 679 | |
zathorix | 0:0afde8480a61 | 680 | //draw Powerbars |
zathorix | 0:0afde8480a61 | 681 | for (int i = 12; i < 74; i++) { |
zathorix | 0:0afde8480a61 | 682 | drawPixel(2, i, 0, 0x0F); |
zathorix | 0:0afde8480a61 | 683 | } |
zathorix | 0:0afde8480a61 | 684 | for (int i = 12; i < 74; i++) { |
zathorix | 0:0afde8480a61 | 685 | drawPixel(2, i, 4, 0xF0); |
zathorix | 0:0afde8480a61 | 686 | } |
zathorix | 0:0afde8480a61 | 687 | for (int i = 0; i <= 4; i++) { |
zathorix | 0:0afde8480a61 | 688 | drawPixel(2, 12, i, 0xFF); |
zathorix | 0:0afde8480a61 | 689 | } |
zathorix | 0:0afde8480a61 | 690 | for (int i = 0; i <= 4; i++) { |
zathorix | 0:0afde8480a61 | 691 | drawPixel(2, 73, i, 0xFF); |
zathorix | 0:0afde8480a61 | 692 | } |
zathorix | 0:0afde8480a61 | 693 | for (int i = 12; i < 74; i++) { |
zathorix | 0:0afde8480a61 | 694 | drawPixel(2, i, 59, 0x0F); |
zathorix | 0:0afde8480a61 | 695 | } |
zathorix | 0:0afde8480a61 | 696 | for (int i = 12; i < 74; i++) { |
zathorix | 0:0afde8480a61 | 697 | drawPixel(2, i, 63, 0xF0); |
zathorix | 0:0afde8480a61 | 698 | } |
zathorix | 0:0afde8480a61 | 699 | for (int i = 59; i <= 63; i++) { |
zathorix | 0:0afde8480a61 | 700 | drawPixel(2, 12, i, 0xFF); |
zathorix | 0:0afde8480a61 | 701 | } |
zathorix | 0:0afde8480a61 | 702 | for (int i = 59; i <= 63; i++) { |
zathorix | 0:0afde8480a61 | 703 | drawPixel(2, 73, i, 0xFF); |
zathorix | 0:0afde8480a61 | 704 | } |
zathorix | 0:0afde8480a61 | 705 | |
zathorix | 0:0afde8480a61 | 706 | // writeLetter(2 , 'P', 12, 55); |
zathorix | 0:0afde8480a61 | 707 | // writeLetter(2 , 'i', 12, 51); |
zathorix | 0:0afde8480a61 | 708 | // writeLetter(2 , 'n', 12, 47); |
zathorix | 0:0afde8480a61 | 709 | // |
zathorix | 0:0afde8480a61 | 710 | // writeLetter(2 , 'P', 12, 17); |
zathorix | 0:0afde8480a61 | 711 | // writeLetter(2 , 'o', 12, 13); |
zathorix | 0:0afde8480a61 | 712 | // writeLetter(2 , 'u', 12, 9); |
zathorix | 0:0afde8480a61 | 713 | // writeLetter(2 , 't', 12, 5); |
zathorix | 0:0afde8480a61 | 714 | |
zathorix | 0:0afde8480a61 | 715 | writeLetter(2 , 'I', 12, 55); |
zathorix | 0:0afde8480a61 | 716 | writeLetter(2 , 'n', 12, 51); |
zathorix | 0:0afde8480a61 | 717 | |
zathorix | 0:0afde8480a61 | 718 | writeLetter(2 , 'O', 12, 13); |
zathorix | 0:0afde8480a61 | 719 | writeLetter(2 , 'u', 12, 9); |
zathorix | 0:0afde8480a61 | 720 | writeLetter(2 , 't', 12, 5); |
zathorix | 0:0afde8480a61 | 721 | |
zathorix | 0:0afde8480a61 | 722 | //left hand side |
zathorix | 0:0afde8480a61 | 723 | for (int i = 0; i < (58*power_in/MAX_POWER_IN); i++) { |
zathorix | 0:0afde8480a61 | 724 | for (int j = 0; j < 3; j++) { |
zathorix | 0:0afde8480a61 | 725 | drawPixel(2, 14 + i, 60 + j, 0xFF); |
zathorix | 0:0afde8480a61 | 726 | } |
zathorix | 0:0afde8480a61 | 727 | } |
zathorix | 0:0afde8480a61 | 728 | for (int i = (58*power_in/MAX_POWER_IN); i <= 58; i++) { |
zathorix | 0:0afde8480a61 | 729 | for (int j = 0; j < 3; j++) { |
zathorix | 0:0afde8480a61 | 730 | drawPixel(2, 14 + i, 60 + j, 0x00); |
zathorix | 0:0afde8480a61 | 731 | } |
zathorix | 0:0afde8480a61 | 732 | } |
zathorix | 0:0afde8480a61 | 733 | //right hand side |
zathorix | 0:0afde8480a61 | 734 | for (int i = 0; i < (58*power_out/MAX_POWER_OUT); i++) { |
zathorix | 0:0afde8480a61 | 735 | for (int j = 0; j < 3; j++) { |
zathorix | 0:0afde8480a61 | 736 | drawPixel(2, 14 + i, 1 + j, 0xFF); |
zathorix | 0:0afde8480a61 | 737 | } |
zathorix | 0:0afde8480a61 | 738 | } |
zathorix | 0:0afde8480a61 | 739 | for (int i = (58*power_out/MAX_POWER_OUT); i <= 58; i++) { |
zathorix | 0:0afde8480a61 | 740 | for (int j = 0; j < 3; j++) { |
zathorix | 0:0afde8480a61 | 741 | drawPixel(2, 14 + i, 1 + j, 0x00); |
zathorix | 0:0afde8480a61 | 742 | } |
zathorix | 0:0afde8480a61 | 743 | } |
zathorix | 0:0afde8480a61 | 744 | } |
zathorix | 0:0afde8480a61 | 745 | |
zathorix | 0:0afde8480a61 | 746 | void Dashboard::updateBatteryBar(int screen_number, int percentage, int row, int col, int width, int height) |
zathorix | 0:0afde8480a61 | 747 | { |
zathorix | 0:0afde8480a61 | 748 | for (int i = 0; i < (percentage*width/100); i++) { |
zathorix | 0:0afde8480a61 | 749 | for (int j = 0; j < height; j++) { |
zathorix | 0:0afde8480a61 | 750 | drawPixel(screen_number, row + j, width + col - i, 0xFF); |
zathorix | 0:0afde8480a61 | 751 | } |
zathorix | 0:0afde8480a61 | 752 | } |
zathorix | 0:0afde8480a61 | 753 | for (int i = (percentage*width/100); i < width; i++) { |
zathorix | 0:0afde8480a61 | 754 | for (int j = 0; j < height; j++) { |
zathorix | 0:0afde8480a61 | 755 | drawPixel(screen_number, row + j, width + col - i, 0x00); |
zathorix | 0:0afde8480a61 | 756 | } |
zathorix | 0:0afde8480a61 | 757 | } |
zathorix | 0:0afde8480a61 | 758 | } |
zathorix | 0:0afde8480a61 | 759 | |
zathorix | 0:0afde8480a61 | 760 | void Dashboard::drawBitmap(int screen_number, int index_number, char row, char col, int width, int height) |
zathorix | 0:0afde8480a61 | 761 | { |
zathorix | 0:0afde8480a61 | 762 | command(screen_number, 0x15); |
zathorix | 0:0afde8480a61 | 763 | command(screen_number, col); |
zathorix | 0:0afde8480a61 | 764 | command(screen_number, (col + (width-1))); |
zathorix | 0:0afde8480a61 | 765 | |
zathorix | 0:0afde8480a61 | 766 | command(screen_number, 0x75); |
zathorix | 0:0afde8480a61 | 767 | command(screen_number, row); |
zathorix | 0:0afde8480a61 | 768 | command(screen_number, (row + (height-1))); |
zathorix | 0:0afde8480a61 | 769 | |
zathorix | 0:0afde8480a61 | 770 | for(int i = (width*height-1); i >= 0; i--) { |
zathorix | 0:0afde8480a61 | 771 | |
zathorix | 0:0afde8480a61 | 772 | switch (index_number) { |
zathorix | 0:0afde8480a61 | 773 | |
zathorix | 0:0afde8480a61 | 774 | case 0: |
zathorix | 0:0afde8480a61 | 775 | data(screen_number, number_0_small[i]); |
zathorix | 0:0afde8480a61 | 776 | break; |
zathorix | 0:0afde8480a61 | 777 | case 1: |
zathorix | 0:0afde8480a61 | 778 | data(screen_number, number_1_small[i]); |
zathorix | 0:0afde8480a61 | 779 | break; |
zathorix | 0:0afde8480a61 | 780 | case 2: |
zathorix | 0:0afde8480a61 | 781 | data(screen_number, number_2_small[i]); |
zathorix | 0:0afde8480a61 | 782 | break; |
zathorix | 0:0afde8480a61 | 783 | case 3: |
zathorix | 0:0afde8480a61 | 784 | data(screen_number, number_3_small[i]); |
zathorix | 0:0afde8480a61 | 785 | break; |
zathorix | 0:0afde8480a61 | 786 | case 4: |
zathorix | 0:0afde8480a61 | 787 | data(screen_number, number_4_small[i]); |
zathorix | 0:0afde8480a61 | 788 | break; |
zathorix | 0:0afde8480a61 | 789 | case 5: |
zathorix | 0:0afde8480a61 | 790 | data(screen_number, number_5_small[i]); |
zathorix | 0:0afde8480a61 | 791 | break; |
zathorix | 0:0afde8480a61 | 792 | case 6: |
zathorix | 0:0afde8480a61 | 793 | data(screen_number, number_6_small[i]); |
zathorix | 0:0afde8480a61 | 794 | break; |
zathorix | 0:0afde8480a61 | 795 | case 7: |
zathorix | 0:0afde8480a61 | 796 | data(screen_number, number_7_small[i]); |
zathorix | 0:0afde8480a61 | 797 | break; |
zathorix | 0:0afde8480a61 | 798 | case 8: |
zathorix | 0:0afde8480a61 | 799 | data(screen_number, number_8_small[i]); |
zathorix | 0:0afde8480a61 | 800 | break; |
zathorix | 0:0afde8480a61 | 801 | case 9: |
zathorix | 0:0afde8480a61 | 802 | data(screen_number, number_9_small[i]); |
zathorix | 0:0afde8480a61 | 803 | break; |
zathorix | 0:0afde8480a61 | 804 | case 10: |
zathorix | 0:0afde8480a61 | 805 | data(screen_number, letter_a_small[i]); |
zathorix | 0:0afde8480a61 | 806 | break; |
zathorix | 0:0afde8480a61 | 807 | case 11: |
zathorix | 0:0afde8480a61 | 808 | data(screen_number, letter_b_small[i]); |
zathorix | 0:0afde8480a61 | 809 | break; |
zathorix | 0:0afde8480a61 | 810 | case 12: |
zathorix | 0:0afde8480a61 | 811 | data(screen_number, letter_c_small[i]); |
zathorix | 0:0afde8480a61 | 812 | break; |
zathorix | 0:0afde8480a61 | 813 | case 13: |
zathorix | 0:0afde8480a61 | 814 | data(screen_number, letter_d_small[i]); |
zathorix | 0:0afde8480a61 | 815 | break; |
zathorix | 0:0afde8480a61 | 816 | case 14: |
zathorix | 0:0afde8480a61 | 817 | data(screen_number, letter_e_small[i]); |
zathorix | 0:0afde8480a61 | 818 | break; |
zathorix | 0:0afde8480a61 | 819 | case 15: |
zathorix | 0:0afde8480a61 | 820 | data(screen_number, letter_f_small[i]); |
zathorix | 0:0afde8480a61 | 821 | break; |
zathorix | 0:0afde8480a61 | 822 | case 16: |
zathorix | 0:0afde8480a61 | 823 | data(screen_number, letter_g_small[i]); |
zathorix | 0:0afde8480a61 | 824 | break; |
zathorix | 0:0afde8480a61 | 825 | case 17: |
zathorix | 0:0afde8480a61 | 826 | data(screen_number, letter_h_small[i]); |
zathorix | 0:0afde8480a61 | 827 | break; |
zathorix | 0:0afde8480a61 | 828 | case 18: |
zathorix | 0:0afde8480a61 | 829 | data(screen_number, letter_i_small[i]); |
zathorix | 0:0afde8480a61 | 830 | break; |
zathorix | 0:0afde8480a61 | 831 | case 19: |
zathorix | 0:0afde8480a61 | 832 | data(screen_number, letter_j_small[i]); |
zathorix | 0:0afde8480a61 | 833 | break; |
zathorix | 0:0afde8480a61 | 834 | case 20: |
zathorix | 0:0afde8480a61 | 835 | data(screen_number, letter_k_small[i]); |
zathorix | 0:0afde8480a61 | 836 | break; |
zathorix | 0:0afde8480a61 | 837 | case 21: |
zathorix | 0:0afde8480a61 | 838 | data(screen_number, letter_l_small[i]); |
zathorix | 0:0afde8480a61 | 839 | break; |
zathorix | 0:0afde8480a61 | 840 | case 22: |
zathorix | 0:0afde8480a61 | 841 | data(screen_number, letter_m_small[i]); |
zathorix | 0:0afde8480a61 | 842 | break; |
zathorix | 0:0afde8480a61 | 843 | case 23: |
zathorix | 0:0afde8480a61 | 844 | data(screen_number, letter_n_small[i]); |
zathorix | 0:0afde8480a61 | 845 | break; |
zathorix | 0:0afde8480a61 | 846 | case 24: |
zathorix | 0:0afde8480a61 | 847 | data(screen_number, letter_o_small[i]); |
zathorix | 0:0afde8480a61 | 848 | break; |
zathorix | 0:0afde8480a61 | 849 | case 25: |
zathorix | 0:0afde8480a61 | 850 | data(screen_number, letter_p_small[i]); |
zathorix | 0:0afde8480a61 | 851 | break; |
zathorix | 0:0afde8480a61 | 852 | case 26: |
zathorix | 0:0afde8480a61 | 853 | data(screen_number, letter_q_small[i]); |
zathorix | 0:0afde8480a61 | 854 | break; |
zathorix | 0:0afde8480a61 | 855 | case 27: |
zathorix | 0:0afde8480a61 | 856 | data(screen_number, letter_r_small[i]); |
zathorix | 0:0afde8480a61 | 857 | break; |
zathorix | 0:0afde8480a61 | 858 | case 28: |
zathorix | 0:0afde8480a61 | 859 | data(screen_number, letter_s_small[i]); |
zathorix | 0:0afde8480a61 | 860 | break; |
zathorix | 0:0afde8480a61 | 861 | case 29: |
zathorix | 0:0afde8480a61 | 862 | data(screen_number, letter_t_small[i]); |
zathorix | 0:0afde8480a61 | 863 | break; |
zathorix | 0:0afde8480a61 | 864 | case 30: |
zathorix | 0:0afde8480a61 | 865 | data(screen_number, letter_u_small[i]); |
zathorix | 0:0afde8480a61 | 866 | break; |
zathorix | 0:0afde8480a61 | 867 | case 31: |
zathorix | 0:0afde8480a61 | 868 | data(screen_number, letter_v_small[i]); |
zathorix | 0:0afde8480a61 | 869 | break; |
zathorix | 0:0afde8480a61 | 870 | case 32: |
zathorix | 0:0afde8480a61 | 871 | data(screen_number, letter_w_small[i]); |
zathorix | 0:0afde8480a61 | 872 | break; |
zathorix | 0:0afde8480a61 | 873 | case 33: |
zathorix | 0:0afde8480a61 | 874 | data(screen_number, letter_x_small[i]); |
zathorix | 0:0afde8480a61 | 875 | break; |
zathorix | 0:0afde8480a61 | 876 | case 34: |
zathorix | 0:0afde8480a61 | 877 | data(screen_number, letter_y_small[i]); |
zathorix | 0:0afde8480a61 | 878 | break; |
zathorix | 0:0afde8480a61 | 879 | case 35: |
zathorix | 0:0afde8480a61 | 880 | data(screen_number, letter_z_small[i]); |
zathorix | 0:0afde8480a61 | 881 | break; |
zathorix | 0:0afde8480a61 | 882 | case 36: |
zathorix | 0:0afde8480a61 | 883 | data(screen_number, letter_a_large[i]); |
zathorix | 0:0afde8480a61 | 884 | break; |
zathorix | 0:0afde8480a61 | 885 | case 37: |
zathorix | 0:0afde8480a61 | 886 | data(screen_number, letter_b_large[i]); |
zathorix | 0:0afde8480a61 | 887 | break; |
zathorix | 0:0afde8480a61 | 888 | case 38: |
zathorix | 0:0afde8480a61 | 889 | data(screen_number, letter_c_large[i]); |
zathorix | 0:0afde8480a61 | 890 | break; |
zathorix | 0:0afde8480a61 | 891 | case 39: |
zathorix | 0:0afde8480a61 | 892 | data(screen_number, letter_d_large[i]); |
zathorix | 0:0afde8480a61 | 893 | break; |
zathorix | 0:0afde8480a61 | 894 | case 40: |
zathorix | 0:0afde8480a61 | 895 | data(screen_number, letter_e_large[i]); |
zathorix | 0:0afde8480a61 | 896 | break; |
zathorix | 0:0afde8480a61 | 897 | case 41: |
zathorix | 0:0afde8480a61 | 898 | data(screen_number, letter_f_large[i]); |
zathorix | 0:0afde8480a61 | 899 | break; |
zathorix | 0:0afde8480a61 | 900 | case 42: |
zathorix | 0:0afde8480a61 | 901 | data(screen_number, letter_g_large[i]); |
zathorix | 0:0afde8480a61 | 902 | break; |
zathorix | 0:0afde8480a61 | 903 | case 43: |
zathorix | 0:0afde8480a61 | 904 | data(screen_number, letter_h_large[i]); |
zathorix | 0:0afde8480a61 | 905 | break; |
zathorix | 0:0afde8480a61 | 906 | case 44: |
zathorix | 0:0afde8480a61 | 907 | data(screen_number, letter_i_large[i]); |
zathorix | 0:0afde8480a61 | 908 | break; |
zathorix | 0:0afde8480a61 | 909 | case 45: |
zathorix | 0:0afde8480a61 | 910 | data(screen_number, letter_j_large[i]); |
zathorix | 0:0afde8480a61 | 911 | break; |
zathorix | 0:0afde8480a61 | 912 | case 46: |
zathorix | 0:0afde8480a61 | 913 | data(screen_number, letter_k_large[i]); |
zathorix | 0:0afde8480a61 | 914 | break; |
zathorix | 0:0afde8480a61 | 915 | case 47: |
zathorix | 0:0afde8480a61 | 916 | data(screen_number, letter_l_large[i]); |
zathorix | 0:0afde8480a61 | 917 | break; |
zathorix | 0:0afde8480a61 | 918 | case 48: |
zathorix | 0:0afde8480a61 | 919 | data(screen_number, letter_m_large[i]); |
zathorix | 0:0afde8480a61 | 920 | break; |
zathorix | 0:0afde8480a61 | 921 | case 49: |
zathorix | 0:0afde8480a61 | 922 | data(screen_number, letter_n_large[i]); |
zathorix | 0:0afde8480a61 | 923 | break; |
zathorix | 0:0afde8480a61 | 924 | case 50: |
zathorix | 0:0afde8480a61 | 925 | data(screen_number, letter_o_large[i]); |
zathorix | 0:0afde8480a61 | 926 | break; |
zathorix | 0:0afde8480a61 | 927 | case 51: |
zathorix | 0:0afde8480a61 | 928 | data(screen_number, letter_p_large[i]); |
zathorix | 0:0afde8480a61 | 929 | break; |
zathorix | 0:0afde8480a61 | 930 | case 52: |
zathorix | 0:0afde8480a61 | 931 | data(screen_number, letter_q_large[i]); |
zathorix | 0:0afde8480a61 | 932 | break; |
zathorix | 0:0afde8480a61 | 933 | case 53: |
zathorix | 0:0afde8480a61 | 934 | data(screen_number, letter_r_large[i]); |
zathorix | 0:0afde8480a61 | 935 | break; |
zathorix | 0:0afde8480a61 | 936 | case 54: |
zathorix | 0:0afde8480a61 | 937 | data(screen_number, letter_s_large[i]); |
zathorix | 0:0afde8480a61 | 938 | break; |
zathorix | 0:0afde8480a61 | 939 | case 55: |
zathorix | 0:0afde8480a61 | 940 | data(screen_number, letter_t_large[i]); |
zathorix | 0:0afde8480a61 | 941 | break; |
zathorix | 0:0afde8480a61 | 942 | case 56: |
zathorix | 0:0afde8480a61 | 943 | data(screen_number, letter_u_large[i]); |
zathorix | 0:0afde8480a61 | 944 | break; |
zathorix | 0:0afde8480a61 | 945 | case 57: |
zathorix | 0:0afde8480a61 | 946 | data(screen_number, letter_v_large[i]); |
zathorix | 0:0afde8480a61 | 947 | break; |
zathorix | 0:0afde8480a61 | 948 | case 58: |
zathorix | 0:0afde8480a61 | 949 | data(screen_number, letter_w_large[i]); |
zathorix | 0:0afde8480a61 | 950 | break; |
zathorix | 0:0afde8480a61 | 951 | case 59: |
zathorix | 0:0afde8480a61 | 952 | data(screen_number, letter_x_large[i]); |
zathorix | 0:0afde8480a61 | 953 | break; |
zathorix | 0:0afde8480a61 | 954 | case 60: |
zathorix | 0:0afde8480a61 | 955 | data(screen_number, letter_y_large[i]); |
zathorix | 0:0afde8480a61 | 956 | break; |
zathorix | 0:0afde8480a61 | 957 | case 61: |
zathorix | 0:0afde8480a61 | 958 | data(screen_number, letter_z_large[i]); |
zathorix | 0:0afde8480a61 | 959 | break; |
zathorix | 0:0afde8480a61 | 960 | case 62: |
zathorix | 0:0afde8480a61 | 961 | data(screen_number, letter_semicolon[i]); |
zathorix | 0:0afde8480a61 | 962 | break; |
zathorix | 0:0afde8480a61 | 963 | case 63: |
zathorix | 0:0afde8480a61 | 964 | data(screen_number, letter_minus[i]); |
zathorix | 0:0afde8480a61 | 965 | break; |
zathorix | 0:0afde8480a61 | 966 | case 64: |
zathorix | 0:0afde8480a61 | 967 | data(screen_number, letter_dubbelepunt[i]); |
zathorix | 0:0afde8480a61 | 968 | break; |
zathorix | 0:0afde8480a61 | 969 | case 65: |
zathorix | 0:0afde8480a61 | 970 | data(screen_number, letter_plus[i]); |
zathorix | 0:0afde8480a61 | 971 | break; |
zathorix | 0:0afde8480a61 | 972 | case 66: |
zathorix | 0:0afde8480a61 | 973 | data(screen_number, letter_slash[i]); |
zathorix | 0:0afde8480a61 | 974 | break; |
zathorix | 0:0afde8480a61 | 975 | case 67: |
zathorix | 0:0afde8480a61 | 976 | data(screen_number, letter_percent[i]); |
zathorix | 0:0afde8480a61 | 977 | break; |
zathorix | 0:0afde8480a61 | 978 | case 68: |
zathorix | 0:0afde8480a61 | 979 | data(screen_number, letter_questionmark[i]); |
zathorix | 0:0afde8480a61 | 980 | break; |
zathorix | 0:0afde8480a61 | 981 | case 69: |
zathorix | 0:0afde8480a61 | 982 | data(screen_number, letter_comma[i]); |
zathorix | 0:0afde8480a61 | 983 | break; |
zathorix | 0:0afde8480a61 | 984 | case 70: |
zathorix | 0:0afde8480a61 | 985 | data(screen_number, letter_open[i]); |
zathorix | 0:0afde8480a61 | 986 | break; |
zathorix | 0:0afde8480a61 | 987 | case 71: |
zathorix | 0:0afde8480a61 | 988 | data(screen_number, letter_close[i]); |
zathorix | 0:0afde8480a61 | 989 | break; |
zathorix | 0:0afde8480a61 | 990 | case 72: |
zathorix | 0:0afde8480a61 | 991 | data(screen_number, letter_dot[i]); |
zathorix | 0:0afde8480a61 | 992 | break; |
zathorix | 0:0afde8480a61 | 993 | case 73: |
zathorix | 0:0afde8480a61 | 994 | data(screen_number, letter_space[i]); |
zathorix | 0:0afde8480a61 | 995 | break; |
zathorix | 0:0afde8480a61 | 996 | case 74: |
zathorix | 0:0afde8480a61 | 997 | data(screen_number, logo_solar_boat[i]); |
zathorix | 0:0afde8480a61 | 998 | break; |
zathorix | 0:0afde8480a61 | 999 | case 75: |
zathorix | 0:0afde8480a61 | 1000 | data(screen_number, logo_dickbutt[i]); |
zathorix | 0:0afde8480a61 | 1001 | break; |
zathorix | 0:0afde8480a61 | 1002 | case 76: |
zathorix | 0:0afde8480a61 | 1003 | data(screen_number, letter_degree[i]); |
zathorix | 0:0afde8480a61 | 1004 | break; |
zathorix | 0:0afde8480a61 | 1005 | //+80 for large numbers |
zathorix | 0:0afde8480a61 | 1006 | case 80: |
zathorix | 0:0afde8480a61 | 1007 | data(screen_number, large_0[i]); |
zathorix | 0:0afde8480a61 | 1008 | break; |
zathorix | 0:0afde8480a61 | 1009 | case 81: |
zathorix | 0:0afde8480a61 | 1010 | data(screen_number, large_1[i]); |
zathorix | 0:0afde8480a61 | 1011 | break; |
zathorix | 0:0afde8480a61 | 1012 | case 82: |
zathorix | 0:0afde8480a61 | 1013 | data(screen_number, large_2[i]); |
zathorix | 0:0afde8480a61 | 1014 | break; |
zathorix | 0:0afde8480a61 | 1015 | case 83: |
zathorix | 0:0afde8480a61 | 1016 | data(screen_number, large_3[i]); |
zathorix | 0:0afde8480a61 | 1017 | break; |
zathorix | 0:0afde8480a61 | 1018 | case 84: |
zathorix | 0:0afde8480a61 | 1019 | data(screen_number, large_4[i]); |
zathorix | 0:0afde8480a61 | 1020 | break; |
zathorix | 0:0afde8480a61 | 1021 | case 85: |
zathorix | 0:0afde8480a61 | 1022 | data(screen_number, large_5[i]); |
zathorix | 0:0afde8480a61 | 1023 | break; |
zathorix | 0:0afde8480a61 | 1024 | case 86: |
zathorix | 0:0afde8480a61 | 1025 | data(screen_number, large_6[i]); |
zathorix | 0:0afde8480a61 | 1026 | break; |
zathorix | 0:0afde8480a61 | 1027 | case 87: |
zathorix | 0:0afde8480a61 | 1028 | data(screen_number, large_7[i]); |
zathorix | 0:0afde8480a61 | 1029 | break; |
zathorix | 0:0afde8480a61 | 1030 | case 88: |
zathorix | 0:0afde8480a61 | 1031 | data(screen_number, large_8[i]); |
zathorix | 0:0afde8480a61 | 1032 | break; |
zathorix | 0:0afde8480a61 | 1033 | case 89: |
zathorix | 0:0afde8480a61 | 1034 | data(screen_number, large_9[i]); |
zathorix | 0:0afde8480a61 | 1035 | break; |
zathorix | 0:0afde8480a61 | 1036 | case 90: |
zathorix | 0:0afde8480a61 | 1037 | data(screen_number, large_space[i]); |
zathorix | 0:0afde8480a61 | 1038 | break; |
zathorix | 0:0afde8480a61 | 1039 | case 91: |
zathorix | 0:0afde8480a61 | 1040 | data(screen_number, alert_sign[i]); |
zathorix | 0:0afde8480a61 | 1041 | break; |
zathorix | 0:0afde8480a61 | 1042 | case 92: |
zathorix | 0:0afde8480a61 | 1043 | data(screen_number, alert_sign_space[i]); |
zathorix | 0:0afde8480a61 | 1044 | break; |
zathorix | 0:0afde8480a61 | 1045 | } |
zathorix | 0:0afde8480a61 | 1046 | } |
zathorix | 0:0afde8480a61 | 1047 | } |