parent
020c14a31f
commit
27e4cd2f32
@ -0,0 +1,71 @@ |
|||||||
|
/**
|
||||||
|
* Empty battery |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <stdint.h> |
||||||
|
#include "ssd1306.h" |
||||||
|
#include "user_interface.h" |
||||||
|
|
||||||
|
void show_empty_battery() |
||||||
|
{ |
||||||
|
ssd1306_clearScreen(); |
||||||
|
|
||||||
|
// *********
|
||||||
|
// **** *
|
||||||
|
// **** x *
|
||||||
|
// **** *
|
||||||
|
// *********
|
||||||
|
|
||||||
|
#define capwid 6 |
||||||
|
#define hei 24 |
||||||
|
#define caphei 12 |
||||||
|
#define wid 50 |
||||||
|
#define thic 2 |
||||||
|
#define inpad 2 |
||||||
|
#define charge 2 |
||||||
|
|
||||||
|
#define ofsx ((DISPLAY_W - capwid - wid)/2) |
||||||
|
#define ofsy ((DISPLAY_H - hei)/2) |
||||||
|
|
||||||
|
const uint8_t rects[6][4] = { |
||||||
|
// cap
|
||||||
|
{ |
||||||
|
0, (hei - caphei) / 2, |
||||||
|
capwid - 1, hei - (hei - caphei) / 2 - 1 |
||||||
|
}, |
||||||
|
// left line
|
||||||
|
{ |
||||||
|
capwid, 0, |
||||||
|
capwid+thic - 1, hei - 1 |
||||||
|
}, |
||||||
|
// top line
|
||||||
|
{ |
||||||
|
capwid + thic, 0, |
||||||
|
capwid + wid - thic - 1, thic - 1 |
||||||
|
}, |
||||||
|
// right line
|
||||||
|
{ |
||||||
|
capwid + wid - thic, 0, |
||||||
|
capwid + wid - 1, hei - 1 |
||||||
|
}, |
||||||
|
// "remaining charge" line
|
||||||
|
{ |
||||||
|
capwid + wid - thic - inpad - charge, thic + inpad, |
||||||
|
capwid + wid - thic - inpad - 1, hei - thic - inpad - 1 |
||||||
|
}, |
||||||
|
// bottom line
|
||||||
|
{ |
||||||
|
capwid + thic, hei - thic, |
||||||
|
capwid + wid - thic - 1, hei - 1 |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
for (int i = 0; i < 6; i++) { |
||||||
|
ssd1306_fillRect( |
||||||
|
ofsx + rects[i][0], |
||||||
|
ofsy + rects[i][1], |
||||||
|
ofsx + rects[i][2], |
||||||
|
ofsy + rects[i][3] |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
/**
|
||||||
|
* Loading |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <stdint.h> |
||||||
|
#include <stdbool.h> |
||||||
|
#include "ssd1306.h" |
||||||
|
#include "user_interface.h" |
||||||
|
|
||||||
|
|
||||||
|
void show_loading_screen(uint8_t progress_percent, bool clear) |
||||||
|
{ |
||||||
|
if (clear) { |
||||||
|
ssd1306_clearScreen(); |
||||||
|
} |
||||||
|
|
||||||
|
// bar in a box
|
||||||
|
|
||||||
|
#define hei 20 |
||||||
|
#define wid DISPLAY_W |
||||||
|
#define thic 2 |
||||||
|
#define inpad 3 |
||||||
|
|
||||||
|
#define ofsx ((DISPLAY_W - wid)/2) |
||||||
|
#define ofsy ((DISPLAY_H - hei)/2) |
||||||
|
|
||||||
|
const uint8_t rects[4][4] = { |
||||||
|
// top
|
||||||
|
{ |
||||||
|
0, 0, |
||||||
|
wid - 1, thic - 1 |
||||||
|
}, |
||||||
|
// left
|
||||||
|
{ |
||||||
|
0, thic, |
||||||
|
thic - 1, hei - thic - 1 |
||||||
|
}, |
||||||
|
// right
|
||||||
|
{ |
||||||
|
wid - thic, thic, |
||||||
|
wid - 1, hei - thic - 1 |
||||||
|
}, |
||||||
|
// bot
|
||||||
|
{ |
||||||
|
0, hei - thic, |
||||||
|
wid - 1, hei - 1 |
||||||
|
}, |
||||||
|
}; |
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) { |
||||||
|
ssd1306_fillRect( |
||||||
|
ofsx + rects[i][0], |
||||||
|
ofsy + rects[i][1], |
||||||
|
ofsx + rects[i][2], |
||||||
|
ofsy + rects[i][3] |
||||||
|
); |
||||||
|
} |
||||||
|
//
|
||||||
|
ssd1306_fillRect( |
||||||
|
ofsx + thic + inpad, |
||||||
|
ofsy + thic + inpad, |
||||||
|
ofsx + (uint8_t)(((uint16_t)wid * (uint16_t)progress_percent)/(uint16_t)100) - thic - inpad - 1, |
||||||
|
ofsy + hei - thic - inpad - 1 |
||||||
|
); |
||||||
|
} |
Loading…
Reference in new issue