You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
853 B

  1. // Copyright 2018-2022 Nick Brassel (@tzarc)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "quantum.h"
  5. #include "qp.h"
  6. //----------------------------------------------------------
  7. // General stuff
  8. extern painter_device_t lcd;
  9. void matrix_wait_for_interrupt(void);
  10. void usbpd_update(void);
  11. const char* usbpd_str(usbpd_allowance_t allowance);
  12. //----------------------------------------------------------
  13. // Runtime data sync -- keyboard
  14. #pragma pack(push)
  15. #pragma pack(1)
  16. typedef struct kb_runtime_config {
  17. unsigned lcd_power : 1;
  18. usbpd_allowance_t current_setting : 2;
  19. } kb_runtime_config;
  20. #pragma pack(pop)
  21. extern kb_runtime_config kb_state;
  22. void kb_state_update(void);
  23. void kb_state_sync(void);
  24. void kb_state_sync_slave(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer);