logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

prime_plus.c (1047B)


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