prime_plus.c (1047B)
1 // Copyright 2024 Dasky (@daskygit) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include "quantum.h" 5 #include "graphics/primeplus.qgf.h" 6 7 painter_image_handle_t primeplus; 8 painter_device_t display; 9 10 void board_init(void) { 11 AFIO->MAPR |= AFIO_MAPR_I2C1_REMAP; 12 13 gpio_set_pin_output(A15); 14 gpio_write_pin_high(A15); // Activate D+ pullup 15 16 gpio_set_pin_output(OPTICAL_SW_PWR); 17 gpio_write_pin_low(OPTICAL_SW_PWR); // Enable power for optical switches 18 19 gpio_set_pin_output(OLED_PWR); 20 gpio_write_pin_high(OLED_PWR); // Enable OLED power 21 } 22 23 void keyboard_post_init_kb(void) { 24 wait_ms(1); // Wait for OLED 25 26 gpio_set_pin_output(OLED_RESET); 27 gpio_write_pin_low(OLED_RESET); 28 wait_us(10); // Minimum wait 1us 29 30 gpio_write_pin_high(OLED_RESET); 31 wait_ms(1); // Minimum wait 1ms 32 33 primeplus = qp_load_image_mem(gfx_primeplus); 34 display = qp_ld7032_make_i2c_device(96, 24, 0x37); 35 36 qp_init(display, QP_ROTATION_180); 37 qp_drawimage(display, 0, 0, primeplus); 38 39 keyboard_post_init_user(); 40 }