Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						03ec3db651
					
				
					 6 changed files with 69 additions and 78 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,4 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
VIA_ENABLE         = yes
 | 
			
		||||
ENCODER_MAP_ENABLE = yes
 | 
			
		||||
MAGIC_ENABLE       = no
 | 
			
		||||
SPACE_CADET_ENABLE = no
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
void keyboard_post_init_kb(void) {
 | 
			
		||||
    TCCR1A = 0b10101001;  // set and configure fast PWM
 | 
			
		||||
    TCCR1B = 0b00001001;  // set and configure fast PWM
 | 
			
		||||
 | 
			
		||||
    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;
 | 
			
		||||
    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();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,5 +2,3 @@ RGB_MATRIX_DRIVER = WS2812
 | 
			
		|||
 | 
			
		||||
SRC += rgb_functions.c \
 | 
			
		||||
        matrix.c
 | 
			
		||||
 | 
			
		||||
DEFERRED_EXEC_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue