]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/quantum.h
gets rid of rand warning [skip ci]
[qmk_firmware.git] / quantum / quantum.h
1 #ifndef QUANTUM_H
2 #define QUANTUM_H
3
4 #include <avr/pgmspace.h>
5 #include "matrix.h"
6 #include "keymap.h"
7 #ifdef BACKLIGHT_ENABLE
8     #include "backlight.h"
9 #endif
10 #ifdef RGBLIGHT_ENABLE
11   #include "rgblight.h"
12 #endif
13
14 #include "action_layer.h"
15 #include "eeconfig.h"
16 #include <stddef.h>
17 #include <avr/io.h>
18 #include <util/delay.h>
19 #include "bootloader.h"
20 #include "timer.h"
21 #include "config_common.h"
22 #include <avr/interrupt.h>
23 #include "led.h"
24 #include "action_util.h"
25 #include <stdlib.h>
26
27
28 extern uint32_t default_layer_state;
29
30 #ifndef NO_ACTION_LAYER
31         extern uint32_t layer_state;
32 #endif
33
34 #ifdef MIDI_ENABLE
35         #include <lufa.h>
36         #include "process_midi.h"
37 #endif
38
39 #ifdef AUDIO_ENABLE
40         #include "audio.h"
41         #include "process_music.h"
42 #endif
43
44 #ifndef DISABLE_LEADER
45         #include "process_leader.h"
46 #endif
47
48 #define DISABLE_CHORDING
49 #ifndef DISABLE_CHORDING
50         #include "process_chording.h"
51 #endif
52
53 #ifdef UNICODE_ENABLE
54         #include "process_unicode.h"
55 #endif
56
57 #include "process_tap_dance.h"
58
59 #define SEND_STRING(str) send_string(PSTR(str))
60 void send_string(const char *str);
61
62 // For tri-layer
63 void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3);
64
65 void tap_random_base64(void);
66
67 #define IS_LAYER_ON(layer)  (layer_state & (1UL << (layer)))
68 #define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer)))
69
70 void matrix_init_kb(void);
71 void matrix_scan_kb(void);
72 void matrix_init_user(void);
73 void matrix_scan_user(void);
74 bool process_action_kb(keyrecord_t *record);
75 bool process_record_kb(uint16_t keycode, keyrecord_t *record);
76 bool process_record_user(uint16_t keycode, keyrecord_t *record);
77
78 void startup_user(void);
79 void shutdown_user(void);
80
81 #ifdef BACKLIGHT_ENABLE
82 void backlight_init_ports(void);
83
84 #ifdef BACKLIGHT_BREATHING
85 void breathing_enable(void);
86 void breathing_pulse(void);
87 void breathing_disable(void);
88 void breathing_self_disable(void);
89 void breathing_toggle(void);
90 bool is_breathing(void);
91
92 void breathing_defaults(void);
93 void breathing_intensity_default(void);
94 void breathing_speed_default(void);
95 void breathing_speed_set(uint8_t value);
96 void breathing_speed_inc(uint8_t value);
97 void breathing_speed_dec(uint8_t value);
98 #endif
99
100 #endif
101
102 void led_set_user(uint8_t usb_led);
103 void led_set_kb(uint8_t usb_led);
104
105 #endif