]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/sol/common/knob_v2.h
Fix pinout of split hand and LED, remove flip half option
[qmk_firmware.git] / keyboards / sol / common / knob_v2.h
1 // Rotary knob implementation - Version 2.
2 // Uses 2 digital pins - D2 (via interrupt) & D6.
3 // #include "rev1.h"
4 #include <avr/io.h>
5 #include <avr/interrupt.h>
6 #include <stdbool.h>
7
8 #ifndef ENCODER_PIN_1
9   #define ENCODER_PIN_1 PD2
10 #endif
11 #ifndef ENCODER_PIN_2
12   #define ENCODER_PIN_2 PD6
13 #endif
14 #ifndef ENCODER_INT
15   #define ENCODER_INT   INT2_vect
16 #endif
17
18 typedef struct knob_report_t {
19     int8_t dir;  // Contains number of rotations that happened
20     int8_t phase;  // Contains 0 if last rotation happened on 90 degrees, 1 if on 270
21 }  knob_report_t;
22
23 void knob_init(void);
24 knob_report_t knob_report_read(void);
25 void knob_report_reset(void);
26
27 bool knob_prev_a;
28 int8_t knob_dir;