new throttle bar :P

Dependents:   SOS_V1

Committer:
zathorix
Date:
Sun May 21 21:59:01 2017 +0000
Revision:
2:1627da2ca15b
Parent:
0:0afde8480a61
Child:
3:4039e27bbdd9
Initial commit

Who changed what in which revision?

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