Add support for 328P hardware backlight on B1/B2 (#6776)
parent
c7d0262be7
commit
3642a82d37
|
@ -32,16 +32,18 @@ This feature is distinct from both the [RGB underglow](feature_rgblight.md) and
|
||||||
|
|
||||||
Hardware PWM is supported according to the following table:
|
Hardware PWM is supported according to the following table:
|
||||||
|
|
||||||
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|
|
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328P|
|
||||||
|-------------|-------------|-------------|-------------|---------|
|
|-------------|-------------|-------------|-------------|---------|----------|
|
||||||
|`B5` |Timer 1 |Timer 1 | | |
|
|`B1` | | | | |Timer 1 |
|
||||||
|`B6` |Timer 1 |Timer 1 | | |
|
|`B2` | | | | |Timer 1 |
|
||||||
|`B7` |Timer 1 |Timer 1 |Timer 1 | |
|
|`B5` |Timer 1 |Timer 1 | | | |
|
||||||
|`C4` |Timer 3 | | | |
|
|`B6` |Timer 1 |Timer 1 | | | |
|
||||||
|`C5` |Timer 3 | |Timer 1 | |
|
|`B7` |Timer 1 |Timer 1 |Timer 1 | | |
|
||||||
|`C6` |Timer 3 |Timer 3 |Timer 1 | |
|
|`C4` |Timer 3 | | | | |
|
||||||
|`D4` | | | |Timer 1 |
|
|`C5` |Timer 3 | |Timer 1 | | |
|
||||||
|`D5` | | | |Timer 1 |
|
|`C6` |Timer 3 |Timer 3 |Timer 1 | | |
|
||||||
|
|`D4` | | | |Timer 1 | |
|
||||||
|
|`D5` | | | |Timer 1 | |
|
||||||
|
|
||||||
All other pins will use software PWM. If the [Audio](feature_audio.md) feature is disabled or only using one timer, the backlight PWM can be triggered by a hardware timer:
|
All other pins will use software PWM. If the [Audio](feature_audio.md) feature is disabled or only using one timer, the backlight PWM can be triggered by a hardware timer:
|
||||||
|
|
||||||
|
|
|
@ -1104,6 +1104,22 @@ void matrix_scan_quantum() {
|
||||||
# define COMxx1 COM1A1
|
# define COMxx1 COM1A1
|
||||||
# define OCRxx OCR1A
|
# define OCRxx OCR1A
|
||||||
# endif
|
# endif
|
||||||
|
# elif defined(__AVR_ATmega328P__) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2)
|
||||||
|
# define HARDWARE_PWM
|
||||||
|
# define ICRx ICR1
|
||||||
|
# define TCCRxA TCCR1A
|
||||||
|
# define TCCRxB TCCR1B
|
||||||
|
# define TIMERx_OVF_vect TIMER1_OVF_vect
|
||||||
|
# define TIMSKx TIMSK1
|
||||||
|
# define TOIEx TOIE1
|
||||||
|
|
||||||
|
# if BACKLIGHT_PIN == B1
|
||||||
|
# define COMxx1 COM1A1
|
||||||
|
# define OCRxx OCR1A
|
||||||
|
# elif BACKLIGHT_PIN == B2
|
||||||
|
# define COMxx1 COM1B1
|
||||||
|
# define OCRxx OCR1B
|
||||||
|
# endif
|
||||||
# else
|
# else
|
||||||
# if !defined(BACKLIGHT_CUSTOM_DRIVER)
|
# if !defined(BACKLIGHT_CUSTOM_DRIVER)
|
||||||
# if !defined(B5_AUDIO) && !defined(B6_AUDIO) && !defined(B7_AUDIO)
|
# if !defined(B5_AUDIO) && !defined(B6_AUDIO) && !defined(B7_AUDIO)
|
||||||
|
|
Loading…
Reference in New Issue