[Keyboard] ProjectKB Alice rev2 (#8718)
* Add revision 1 and revision 2 to ProjectKB Alice PCB * Swap SLEEP LED to no * Basic root rules.mk * Apply suggestions from code review * Update keyboards/projectkb/alice/rules.mk
This commit is contained in:
		| @@ -1,17 +1,17 @@ | ||||
| #include "alice.h" | ||||
|  | ||||
| void matrix_init_board(void){ | ||||
|     setPinOutput(A0); | ||||
|     setPinOutput(A1); | ||||
|     setPinOutput(A2); | ||||
|     setPinOutput(INDICATOR_PIN_0); | ||||
|     setPinOutput(INDICATOR_PIN_1); | ||||
|     setPinOutput(INDICATOR_PIN_2); | ||||
| } | ||||
|  | ||||
| bool led_update_kb(led_t led_state) { | ||||
|     bool runDefault = led_update_user(led_state); | ||||
|     if (runDefault) { | ||||
|       writePin(A0, !led_state.num_lock); | ||||
|       writePin(A1, !led_state.caps_lock); | ||||
|       writePin(A2, !led_state.scroll_lock); | ||||
|       writePin(INDICATOR_PIN_0, !led_state.num_lock); | ||||
|       writePin(INDICATOR_PIN_1, !led_state.caps_lock); | ||||
|       writePin(INDICATOR_PIN_2, !led_state.scroll_lock); | ||||
|     } | ||||
|     return runDefault; | ||||
| } | ||||
|   | ||||
| @@ -7,7 +7,7 @@ Keyboard Maintainer: onefiftynine | ||||
| Hardware Supported: STM32F072CBT6   | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
|  | ||||
|     make projectkb/alice:default | ||||
|     make projectkb/alice/rev2:default | ||||
|  | ||||
| If you are flashing this keyboard/pcb for the first time: | ||||
|  | ||||
|   | ||||
| @@ -58,6 +58,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| #define WS2812_SPI SPID2 | ||||
| #define WS2812_SPI_MOSI_PAL_MODE 0 | ||||
| 
 | ||||
| #define INDICATOR_PIN_0 A0 | ||||
| #define INDICATOR_PIN_1 A1 | ||||
| #define INDICATOR_PIN_2 A2 | ||||
| 
 | ||||
| // 2 bits for 4 layout options
 | ||||
| #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 | ||||
							
								
								
									
										27
									
								
								keyboards/projectkb/alice/rev1/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/projectkb/alice/rev1/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| # MCU name | ||||
| MCU = STM32F072 | ||||
|  | ||||
| # Build Options | ||||
| #   change yes to no to disable | ||||
| # | ||||
| BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration | ||||
| MOUSEKEY_ENABLE = yes       # Mouse keys | ||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||
| CONSOLE_ENABLE = yes        # Console for debug | ||||
| COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||||
| SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||
| # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||||
| NKRO_ENABLE = yes           # USB Nkey Rollover | ||||
| BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | ||||
| RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow | ||||
| MIDI_ENABLE = no            # MIDI support | ||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||
| AUDIO_ENABLE = no           # Audio output on port C6 | ||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||
| HD44780_ENABLE = no         # Enable support for HD44780 based LCDs | ||||
| WS2812_DRIVER = spi | ||||
|  | ||||
|  | ||||
| # Enter lower-power sleep mode when on the ChibiOS idle thread | ||||
| OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE | ||||
							
								
								
									
										85
									
								
								keyboards/projectkb/alice/rev2/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								keyboards/projectkb/alice/rev2/config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| /* | ||||
| Copyright 2015 Jun Wako <wakojun@gmail.com> | ||||
|  | ||||
| This program is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation, either version 2 of the License, or | ||||
| (at your option) any later version. | ||||
|  | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
|  | ||||
| You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| */ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| /* USB Device descriptor parameter */ | ||||
| #define VENDOR_ID       0x0159 | ||||
| #define PRODUCT_ID      0xA71C | ||||
| #define DEVICE_VER      0x0001 | ||||
| #define MANUFACTURER ProjectKB | ||||
| #define PRODUCT Alice | ||||
| #define DESCRIPTION ProjectKB Alice | ||||
|  | ||||
| /* key matrix size */ | ||||
| #define MATRIX_ROWS 5 | ||||
| #define MATRIX_COLS 16 | ||||
|  | ||||
| #define MATRIX_COL_PINS { B1, B0, A7, A1, A5, A4, A3, A10, B9, B8, B7, B6, B5, B4, B3, A15 } | ||||
| #define MATRIX_ROW_PINS { B2, B10, B11, A2, A0 } | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
|  | ||||
| #define BACKLIGHT_PIN           A6 | ||||
| #define BACKLIGHT_PWM_DRIVER    PWMD3 | ||||
| #define BACKLIGHT_PWM_CHANNEL   1 | ||||
| #define BACKLIGHT_PAL_MODE      1 | ||||
| #define BACKLIGHT_LEVELS 6 | ||||
| #define BACKLIGHT_BREATHING | ||||
| #define BREATHING_PERIOD 6 | ||||
|  | ||||
| /* define if matrix has ghost */ | ||||
| //#define MATRIX_HAS_GHOST | ||||
|  | ||||
| /* Set 0 if debouncing isn't needed */ | ||||
| #define DEBOUNCE    5 | ||||
|  | ||||
| /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||
| #define LOCKING_SUPPORT_ENABLE | ||||
| /* Locking resynchronize hack */ | ||||
| #define LOCKING_RESYNC_ENABLE | ||||
|  | ||||
| #define RGBLIGHT_ANIMATIONS | ||||
| #define RGB_DI_PIN B15 | ||||
| #define RGBLED_NUM 14 | ||||
| #define WS2812_SPI SPID2 | ||||
| #define WS2812_SPI_MOSI_PAL_MODE 0 | ||||
|  | ||||
| #define INDICATOR_PIN_0 A9 | ||||
| #define INDICATOR_PIN_1 A8 | ||||
| #define INDICATOR_PIN_2 B12 | ||||
|  | ||||
|  | ||||
| // 2 bits for 4 layout options | ||||
| #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 | ||||
|  | ||||
| /* | ||||
|  * Feature disable options | ||||
|  *  These options are also useful to firmware size reduction. | ||||
|  */ | ||||
|  | ||||
| /* disable debug print */ | ||||
| //#define NO_DEBUG | ||||
|  | ||||
| /* disable print */ | ||||
| //#define NO_PRINT | ||||
|  | ||||
| /* disable action features */ | ||||
| //#define NO_ACTION_LAYER | ||||
| //#define NO_ACTION_TAPPING | ||||
| //#define NO_ACTION_ONESHOT | ||||
| //#define NO_ACTION_MACRO | ||||
| //#define NO_ACTION_FUNCTION | ||||
							
								
								
									
										27
									
								
								keyboards/projectkb/alice/rev2/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/projectkb/alice/rev2/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| # MCU name | ||||
| MCU = STM32F072 | ||||
|  | ||||
| # Build Options | ||||
| #   change yes to no to disable | ||||
| # | ||||
| BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration | ||||
| MOUSEKEY_ENABLE = yes       # Mouse keys | ||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||
| CONSOLE_ENABLE = yes        # Console for debug | ||||
| COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||||
| SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||
| # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||||
| NKRO_ENABLE = yes           # USB Nkey Rollover | ||||
| BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | ||||
| RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow | ||||
| MIDI_ENABLE = no            # MIDI support | ||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||
| AUDIO_ENABLE = no           # Audio output on port C6 | ||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||
| HD44780_ENABLE = no         # Enable support for HD44780 based LCDs | ||||
| WS2812_DRIVER = spi | ||||
|  | ||||
|  | ||||
| # Enter lower-power sleep mode when on the ChibiOS idle thread | ||||
| OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE | ||||
| @@ -1,22 +1 @@ | ||||
| # MCU name | ||||
| MCU = STM32F072 | ||||
|  | ||||
| # Build Options | ||||
| #   comment out to disable the options. | ||||
| # | ||||
|  | ||||
| BOOTMAGIC_ENABLE = lite	# Virtual DIP switch configuration | ||||
| MOUSEKEY_ENABLE = yes	# Mouse keys | ||||
| EXTRAKEY_ENABLE = yes	# Audio control and System control | ||||
| CONSOLE_ENABLE = yes	# Console for debug | ||||
| COMMAND_ENABLE = yes    # Commands for debug and configuration | ||||
| SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend | ||||
| NKRO_ENABLE = yes	    # USB Nkey Rollover | ||||
| CUSTOM_MATRIX = no # Custom matrix file | ||||
| BACKLIGHT_ENABLE = yes | ||||
| RGBLIGHT_ENABLE = yes | ||||
| WS2812_DRIVER = spi | ||||
|  | ||||
|  | ||||
| # Enter lower-power sleep mode when on the ChibiOS idle thread | ||||
| OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE | ||||
| DEFAULT_FOLDER = projectkb/alice/rev1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user