qmk_firmware/keyboards/tzarc/djinn/djinn.h

33 lines
853 B
C

// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
#include "qp.h"
//----------------------------------------------------------
// General stuff
extern painter_device_t lcd;
void matrix_wait_for_interrupt(void);
void usbpd_update(void);
const char* usbpd_str(usbpd_allowance_t allowance);
//----------------------------------------------------------
// Runtime data sync -- keyboard
#pragma pack(push)
#pragma pack(1)
typedef struct kb_runtime_config {
unsigned lcd_power : 1;
usbpd_allowance_t current_setting : 2;
} kb_runtime_config;
#pragma pack(pop)
extern kb_runtime_config kb_state;
void kb_state_update(void);
void kb_state_sync(void);
void kb_state_sync_slave(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer);