|
@@ -106,35 +106,35 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
|
|
|
|
|
|
|
|
void rgb_timer_init(void) {
|
|
|
- /* Timer1 setup */
|
|
|
+ /* Timer3 setup */
|
|
|
/* CTC mode */
|
|
|
- TCCR1B |= (1<<WGM12);
|
|
|
- /* Clock selelct: clk/8 */
|
|
|
- TCCR1B |= (1<<CS10);
|
|
|
+ TCCR3B |= _BV(WGM32);
|
|
|
+ /* Clock select: clk/8 */
|
|
|
+ TCCR3B |= _BV(CS30);
|
|
|
/* Set TOP value */
|
|
|
uint8_t sreg = SREG;
|
|
|
cli();
|
|
|
- OCR1AH = (SOFTPWM_LED_TIMER_TOP >> 8) & 0xff;
|
|
|
- OCR1AL = SOFTPWM_LED_TIMER_TOP & 0xff;
|
|
|
+ OCR3AH = (SOFTPWM_LED_TIMER_TOP >> 8) & 0xFF;
|
|
|
+ OCR3AL = SOFTPWM_LED_TIMER_TOP & 0xFF;
|
|
|
SREG = sreg;
|
|
|
|
|
|
- // Enable the compare match interrupt on timer 1
|
|
|
- TIMSK1 |= (1<<OCIE1A);
|
|
|
+ // Enable the compare match interrupt on timer 3
|
|
|
+ TIMSK3 |= _BV(OCIE3A);
|
|
|
}
|
|
|
|
|
|
void rgb_init(void) {
|
|
|
- DDRF |= (1<<PF6 | 1<<PF5 | 1<<PF4);
|
|
|
- PORTF |= (1<<PF6 | 1<<PF5 | 1<<PF4);
|
|
|
+ DDRF |= (_BV(PF6) | _BV(PF5) | _BV(PF4));
|
|
|
+ PORTF |= (_BV(PF6) | _BV(PF5) | _BV(PF4));
|
|
|
|
|
|
rgb_timer_init();
|
|
|
}
|
|
|
|
|
|
void set_rgb_pin_on(uint8_t pin) {
|
|
|
- PORTF &= ~(1<<pin);
|
|
|
+ PORTF &= ~_BV(pin);
|
|
|
}
|
|
|
|
|
|
void set_rgb_pin_off(uint8_t pin) {
|
|
|
- PORTF |= (1<<pin);
|
|
|
+ PORTF |= _BV(pin);
|
|
|
}
|
|
|
|
|
|
void rgblight_set(void) {
|
|
@@ -151,7 +151,7 @@ void rgblight_set(void) {
|
|
|
// //xprintf("Red: %u, Green: %u, Blue: %u\n", led[0].r, led[0].g, led[0].b);
|
|
|
}
|
|
|
|
|
|
-ISR(TIMER1_COMPA_vect)
|
|
|
+ISR(TIMER3_COMPA_vect)
|
|
|
{
|
|
|
static uint8_t pwm = 0;
|
|
|
pwm++;
|