Add TMK converter support to Next converter
- change protocol stack to LUFA
This commit is contained in:
		
							parent
							
								
									dd3ab65ec3
								
							
						
					
					
						commit
						27967f2008
					
				
					 3 changed files with 126 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -20,6 +20,7 @@ CONFIG_H = config.h
 | 
			
		|||
MCU = atmega32u4       # Teensy 2.0
 | 
			
		||||
#MCU = at90usb646       # Teensy++ 1.0
 | 
			
		||||
#MCU = at90usb1286      # Teensy++ 2.0
 | 
			
		||||
#MCU = atmega32u2       # TMK converter
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Processor frequency.
 | 
			
		||||
| 
						 | 
				
			
			@ -30,6 +31,29 @@ MCU = atmega32u4       # Teensy 2.0
 | 
			
		|||
F_CPU = 16000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# LUFA specific
 | 
			
		||||
#
 | 
			
		||||
# Target architecture (see library "Board Types" documentation).
 | 
			
		||||
ARCH = AVR8
 | 
			
		||||
 | 
			
		||||
# Input clock frequency.
 | 
			
		||||
#     This will define a symbol, F_USB, in all source code files equal to the
 | 
			
		||||
#     input clock frequency (before any prescaling is performed) in Hz. This value may
 | 
			
		||||
#     differ from F_CPU if prescaling is used on the latter, and is required as the
 | 
			
		||||
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
 | 
			
		||||
#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
 | 
			
		||||
#     at the end, this will be done automatically to create a 32-bit value in your
 | 
			
		||||
#     source code.
 | 
			
		||||
#
 | 
			
		||||
#     If no clock division is performed on the input clock inside the AVR (via the
 | 
			
		||||
#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 | 
			
		||||
F_USB = $(F_CPU)
 | 
			
		||||
 | 
			
		||||
# Interrupt driven control endpoint task(+60)
 | 
			
		||||
#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Boot Section Size in *bytes*
 | 
			
		||||
#   Teensy halfKay   512
 | 
			
		||||
#   Teensy++ halfKay 1024
 | 
			
		||||
| 
						 | 
				
			
			@ -58,6 +82,6 @@ VPATH += $(TOP_DIR)
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
include $(TOP_DIR)/protocol.mk
 | 
			
		||||
include $(TOP_DIR)/protocol/pjrc.mk
 | 
			
		||||
include $(TOP_DIR)/protocol/lufa.mk
 | 
			
		||||
include $(TOP_DIR)/common.mk
 | 
			
		||||
include $(TOP_DIR)/rules.mk
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										63
									
								
								converter/next_usb/Makefile.pjrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								converter/next_usb/Makefile.pjrc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
# Target file name (without extension).
 | 
			
		||||
TARGET = next_usb
 | 
			
		||||
 | 
			
		||||
# Directory common source filess exist
 | 
			
		||||
TOP_DIR = ../..
 | 
			
		||||
 | 
			
		||||
# Directory keyboard dependent files exist
 | 
			
		||||
TARGET_DIR = .
 | 
			
		||||
 | 
			
		||||
# keyboard dependent files
 | 
			
		||||
SRC =   keymap.c \
 | 
			
		||||
	matrix.c \
 | 
			
		||||
	led.c
 | 
			
		||||
 | 
			
		||||
CONFIG_H = config.h
 | 
			
		||||
 | 
			
		||||
# MCU name, you MUST set this to match the board you are using
 | 
			
		||||
# type "make clean" after changing this, so all files will be rebuilt
 | 
			
		||||
#MCU = at90usb162       # Teensy 1.0
 | 
			
		||||
MCU = atmega32u4       # Teensy 2.0
 | 
			
		||||
#MCU = at90usb646       # Teensy++ 1.0
 | 
			
		||||
#MCU = at90usb1286      # Teensy++ 2.0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Processor frequency.
 | 
			
		||||
#   Normally the first thing your program should do is set the clock prescaler,
 | 
			
		||||
#   so your program will run at the correct speed.  You should also set this
 | 
			
		||||
#   variable to same clock speed.  The _delay_ms() macro uses this, and many
 | 
			
		||||
#   examples use this variable to calculate timings.  Do not add a "UL" here.
 | 
			
		||||
F_CPU = 16000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Boot Section Size in *bytes*
 | 
			
		||||
#   Teensy halfKay   512
 | 
			
		||||
#   Teensy++ halfKay 1024
 | 
			
		||||
#   Atmel DFU loader 4096
 | 
			
		||||
#   LUFA bootloader  4096
 | 
			
		||||
#   USBaspLoader     2048
 | 
			
		||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   *Comment out* to disable the options.
 | 
			
		||||
#
 | 
			
		||||
#BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
 | 
			
		||||
MOUSEKEY_ENABLE = yes	# Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes	# Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = yes	# Console for debug(+400)
 | 
			
		||||
COMMAND_ENABLE = yes    # Commands for debug and configuration
 | 
			
		||||
#NKRO_ENABLE = yes	# USB Nkey Rollover
 | 
			
		||||
 | 
			
		||||
SRC += next_kbd.c
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Search Path
 | 
			
		||||
VPATH += $(TARGET_DIR)
 | 
			
		||||
VPATH += $(TOP_DIR)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
include $(TOP_DIR)/protocol.mk
 | 
			
		||||
include $(TOP_DIR)/protocol/pjrc.mk
 | 
			
		||||
include $(TOP_DIR)/common.mk
 | 
			
		||||
include $(TOP_DIR)/rules.mk
 | 
			
		||||
| 
						 | 
				
			
			@ -60,6 +60,7 @@ POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
 | 
			
		||||
//#define TEENSY_CONFIG 1
 | 
			
		||||
#define PRO_MICRO_CONFIG 1
 | 
			
		||||
//#define TMK_CONFIG 1
 | 
			
		||||
 | 
			
		||||
// comment out if you don't want the keyboard's LEDs to flash upon initialization
 | 
			
		||||
#define NEXT_KBD_INIT_FLASH_LEDS
 | 
			
		||||
| 
						 | 
				
			
			@ -143,6 +144,43 @@ POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
#endif
 | 
			
		||||
//================= End of Teensy 2.0 Configuration ==================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//================ Start of TMK converter Configuration =================
 | 
			
		||||
#ifdef TMK_CONFIG
 | 
			
		||||
 | 
			
		||||
// this is the debugging LED that flashes when a key is being pressed
 | 
			
		||||
// comment out in order to disable debugging LED
 | 
			
		||||
#define NEXT_KBD_LED1_PORT  PORTD
 | 
			
		||||
#define NEXT_KBD_LED1_PIN   PIND
 | 
			
		||||
#define NEXT_KBD_LED1_DDR   DDRD
 | 
			
		||||
#define NEXT_KBD_LED1_BIT   6
 | 
			
		||||
 | 
			
		||||
#define NEXT_KBD_LED1_ON    NEXT_KBD_LED1_PORT |=  (1<<NEXT_KBD_LED1_BIT);
 | 
			
		||||
#define NEXT_KBD_LED1_OFF   NEXT_KBD_LED1_PORT &= ~(1<<NEXT_KBD_LED1_BIT);
 | 
			
		||||
 | 
			
		||||
// corresponds to the Keyboard In wire on the NeXT connector
 | 
			
		||||
#define NEXT_KBD_OUT_PORT  PORTD
 | 
			
		||||
#define NEXT_KBD_OUT_PIN   PIND
 | 
			
		||||
#define NEXT_KBD_OUT_DDR   DDRD
 | 
			
		||||
#define NEXT_KBD_OUT_BIT   1
 | 
			
		||||
 | 
			
		||||
// corresponds to the Keyboard Out wire on the NeXT connector
 | 
			
		||||
#define NEXT_KBD_IN_PORT   PORTD
 | 
			
		||||
#define NEXT_KBD_IN_PIN    PIND
 | 
			
		||||
#define NEXT_KBD_IN_DDR    DDRD
 | 
			
		||||
#define NEXT_KBD_IN_BIT    0
 | 
			
		||||
 | 
			
		||||
// this pin is an input for the power key on the NeXT keyboard
 | 
			
		||||
// as the keyboard is powered on this should be normally high;
 | 
			
		||||
// if it is pulled low it means the power button is being preseed
 | 
			
		||||
#define NEXT_KBD_PWR_PORT  PORTD
 | 
			
		||||
#define NEXT_KBD_PWR_PIN   PIND
 | 
			
		||||
#define NEXT_KBD_PWR_DDR   DDRD
 | 
			
		||||
#define NEXT_KBD_PWR_BIT   4
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
//================= End of TMK converter Configuration ==================
 | 
			
		||||
 | 
			
		||||
/* key combination for command */
 | 
			
		||||
#define IS_COMMAND() ( \
 | 
			
		||||
    (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))|| \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue