[Keyboard] Increase the way to add oled code for helix/rev3. (#14426)
* move rev3_Xrows/oled_display.c to rev3_Xrows/keymaps/default/oled_display.c * add dummy rev3_Xrows/oled_display.c * Add default minimum oled_task_user() to helix/rev3_Xrows/rev3_Xrows.c * remove unnecessary comment in rev3_Xrows/keymaps/default/oled_display.c * copy rev3_Xrows/keymaps/default/oled_display.c to rev3_Xrows/keymaps/via/oled_display.c
This commit is contained in:
parent
d140e41c93
commit
13b93c212d
8 changed files with 587 additions and 239 deletions
|
@ -47,3 +47,67 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
|
|||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
static char *sprint_decimal(char *buf, int data) {
|
||||
if (data > 9) {
|
||||
buf = sprint_decimal(buf, data/10);
|
||||
}
|
||||
*buf++ = "0123456789"[data%10];
|
||||
*buf = '\0';
|
||||
return buf;
|
||||
}
|
||||
|
||||
char *sprints(char *buf, char *src) {
|
||||
while (*src) {
|
||||
*buf++ = *src++;
|
||||
}
|
||||
*buf = '\0';
|
||||
return buf;
|
||||
}
|
||||
|
||||
char *sprintd(char *buf, char *leadstr, int data) {
|
||||
buf = sprints(buf, leadstr);
|
||||
buf = sprint_decimal(buf, data);
|
||||
return buf;
|
||||
}
|
||||
|
||||
char *sprint2d(char *buf, char *leadstr, int data) {
|
||||
buf = sprints(buf, leadstr);
|
||||
if (data > 99) {
|
||||
return sprint_decimal(buf, data);
|
||||
}
|
||||
if (data < 10) {
|
||||
*buf++ = ' ';
|
||||
}
|
||||
return sprint_decimal(buf, data);
|
||||
}
|
||||
|
||||
__attribute__((weak))
|
||||
void oled_task_user(void) {
|
||||
static const char PROGMEM helix_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4,
|
||||
0x0
|
||||
};
|
||||
static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
|
||||
|
||||
if (is_keyboard_master()) {
|
||||
if (is_mac_mode()) {
|
||||
oled_write_P(os_logo[0][0], false);
|
||||
oled_write_P(PSTR("\n"), false);
|
||||
oled_write_P(os_logo[0][1], false);
|
||||
}else{
|
||||
oled_write_P(os_logo[1][0], false);
|
||||
oled_write_P(PSTR("\n"), false);
|
||||
oled_write_P(os_logo[1][1], false);
|
||||
}
|
||||
char buf[20];
|
||||
sprint2d(buf, " Layer: ", get_highest_layer(layer_state));
|
||||
oled_write(buf, false);
|
||||
} else {
|
||||
oled_write_P(helix_logo, false);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue