1
0
Fork 0
forked from forks/qmk_firmware

Fix OLED timeout on recent qwiic migrations (#14775)

This commit is contained in:
Joel Challis 2021-10-10 00:23:10 +01:00 committed by GitHub
parent ff85eb8ee5
commit f895e966b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 13 deletions

View file

@ -38,7 +38,8 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
__attribute__ ((weak)) __attribute__ ((weak))
void oled_task_user(void) { void oled_task_user(void) {
oled_write_P(PSTR("BOSTON MK LAYER "), false); oled_write_P(PSTR("BOSTON MK LAYER"), false);
oled_advance_char();
oled_write_char(get_highest_layer(layer_state) + 0x30, true); oled_write_char(get_highest_layer(layer_state) + 0x30, true);
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
@ -68,6 +69,10 @@ void oled_task_user(void) {
for (uint8_t x = 0; x < MATRIX_ROWS; x++) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
for (uint8_t y = 0; y < MATRIX_COLS; y++) { for (uint8_t y = 0; y < MATRIX_COLS; y++) {
bool on = (matrix_get_row(x) & (1 << y)) > 0; bool on = (matrix_get_row(x) & (1 << y)) > 0;
// force on for oled location
if((x == 0) && (y >= (MATRIX_COLS - 2))) on = 1;
oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 2, on); oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 2, on);
oled_write_pixel(MATRIX_DISPLAY_X + y + y + 3, MATRIX_DISPLAY_Y + x + x + 2, on); oled_write_pixel(MATRIX_DISPLAY_X + y + y + 3, MATRIX_DISPLAY_Y + x + x + 2, on);
oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 3, on); oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 3, on);
@ -85,12 +90,6 @@ void oled_task_user(void) {
oled_write_pixel(MATRIX_DISPLAY_X + 12, MATRIX_DISPLAY_Y+y, true); oled_write_pixel(MATRIX_DISPLAY_X + 12, MATRIX_DISPLAY_Y+y, true);
} }
// oled location
for (uint8_t x = 0; x < 6; x++) {
oled_write_pixel(MATRIX_DISPLAY_X + 5 + x, MATRIX_DISPLAY_Y + 2, true);
oled_write_pixel(MATRIX_DISPLAY_X + 5 + x, MATRIX_DISPLAY_Y + 3, true);
}
// bodge for layer number left hand side // bodge for layer number left hand side
for (uint8_t y = 0; y < 8; y++) { for (uint8_t y = 0; y < 8; y++) {
oled_write_pixel(95, 0 + y, true); oled_write_pixel(95, 0 + y, true);

View file

@ -41,7 +41,8 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
__attribute__ ((weak)) __attribute__ ((weak))
void oled_task_user(void) { void oled_task_user(void) {
oled_write_P(PSTR("LAYER "), false); oled_write_P(PSTR("LAYER"), false);
oled_advance_char();
oled_write_char(get_highest_layer(layer_state) + 0x30, true); oled_write_char(get_highest_layer(layer_state) + 0x30, true);
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
@ -71,6 +72,10 @@ void oled_task_user(void) {
for (uint8_t x = 0; x < MATRIX_ROWS; x++) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
for (uint8_t y = 0; y < MATRIX_COLS; y++) { for (uint8_t y = 0; y < MATRIX_COLS; y++) {
bool on = (matrix_get_row(x) & (1 << y)) > 0; bool on = (matrix_get_row(x) & (1 << y)) > 0;
// force on for oled location
if((x == 0) && (y >= (MATRIX_COLS - 3))) on = 1;
oled_write_pixel(MATRIX_DISPLAY_X + y + 2, MATRIX_DISPLAY_Y + x + 2, on); oled_write_pixel(MATRIX_DISPLAY_X + y + 2, MATRIX_DISPLAY_Y + x + 2, on);
} }
} }
@ -85,11 +90,6 @@ void oled_task_user(void) {
oled_write_pixel(MATRIX_DISPLAY_X + 19, MATRIX_DISPLAY_Y+y, true); oled_write_pixel(MATRIX_DISPLAY_X + 19, MATRIX_DISPLAY_Y+y, true);
} }
// oled location
for (uint8_t x = 0; x < 3; x++) {
oled_write_pixel(MATRIX_DISPLAY_X + 14 + x, MATRIX_DISPLAY_Y + 2, true);
}
// bodge for layer number left hand side // bodge for layer number left hand side
for (uint8_t y = 0; y < 8; y++) { for (uint8_t y = 0; y < 8; y++) {
oled_write_pixel(35, 0 + y, true); oled_write_pixel(35, 0 + y, true);