 42eeb315a5
			
		
	
	
		42eeb315a5
		
			
		
	
	
	
	
		
			
			* add support for ModelM USB board * EMI improvement: remove unnecessary toggling of MOSI pin * address review comments * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/mschwingen/modelm/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * update printf usage * add comment * EMI improvement: remove unnecessary toggling of MOSI signal * remove trailing space * use shorter macros as suggested in review by noroadsleft, re-format table to line up columns * Update keyboards/mschwingen/modelm/config.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/mschwingen/modelm/README.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/mschwingen/modelm/README.md Co-authored-by: Ryan <fauxpark@gmail.com> * Apply suggestions from code review use spi_read from core insteads of our own copy Co-authored-by: Ryan <fauxpark@gmail.com> * include spi_master.c to use spi_read() * Update keyboards/mschwingen/modelm/README.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review: correct indenting in keymap Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review use automatic variant defines from makefile instead of defining our own Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/mschwingen/modelm/rules.mk: use QUANTUM_LIB_SRC for uart.c Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Michael Schwingen <michael@schwingen.org> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright 2020 Michael Schwingen
 | |
| 
 | |
|  * 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
 | |
| 
 | |
| #include "config_common.h"
 | |
| 
 | |
| /* USB Device descriptor parameter */
 | |
| #define VENDOR_ID       0xFEED
 | |
| #define PRODUCT_ID      0x558E
 | |
| #define DEVICE_VER      0x0001
 | |
| #define MANUFACTURER    mschwingen
 | |
| #define PRODUCT         IBM Model M 101/102
 | |
| 
 | |
| /* key matrix size */
 | |
| #define MATRIX_ROWS 16
 | |
| #define MATRIX_COLS 8
 | |
| 
 | |
| /* pins for external shift registers */
 | |
| #define SR_LOAD_PIN B0
 | |
| #define SR_CLK_PIN B1
 | |
| #define SR_DIN_PIN B3
 | |
| #define SR_DOUT_PIN B2
 | |
| 
 | |
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */
 | |
| #define DEBOUNCE 5
 | |
| 
 | |
| /*
 | |
|  * Feature disable options
 | |
|  *  These options are also useful to firmware size reduction.
 | |
|  */
 | |
| 
 | |
| /* disable debug print */
 | |
| //#define NO_DEBUG
 | |
| 
 | |
| /* disable print */
 | |
| //#define NO_PRINT
 | |
| #define NORMAL_PRINT
 | |
| //#define USER_PRINT
 | |
| 
 | |
| 
 | |
| /* disable action features */
 | |
| //#define NO_ACTION_LAYER
 | |
| //#define NO_ACTION_TAPPING
 | |
| //#define NO_ACTION_ONESHOT
 | |
| //#define NO_ACTION_MACRO
 | |
| //#define NO_ACTION_FUNCTION
 | |
| 
 | |
| //#define DEBUG_MATRIX_SCAN_RATE
 | |
| #define DYNAMIC_MACRO_NO_NESTING
 | |
| 
 | |
| #define QMK_LED E6
 | |
| 
 | |
| #define MODELM_LED1 B5
 | |
| #define MODELM_LED2 B6
 | |
| #define MODELM_LED3 D0
 | |
| 
 | |
| #if defined(KEYBOARD_mschwingen_modelm_led_wired)
 | |
| # define MODELM_LED_CAPSLOCK  MODELM_LED1
 | |
| # define MODELM_LED_SCROLLOCK MODELM_LED2
 | |
| # define MODELM_LED_NUMLOCK   MODELM_LED3
 | |
| #elif defined(KEYBOARD_mschwingen_modelm_led_ffc)
 | |
| # define MODELM_LED_CAPSLOCK  MODELM_LED2
 | |
| # define MODELM_LED_SCROLLOCK MODELM_LED3
 | |
| # define MODELM_LED_NUMLOCK   MODELM_LED1
 | |
| #elif defined(KEYBOARD_mschwingen_modelm_led_ws2812)
 | |
| #else
 | |
| # error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set!
 | |
| #endif
 | |
| 
 | |
| // 3* WS2812 LEDs instead of singlecolor GPIO LEDs
 | |
| #define RGB_DI_PIN B6
 | |
| #define RGBLED_NUM 3
 | |
| 
 | |
| // disabled, needs PCB patch.
 | |
| //#define C6_AUDIO
 | |
| //#define NO_MUSIC_MODE
 |