summaryrefslogtreecommitdiffstats
path: root/keyboards/tzarc/djinn/djinn.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/tzarc/djinn/djinn.h')
-rw-r--r--keyboards/tzarc/djinn/djinn.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/keyboards/tzarc/djinn/djinn.h b/keyboards/tzarc/djinn/djinn.h
new file mode 100644
index 0000000000..ff6b555e8e
--- /dev/null
+++ b/keyboards/tzarc/djinn/djinn.h
@@ -0,0 +1,32 @@
+// 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);