diff options
author | Joel Challis <git@zvecr.com> | 2023-12-08 15:57:34 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-08 15:57:34 +0000 |
commit | 42245651e7515c0d323761c97e0f0d35ee6ff35a (patch) | |
tree | 495b261be1a04ffcda993337dac45597ef18bb8d /quantum/dip_switch.h | |
parent | e471cb80cb456a27144f3d8529bb579aa110343d (diff) |
Align Dip Switch feature (#22625)
Diffstat (limited to 'quantum/dip_switch.h')
-rw-r--r-- | quantum/dip_switch.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/quantum/dip_switch.h b/quantum/dip_switch.h index 6e79dcb0bf..ee5b550ada 100644 --- a/quantum/dip_switch.h +++ b/quantum/dip_switch.h @@ -20,11 +20,29 @@ #include <stdbool.h> #include <stdint.h> +#include "gpio.h" +#include "util.h" + +#if defined(DIP_SWITCH_PINS) +# define NUM_DIP_SWITCHES ARRAY_SIZE(((pin_t[])DIP_SWITCH_PINS)) +#elif defined(DIP_SWITCH_MATRIX_GRID) +typedef struct matrix_intersection_t { + uint8_t row; + uint8_t col; +} matrix_intersection_t; +# define NUM_DIP_SWITCHES ARRAY_SIZE(((matrix_intersection_t[])DIP_SWITCH_MATRIX_GRID)) +#endif + +#ifndef NUM_DIP_SWITCHES +# define NUM_DIP_SWITCHES 0 +#endif bool dip_switch_update_kb(uint8_t index, bool active); bool dip_switch_update_user(uint8_t index, bool active); bool dip_switch_update_mask_user(uint32_t state); bool dip_switch_update_mask_kb(uint32_t state); -void dip_switch_init(void); void dip_switch_read(bool forced); + +void dip_switch_init(void); +void dip_switch_task(void); |