| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- // Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- // SPDX-License-Identifier: GPL-2.0-or-later
- #include "micro.h"
- #if defined(ENCODER_ENABLE)
- bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) {
- return false;
- }
- if (index == 0) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code_delay(MS_WHLU, 10);
- } else {
- tap_code_delay(MS_WHLD, 10);
- }
- }
- return true;
- }
- #endif
- void work_louder_micro_led_1_on(void) {
- gpio_set_pin_output(WORK_LOUDER_LED_PIN_1);
- gpio_write_pin(WORK_LOUDER_LED_PIN_1, true);
- }
- void work_louder_micro_led_2_on(void) {
- gpio_set_pin_output(WORK_LOUDER_LED_PIN_2);
- gpio_write_pin(WORK_LOUDER_LED_PIN_2, true);
- }
- void work_louder_micro_led_3_on(void) {
- gpio_set_pin_output(WORK_LOUDER_LED_PIN_3);
- gpio_write_pin(WORK_LOUDER_LED_PIN_3, true);
- }
- void work_louder_micro_led_1_off(void) {
- gpio_set_pin_input(WORK_LOUDER_LED_PIN_1);
- gpio_write_pin(WORK_LOUDER_LED_PIN_1, false);
- }
- void work_louder_micro_led_2_off(void) {
- gpio_set_pin_input(WORK_LOUDER_LED_PIN_2);
- gpio_write_pin(WORK_LOUDER_LED_PIN_2, false);
- }
- void work_louder_micro_led_3_off(void) {
- gpio_set_pin_input(WORK_LOUDER_LED_PIN_3);
- gpio_write_pin(WORK_LOUDER_LED_PIN_3, false);
- }
- void work_louder_micro_led_all_on(void) {
- work_louder_micro_led_1_on();
- work_louder_micro_led_2_on();
- work_louder_micro_led_3_on();
- }
- void work_louder_micro_led_all_off(void) {
- work_louder_micro_led_1_off();
- work_louder_micro_led_2_off();
- work_louder_micro_led_3_off();
- }
- void work_louder_micro_led_1_set(uint8_t n) {
- #if WORK_LOUDER_LED_PIN_1 == B6
- OCR1B = n;
- #else
- n ? work_louder_micro_led_1_on() : work_louder_micro_led_1_off();
- #endif
- }
- void work_louder_micro_led_2_set(uint8_t n) {
- #if WORK_LOUDER_LED_PIN_2 == B7
- OCR1C = n;
- #else
- n ? work_louder_micro_led_2_on() : work_louder_micro_led_2_off();
- #endif
- }
- void work_louder_micro_led_3_set(uint8_t n) {
- #if WORK_LOUDER_LED_PIN_3 == B5
- OCR1A = n;
- #else
- n ? work_louder_micro_led_3_on() : work_louder_micro_led_3_off();
- #endif
- }
- void work_louder_micro_led_all_set(uint8_t n) {
- work_louder_micro_led_1_set(n);
- work_louder_micro_led_2_set(n);
- work_louder_micro_led_3_set(n);
- }
- void keyboard_post_init_kb(void) {
- TCCR1A = 0b10101001; // set and configure fast PWM
- TCCR1B = 0b00001001; // set and configure fast PWM
- keyboard_post_init_user();
- }
- void work_louder_led_init_animation(void) {
- work_louder_micro_led_all_off();
- wait_ms(500);
- work_louder_micro_led_1_on();
- wait_ms(100);
- work_louder_micro_led_2_on();
- wait_ms(100);
- work_louder_micro_led_3_on();
- wait_ms(100);
- work_louder_micro_led_1_off();
- wait_ms(100);
- work_louder_micro_led_2_off();
- wait_ms(100);
- work_louder_micro_led_3_off();
- wait_ms(200);
- }
- void suspend_power_down_kb(void) {
- suspend_power_down_user();
- work_louder_micro_led_all_off();
- }
- void suspend_wakeup_init_kb(void) {
- work_louder_led_init_animation();
- suspend_wakeup_init_user();
- }
|