diff options
| author | Drashna Jaelre <[email protected]> | 2022-12-31 16:57:15 -0800 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2023-01-01 11:57:15 +1100 | 
| commit | b4d5c22ed4731abdd89eec373b922da7c7dbff7c (patch) | |
| tree | 01db55feeb1567b211ab8a78ae5e6a0f06d88443 | |
| parent | 2ae215514a110f053b161420ec75d9f7953000d1 (diff) | |
| download | qmk_firmware-b4d5c22ed4731abdd89eec373b922da7c7dbff7c.tar.gz qmk_firmware-b4d5c22ed4731abdd89eec373b922da7c7dbff7c.zip | |
Keyboard/fix work louder micro (#18968)
| -rw-r--r-- | keyboards/work_louder/micro/config.h | 4 | ||||
| -rw-r--r-- | keyboards/work_louder/micro/keymaps/via/keymap.c | 63 | ||||
| -rw-r--r-- | keyboards/work_louder/micro/keymaps/via/rules.mk | 4 | ||||
| -rw-r--r-- | keyboards/work_louder/micro/micro.c | 73 | ||||
| -rw-r--r-- | keyboards/work_louder/micro/micro.h | 1 | ||||
| -rw-r--r-- | keyboards/work_louder/micro/rules.mk | 2 | 
6 files changed, 69 insertions, 78 deletions
| diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index 0f1c76ff41..2c37e9b4ec 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -84,6 +84,6 @@  #define ENCODERS_PAD_B \      { D6, B1 } -#define WORK_LOUDER_LED_PIN_1 B7 -#define WORK_LOUDER_LED_PIN_2 B6 +#define WORK_LOUDER_LED_PIN_1 B6 +#define WORK_LOUDER_LED_PIN_2 B7  #define WORK_LOUDER_LED_PIN_3 B5 diff --git a/keyboards/work_louder/micro/keymaps/via/keymap.c b/keyboards/work_louder/micro/keymaps/via/keymap.c index da910af6b2..d4be308b2a 100644 --- a/keyboards/work_louder/micro/keymaps/via/keymap.c +++ b/keyboards/work_louder/micro/keymaps/via/keymap.c @@ -4,30 +4,29 @@  #include QMK_KEYBOARD_H  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -    LAYOUT( -        KC_MPLY, KC_9,    KC_0,    KC_NO, -        KC_5,    KC_6,    KC_7,    KC_8, -        KC_1,    KC_2,    KC_3,    KC_4, -        TO(1),   KC_DOT,  KC_COMM, USER09 +    [0] = LAYOUT( +        KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        RGB_TOG, XXXXXXX, XXXXXXX, 0x5011      ), -    LAYOUT( -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        TO(2),   _______, _______, _______ - +    [1] = LAYOUT( +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, 0x5012      ), -    LAYOUT( -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        TO(3),   _______, _______, _______ +    [2] = LAYOUT( +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        XXXXXXX, XXXXXXX, XXXXXXX, 0x5013      ), -    LAYOUT( -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        _______, _______, _______, _______, -        TO(0),   _______, _______, _______ +    [3] = LAYOUT( +        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +        USER00,  USER01,  USER03,  USER05, +        XXXXXXX, USER02,  USER04,  USER06, +        XXXXXXX, XXXXXXX, XXXXXXX, 0x5010      )  }; @@ -51,22 +50,28 @@ typedef union {  work_louder_config_t work_louder_config;  bool process_record_user(uint16_t keycode, keyrecord_t *record) { -#ifdef CONSOLE_ENABLE -    uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); -#endif -      switch (keycode) {          case USER09:              if (record->event.pressed) {                  work_louder_config.led_level++;                  if (work_louder_config.led_level > 4) { -                    work_louder_config.led_level = 0; +                    work_louder_config.led_level = 1;                  }                  work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));                  eeconfig_update_user(work_louder_config.raw);                  layer_state_set_kb(layer_state);              }              break; +        case 0x5000 ... 0x500F: +            if (record->event.pressed) { +                layer_move(keycode - 0x5000); +            } +            return false; break; +        case 0x5010 ... 0x501F: +            if (record->event.pressed) { +                layer_move(keycode - 0x5010); +            } +            return false; break;      }      return true;  } @@ -86,7 +91,11 @@ void eeconfig_init_user(void) {      eeconfig_update_user(work_louder_config.raw);  } -void matrix_init_user(void) { +void keyboard_post_init_user(void) {      work_louder_config.raw = eeconfig_read_user();      work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));  } + +void suspend_wakeup_init_user(void) { +    layer_state_set_user(layer_state); +} diff --git a/keyboards/work_louder/micro/keymaps/via/rules.mk b/keyboards/work_louder/micro/keymaps/via/rules.mk index f1adcab005..a067e071fe 100644 --- a/keyboards/work_louder/micro/keymaps/via/rules.mk +++ b/keyboards/work_louder/micro/keymaps/via/rules.mk @@ -1,2 +1,4 @@ -VIA_ENABLE = yes +VIA_ENABLE         = yes  ENCODER_MAP_ENABLE = yes +MAGIC_ENABLE       = no +SPACE_CADET_ENABLE = no diff --git a/keyboards/work_louder/micro/micro.c b/keyboards/work_louder/micro/micro.c index 80d3927417..42bc2db529 100644 --- a/keyboards/work_louder/micro/micro.c +++ b/keyboards/work_louder/micro/micro.c @@ -49,22 +49,28 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {  #endif  void work_louder_micro_led_1_on(void) { +    setPinOutput(WORK_LOUDER_LED_PIN_1);      writePin(WORK_LOUDER_LED_PIN_1, true);  }  void work_louder_micro_led_2_on(void) { +    setPinOutput(WORK_LOUDER_LED_PIN_2);      writePin(WORK_LOUDER_LED_PIN_2, true);  }  void work_louder_micro_led_3_on(void) { +    setPinOutput(WORK_LOUDER_LED_PIN_3);      writePin(WORK_LOUDER_LED_PIN_3, true);  }  void work_louder_micro_led_1_off(void) { +    setPinInput(WORK_LOUDER_LED_PIN_1);      writePin(WORK_LOUDER_LED_PIN_1, false);  }  void work_louder_micro_led_2_off(void) { +    setPinInput(WORK_LOUDER_LED_PIN_2);      writePin(WORK_LOUDER_LED_PIN_2, false);  }  void work_louder_micro_led_3_off(void) { +    setPinInput(WORK_LOUDER_LED_PIN_3);      writePin(WORK_LOUDER_LED_PIN_3, false);  } @@ -81,15 +87,15 @@ void work_louder_micro_led_all_off(void) {  }  void work_louder_micro_led_1_set(uint8_t n) { -#if WORK_LOUDER_LED_PIN_1 == B7 -    OCR1C = 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 == B6 -    OCR1B = 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 @@ -108,49 +114,16 @@ void work_louder_micro_led_all_set(uint8_t n) {      work_louder_micro_led_3_set(n);  } -#ifdef DEFER_EXEC_ENABLE -uint32_t startup_animation(uint32_t trigger_time, void *cb_arg) { -    static uint8_t index = 0; - -    switch (index) { -        case 0: -            work_louder_micro_led_1_on(); -            break; -        case 1: -            work_louder_micro_led_2_on(); -            break; -        case 2: -            work_louder_micro_led_3_on(); -            break; -        case 3: -            work_louder_micro_led_1_off(); -            break; -        case 4: -            work_louder_micro_led_2_off(); -            break; -        case 5: -            work_louder_micro_led_3_off(); -            break; -        default: -            return 0; -    } -    index++; -    return 100; +void keyboard_post_init_kb(void) { +    TCCR1A = 0b10101001;  // set and configure fast PWM +    TCCR1B = 0b00001001;  // set and configure fast PWM + +    keyboard_post_init_user();  } -#endif -void matrix_init_kb(void) { +void work_louder_led_init_animation(void) { +    work_louder_micro_led_all_off(); -    setPinOutput(WORK_LOUDER_LED_PIN_1); // left led -    writePin(WORK_LOUDER_LED_PIN_1, false); -    setPinOutput(WORK_LOUDER_LED_PIN_2); // middle led -    writePin(WORK_LOUDER_LED_PIN_2, false); -    setPinOutput(WORK_LOUDER_LED_PIN_3); // right led -    writePin(WORK_LOUDER_LED_PIN_3, false); - -#ifdef DEFER_EXEC_ENABLE -    defer_exec(500, startup_animation, NULL); -#else      wait_ms(500);      work_louder_micro_led_1_on();      wait_ms(100); @@ -164,7 +137,15 @@ void matrix_init_kb(void) {      wait_ms(100);      work_louder_micro_led_3_off();      wait_ms(200); -#endif -    matrix_init_user(); +} + + +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();  } diff --git a/keyboards/work_louder/micro/micro.h b/keyboards/work_louder/micro/micro.h index 715b09eb33..1d25b91c80 100644 --- a/keyboards/work_louder/micro/micro.h +++ b/keyboards/work_louder/micro/micro.h @@ -20,3 +20,4 @@ extern void work_louder_micro_led_2_set(uint8_t n);  extern void work_louder_micro_led_3_set(uint8_t n);  extern void work_louder_micro_led_all_set(uint8_t n); +void work_louder_led_init_animation(void); diff --git a/keyboards/work_louder/micro/rules.mk b/keyboards/work_louder/micro/rules.mk index 757b87cfe4..bf0aa91911 100644 --- a/keyboards/work_louder/micro/rules.mk +++ b/keyboards/work_louder/micro/rules.mk @@ -2,5 +2,3 @@ RGB_MATRIX_DRIVER = WS2812  SRC += rgb_functions.c \          matrix.c - -DEFERRED_EXEC_ENABLE = yes | 
