--- /dev/null
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D7
+// #define RGBLIGHT_TIMER
+#define RGBLED_NUM 15 // Number of LEDs
++#define RGBLIGHT_HUE_STEP 12
++#define RGBLIGHT_SAT_STEP 255
++#define RGBLIGHT_VAL_STEP 12
+
+#endif
KC_HOME,
KC_SPC,KC_SPC,KC_END,
// right hand
-- KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
-- KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
-- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
++ KC_NO, M(1), KC_7, KC_8, KC_9, KC_0, KC_NO,
++ KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_P, KC_BSPC,
++ RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_SCLN, KC_QUOT,
KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_ENT,
MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,
- KC_NO, KC_NO,
- KC_PGUP,
+ RGB_TOG, RGB_HUI,
+ RGB_MOD,
KC_PGDN, KC_SPC,KC_SPC
),
[SYMB] = KEYMAP(
unregister_code(KC_RSFT);
}
break;
++ case 1:
++ if (record->event.pressed) { // For resetting EEPROM
++ eeconfig_init();
++ }
++ break;
}
return MACRO_NONE;
};
// Setleds for SK6812RGBW
void inline ws2812_setleds_rgbw(struct cRGBW *ledarray, uint16_t leds)
{
- // ws2812_DDRREG |= _BV(ws2812_pin); // Enable DDR
- // new universal format (DDR)
- _SFR_IO8((RGB_DI_PIN >> 4) + 1) |= _BV(RGB_DI_PIN & 0xF);
-
- ws2812_sendarray_mask((uint8_t*)ledarray,leds<<2,_BV(RGB_DI_PIN & 0xF));
+
+ #ifdef RGBW_BB_TWI
+ cli();
+ TWCR = 0;
+ I2C_Init();
+ I2C_Start();
+ I2C_Write(0x84);
+ uint16_t datlen = leds<<2;
+ uint8_t curbyte;
+ uint8_t * data = (uint8_t*)ledarray;
+ while (datlen--) {
+ curbyte=*data++;
- I2C_Write(curbyte % 0x10);
++ I2C_Write(curbyte);
+ }
+ I2C_Stop();
+ sei();
++ #else
++ _delay_us(80);
+ #endif
+
+
- _delay_us(80);
+ // ws2812_DDRREG |= _BV(ws2812_pin); // Enable DDR
+ // new universal format (DDR)
+ _SFR_IO8((RGB_DI_PIN >> 4) + 1) |= _BV(RGB_DI_PIN & 0xF);
+
+ ws2812_sendarray_mask((uint8_t*)ledarray,leds<<2,_BV(RGB_DI_PIN & 0xF));
- _delay_us(80);
++
++
++
}
void ws2812_sendarray(uint8_t *data,uint16_t datlen)
cli();
while (datlen--) {
- curbyte=(*data++) % 0x10;
- curbyte=*data++;
++ curbyte=(*data++);
asm volatile(
" ldi %0,8 \n\t"
#ifdef UCIS_ENABLE
process_ucis(keycode, record) &&
#endif
+ #ifdef PRINTING_ENABLE
+ process_printer(keycode, record) &&
+ #ifdef UNICODEMAP_ENABLE
+ process_unicode_map(keycode, record) &&
#endif
true)) {
return false;