forked from mirrors/qmk_firmware
Add support for 328P hardware backlight on B1/B2 (#6776)
This commit is contained in:
parent
c7d0262be7
commit
3642a82d37
2 changed files with 28 additions and 10 deletions
|
@ -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:
|
||||
|
||||
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|
|
||||
|-------------|-------------|-------------|-------------|---------|
|
||||
|`B5` |Timer 1 |Timer 1 | | |
|
||||
|`B6` |Timer 1 |Timer 1 | | |
|
||||
|`B7` |Timer 1 |Timer 1 |Timer 1 | |
|
||||
|`C4` |Timer 3 | | | |
|
||||
|`C5` |Timer 3 | |Timer 1 | |
|
||||
|`C6` |Timer 3 |Timer 3 |Timer 1 | |
|
||||
|`D4` | | | |Timer 1 |
|
||||
|`D5` | | | |Timer 1 |
|
||||
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328P|
|
||||
|-------------|-------------|-------------|-------------|---------|----------|
|
||||
|`B1` | | | | |Timer 1 |
|
||||
|`B2` | | | | |Timer 1 |
|
||||
|`B5` |Timer 1 |Timer 1 | | | |
|
||||
|`B6` |Timer 1 |Timer 1 | | | |
|
||||
|`B7` |Timer 1 |Timer 1 |Timer 1 | | |
|
||||
|`C4` |Timer 3 | | | | |
|
||||
|`C5` |Timer 3 | |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:
|
||||
|
||||
|
|
|
@ -1104,6 +1104,22 @@ void matrix_scan_quantum() {
|
|||
# define COMxx1 COM1A1
|
||||
# define OCRxx OCR1A
|
||||
# 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
|
||||
# if !defined(BACKLIGHT_CUSTOM_DRIVER)
|
||||
# if !defined(B5_AUDIO) && !defined(B6_AUDIO) && !defined(B7_AUDIO)
|
||||
|
|
Loading…
Reference in a new issue