void matrix_init_user(void) { ergodox_led_all_on(); rgblight_init(); rgblight_enable(); rgblight_setrgb(255, 0, 0); for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { ergodox_led_all_set(i); wait_ms(5); } rgblight_setrgb(255, 255, 0); wait_ms(1000); for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { ergodox_led_all_set(i); wait_ms(10); } rgblight_setrgb(0, 255, 255); ergodox_led_all_off(); wait_ms(1000); rgblight_effect_knight(50); }
void keyboard_slave_loop(void) { matrix_init(); //Init RGB #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif while (1) { // Matrix Slave Scan matrix_slave_scan(); // Read Backlight Info #ifdef BACKLIGHT_ENABLE #ifdef USE_I2C if (BACKLIT_DIRTY) { backlight_set(i2c_slave_buffer[I2C_BACKLIT_START]); BACKLIT_DIRTY = false; } #else // USE_SERIAL backlight_set(serial_m2s_buffer.backlight_level); #endif #endif // Read RGB Info #ifdef RGBLIGHT_ENABLE #ifdef USE_I2C if (RGB_DIRTY) { // Disable interupts (RGB data is big) cli(); // Create new DWORD for RGB data uint32_t dword; // Fill the new DWORD with the data that was sent over uint8_t *dword_dat = (uint8_t *)(&dword); for (int i = 0; i < 4; i++) { dword_dat[i] = i2c_slave_buffer[I2C_RGB_START+i]; } // Update the RGB now with the new data and set RGB_DIRTY to false rgblight_update_dword(dword); RGB_DIRTY = false; // Re-enable interupts now that RGB is set sei(); } #else // USE_SERIAL #ifdef RGBLIGHT_SPLIT // Add serial implementation for RGB here #endif #endif #endif } }
void matrix_init_kb(void) { #ifdef BACKLIGHT_ENABLE backlight_init_ports(); #endif #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif // Turn status LED on DDRE |= (1<<6); PORTE |= (1<<6); matrix_init_user(); }
void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up #ifdef BACKLIGHT_ENABLE // pwm_led_init(); #endif #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif if (matrix_init_user) { (*matrix_init_user)(); } };
void matrix_init(void) { // To use PORTF disable JTAG with writing JTD bit twice within four cycles. MCUCR |= (1<<JTD); MCUCR |= (1<<JTD); backlight_init_ports(); // initialize row and col unselect_rows(); init_cols(); // initialize matrix state: all keys off for (uint8_t i=0; i < MATRIX_ROWS; i++) { matrix[i] = 0; matrix_debouncing[i] = 0; } rgblight_init(); }
/** \brief keyboard_init * * FIXME: needs doc */ void keyboard_init(void) { timer_init(); // To use PORTF disable JTAG with writing JTD bit twice within four cycles. #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) MCUCR |= _BV(JTD); MCUCR |= _BV(JTD); #endif matrix_init(); #ifdef PS2_MOUSE_ENABLE ps2_mouse_init(); #endif #ifdef SERIAL_MOUSE_ENABLE serial_mouse_init(); #endif #ifdef ADB_MOUSE_ENABLE adb_mouse_init(); #endif #ifdef BOOTMAGIC_ENABLE bootmagic(); #else magic(); #endif #ifdef BACKLIGHT_ENABLE backlight_init(); #endif #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif #ifdef STENO_ENABLE steno_init(); #endif #ifdef FAUXCLICKY_ENABLE fauxclicky_init(); #endif #ifdef POINTING_DEVICE_ENABLE pointing_device_init(); #endif #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) keymap_config.nkro = 1; #endif }
void keyboard_init(void) { timer_init(); matrix_init(); #ifdef PS2_MOUSE_ENABLE ps2_mouse_init(); #endif #ifdef SERIAL_MOUSE_ENABLE serial_mouse_init(); #endif #ifdef ADB_MOUSE_ENABLE adb_mouse_init(); #endif #ifdef BOOTMAGIC_ENABLE bootmagic(); #else magic(); #endif #ifdef BACKLIGHT_ENABLE backlight_init(); #endif #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif #ifdef STENO_ENABLE steno_init(); #endif #ifdef FAUXCLICKY_ENABLE fauxclicky_init(); #endif #ifdef POINTING_DEVICE_ENABLE pointing_device_init(); #endif #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) keymap_config.nkro = 1; #endif }
// Runs whenever there is a layer state change. uint32_t layer_state_set_user(uint32_t state) { ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); uint8_t layer = biton32(state); switch (layer) { case 0: #ifdef RGBLIGHT_COLOR_LAYER_0 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); #else #ifdef RGBLIGHT_ENABLE rgblight_init(); #endif #endif break; case 1: ergodox_right_led_1_on(); #ifdef RGBLIGHT_COLOR_LAYER_1 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); #endif break; case 2: ergodox_right_led_2_on(); #ifdef RGBLIGHT_COLOR_LAYER_2 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); #endif break; case 3: ergodox_right_led_3_on(); #ifdef RGBLIGHT_COLOR_LAYER_3 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); #endif break; case 4: ergodox_right_led_1_on(); ergodox_right_led_2_on(); #ifdef RGBLIGHT_COLOR_LAYER_4 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); #endif break; case 5: ergodox_right_led_1_on(); ergodox_right_led_3_on(); #ifdef RGBLIGHT_COLOR_LAYER_5 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); #endif break; case 6: ergodox_right_led_2_on(); ergodox_right_led_3_on(); #ifdef RGBLIGHT_COLOR_LAYER_6 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); #endif break; case 7: ergodox_right_led_1_on(); ergodox_right_led_2_on(); ergodox_right_led_3_on(); #ifdef RGBLIGHT_COLOR_LAYER_7 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); #endif break; default: break; } return state; };