ARM - Initial backlight support (#6487)
* Move AVR backlight to own file, add borrowed ARM implementation * Tiny fix for backlight custom logic * Remove duplicate board from rebase * Fix f303 onekey example * clang-format * clang-format * Remove backlight keymap debug * Initial pass of ARM backlight docs * Initial pass of ARM backlight docs - resolve todos * fix rules validation logic * Add f072 warning * Add f072 warning * tidy up breathing in backlight keymap * tidy up breathing in backlight keymap * add missing break to backlight keymap
This commit is contained in:
		
							parent
							
								
									60b2a9a5ea
								
							
						
					
					
						commit
						38aefaf78e
					
				
					 17 changed files with 860 additions and 529 deletions
				
			
		| 
						 | 
				
			
			@ -21,3 +21,7 @@
 | 
			
		|||
#define MATRIX_COL_PINS { B0 }
 | 
			
		||||
#define MATRIX_ROW_PINS { A7 }
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN           A0
 | 
			
		||||
#define BACKLIGHT_PWM_DRIVER    PWMD2
 | 
			
		||||
#define BACKLIGHT_PWM_CHANNEL   1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -146,7 +146,7 @@
 | 
			
		|||
 * @brief   Enables the SPI subsystem.
 | 
			
		||||
 */
 | 
			
		||||
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
 | 
			
		||||
#define HAL_USE_SPI                 TRUE
 | 
			
		||||
#define HAL_USE_SPI                 FALSE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,8 +132,8 @@
 | 
			
		|||
 * PWM driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define STM32_PWM_USE_ADVANCED              FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM1                  TRUE
 | 
			
		||||
#define STM32_PWM_USE_TIM2                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM1                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM2                  TRUE
 | 
			
		||||
#define STM32_PWM_USE_TIM3                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM4                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM5                  FALSE
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +168,7 @@
 | 
			
		|||
 * SPI driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define STM32_SPI_USE_SPI1                  FALSE
 | 
			
		||||
#define STM32_SPI_USE_SPI2                  TRUE
 | 
			
		||||
#define STM32_SPI_USE_SPI2                  FALSE
 | 
			
		||||
#define STM32_SPI_USE_SPI3                  FALSE
 | 
			
		||||
#define STM32_SPI_SPI1_DMA_PRIORITY         1
 | 
			
		||||
#define STM32_SPI_SPI2_DMA_PRIORITY         1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,11 @@
 | 
			
		|||
# GENERIC STM32F103C8T6 board - stm32duino bootloader
 | 
			
		||||
BOARD = GENERIC_STM32_F103
 | 
			
		||||
 | 
			
		||||
OPT_DEFS = -DCORTEX_VTOR_INIT=0x2000
 | 
			
		||||
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
 | 
			
		||||
BOARD = GENERIC_STM32_F103
 | 
			
		||||
 | 
			
		||||
DFU_ARGS = -d 1eaf:0003 -a2 -R
 | 
			
		||||
DFU_SUFFIX_ARGS ?= -v 1eaf -p 0003
 | 
			
		||||
 | 
			
		||||
# OPT_DEFS =
 | 
			
		||||
# MCU_LDSCRIPT = STM32F103x8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
/* Set 0 if debouncing isn't needed */
 | 
			
		||||
#define DEBOUNCE    5
 | 
			
		||||
 | 
			
		||||
#define TAPPING_TERM 500
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3
									
								
								keyboards/handwired/onekey/keymaps/backlight/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/handwired/onekey/keymaps/backlight/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
							
								
								
									
										40
									
								
								keyboards/handwired/onekey/keymaps/backlight/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								keyboards/handwired/onekey/keymaps/backlight/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
//Tap Dance Declarations
 | 
			
		||||
enum {
 | 
			
		||||
  TD_BL = 0
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
  // noop
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
  switch (state->count) {
 | 
			
		||||
    case 1:
 | 
			
		||||
      // single tap - step through backlight
 | 
			
		||||
      backlight_step();
 | 
			
		||||
      break;
 | 
			
		||||
#ifdef BACKLIGHT_BREATHING
 | 
			
		||||
    case 2:
 | 
			
		||||
      // double tap - toggle breathing
 | 
			
		||||
      breathing_toggle();
 | 
			
		||||
      break;
 | 
			
		||||
    case 3:
 | 
			
		||||
      //tripple tap - do some pulse stuff
 | 
			
		||||
      breathing_pulse();
 | 
			
		||||
      break;
 | 
			
		||||
#endif
 | 
			
		||||
    default:
 | 
			
		||||
      // more - nothing
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
qk_tap_dance_action_t tap_dance_actions[] = {
 | 
			
		||||
  [TD_BL]  = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cln_finished, dance_cln_reset)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
  LAYOUT( TD(TD_BL) )
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/handwired/onekey/keymaps/backlight/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/handwired/onekey/keymaps/backlight/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
BACKLIGHT_ENABLE = yes
 | 
			
		||||
TAP_DANCE_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -21,3 +21,8 @@
 | 
			
		|||
#define MATRIX_COL_PINS { A3 }
 | 
			
		||||
#define MATRIX_ROW_PINS { A2 }
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN           B8
 | 
			
		||||
#define BACKLIGHT_PWM_DRIVER    PWMD4
 | 
			
		||||
#define BACKLIGHT_PWM_CHANNEL   3
 | 
			
		||||
#define BACKLIGHT_PAL_MODE      2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,3 +21,8 @@
 | 
			
		|||
#define MATRIX_COL_PINS { B4 }
 | 
			
		||||
#define MATRIX_ROW_PINS { B5 }
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN           C8
 | 
			
		||||
#define BACKLIGHT_PWM_DRIVER    PWMD3
 | 
			
		||||
#define BACKLIGHT_PWM_CHANNEL   3
 | 
			
		||||
#define BACKLIGHT_PAL_MODE      0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue