Convert ergodone to use core mcp23018 driver (#17005)
This commit is contained in:
parent
2879573688
commit
0e11b511e4
12 changed files with 652 additions and 788 deletions
94
keyboards/ktec/ergodone/ergodox_compat.h
Normal file
94
keyboards/ktec/ergodone/ergodox_compat.h
Normal file
|
@ -0,0 +1,94 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "gpio.h"
|
||||
#include "wait.h"
|
||||
|
||||
// All this for ergodox led compatibility...
|
||||
#ifdef CONVERT_TO_PROTON_C
|
||||
# define ERGODOX_BOARD_LED_ON_STATE 1
|
||||
#else
|
||||
# define ERGODOX_BOARD_LED_ON_STATE 0
|
||||
#endif
|
||||
#define LED_BRIGHTNESS_LO 15
|
||||
#define LED_BRIGHTNESS_HI 255
|
||||
static inline void ergodox_right_led_1_off(void) { setPinOutput(LED_NUM_LOCK_PIN); writePin(LED_NUM_LOCK_PIN, 0); }
|
||||
static inline void ergodox_right_led_1_on(void) { setPinOutput(LED_NUM_LOCK_PIN); writePin(LED_NUM_LOCK_PIN, 1); }
|
||||
static inline void ergodox_right_led_2_off(void) { setPinOutput(LED_CAPS_LOCK_PIN); writePin(LED_CAPS_LOCK_PIN, 0); }
|
||||
static inline void ergodox_right_led_2_on(void) { setPinOutput(LED_CAPS_LOCK_PIN); writePin(LED_CAPS_LOCK_PIN, 1); }
|
||||
static inline void ergodox_right_led_3_off(void) { setPinOutput(LED_SCROLL_LOCK_PIN); writePin(LED_SCROLL_LOCK_PIN, 0); }
|
||||
static inline void ergodox_right_led_3_on(void) { setPinOutput(LED_SCROLL_LOCK_PIN); writePin(LED_SCROLL_LOCK_PIN, 1); }
|
||||
static inline void ergodox_right_led_on(uint8_t l) {
|
||||
switch (l) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
static inline void ergodox_right_led_off(uint8_t l) {
|
||||
switch (l) {
|
||||
case 1:
|
||||
ergodox_right_led_1_off();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_off();
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_3_off();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
static inline void ergodox_board_led_off(void) { setPinOutput(D5); writePin(D5, !ERGODOX_BOARD_LED_ON_STATE); }
|
||||
static inline void ergodox_board_led_on(void) { setPinOutput(D5); writePin(D5, ERGODOX_BOARD_LED_ON_STATE); }
|
||||
static inline void ergodox_led_all_on(void) {
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_board_led_on();
|
||||
}
|
||||
static inline void ergodox_led_all_off(void) {
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
ergodox_board_led_off();
|
||||
}
|
||||
static inline void ergodox_right_led_1_set(uint8_t n) {}
|
||||
static inline void ergodox_right_led_2_set(uint8_t n) {}
|
||||
static inline void ergodox_right_led_3_set(uint8_t n) {}
|
||||
static inline void ergodox_right_led_set(uint8_t l, uint8_t n) {}
|
||||
static inline void ergodox_led_all_set(uint8_t n) {}
|
||||
static inline void ergodox_led_init(void) {}
|
||||
static inline void ergodox_blink_all_leds(void) {
|
||||
ergodox_led_all_off();
|
||||
ergodox_board_led_on();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_1_on();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_2_on();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_3_on();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_1_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_2_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_3_off();
|
||||
wait_ms(50);
|
||||
ergodox_board_led_off();
|
||||
//ergodox_led_all_on();
|
||||
//wait_ms(333);
|
||||
ergodox_led_all_off();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue