103 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
Copyright 2019 marksard
 | 
						|
 | 
						|
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      0xDFA5
 | 
						|
#define DEVICE_VER      0x0010
 | 
						|
#define MANUFACTURER    marksard
 | 
						|
#define PRODUCT         treadstone32
 | 
						|
#define DESCRIPTION     Minimal Symmetrical staggered 32-Key Keyboard
 | 
						|
 | 
						|
/* key matrix size */
 | 
						|
#define MATRIX_ROWS 8
 | 
						|
#define MATRIX_COLS 5
 | 
						|
 | 
						|
/*
 | 
						|
 * Keyboard Matrix Assignments
 | 
						|
 *
 | 
						|
 * Change this to how you wired your keyboard
 | 
						|
 * COLS: AVR pins used for columns, left to right
 | 
						|
 * ROWS: AVR pins used for rows, top to bottom
 | 
						|
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 | 
						|
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
						|
 *
 | 
						|
*/
 | 
						|
#define MATRIX_ROW_PINS { F1, F0, E6, B2, B4, D7, D6, D4 }
 | 
						|
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7 }
 | 
						|
#define UNUSED_PINS
 | 
						|
 | 
						|
/* COL2ROW, ROW2COL */
 | 
						|
#define DIODE_DIRECTION COL2ROW
 | 
						|
 | 
						|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
						|
#define DEBOUNCE 5
 | 
						|
 | 
						|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
 | 
						|
//#define MATRIX_HAS_GHOST
 | 
						|
 | 
						|
/* ws2812 RGB LED */
 | 
						|
#define RGB_DI_PIN D3
 | 
						|
#define RGBLIGHT_TIMER
 | 
						|
#define ws2812_PORTREG  PORTD
 | 
						|
#define ws2812_DDRREG   DDRD
 | 
						|
 | 
						|
#define RGBLED_NUM 6
 | 
						|
 | 
						|
#ifndef IOS_DEVICE_ENABLE
 | 
						|
  #define RGBLIGHT_LIMIT_VAL 200
 | 
						|
  #define RGBLIGHT_VAL_STEP 17
 | 
						|
#else
 | 
						|
  #define RGBLIGHT_LIMIT_VAL 50
 | 
						|
  #define RGBLIGHT_VAL_STEP 4
 | 
						|
#endif
 | 
						|
#define RGBLIGHT_HUE_STEP 10
 | 
						|
#define RGBLIGHT_SAT_STEP 17
 | 
						|
 | 
						|
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
 | 
						|
// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
 | 
						|
//  120  RGBoff
 | 
						|
//  330  RGB 6
 | 
						|
//  300  RGB 32
 | 
						|
  #define USB_MAX_POWER_CONSUMPTION 400
 | 
						|
#else
 | 
						|
  // fix iPhone and iPad power adapter issue
 | 
						|
  // iOS device need lessthan 100
 | 
						|
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
						|
#endif
 | 
						|
 | 
						|
/*
 | 
						|
 * 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
 |