- change protocol stack to LUFAledmap
MCU = atmega32u4 # Teensy 2.0 | MCU = atmega32u4 # Teensy 2.0 | ||||
#MCU = at90usb646 # Teensy++ 1.0 | #MCU = at90usb646 # Teensy++ 1.0 | ||||
#MCU = at90usb1286 # Teensy++ 2.0 | #MCU = at90usb1286 # Teensy++ 2.0 | ||||
#MCU = atmega32u2 # TMK converter | |||||
# Processor frequency. | # Processor frequency. | ||||
F_CPU = 16000000 | 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* | # Boot Section Size in *bytes* | ||||
# Teensy halfKay 512 | # Teensy halfKay 512 | ||||
# Teensy++ halfKay 1024 | # Teensy++ halfKay 1024 | ||||
include $(TOP_DIR)/protocol.mk | 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)/common.mk | ||||
include $(TOP_DIR)/rules.mk | include $(TOP_DIR)/rules.mk |
# 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 |
//#define TEENSY_CONFIG 1 | //#define TEENSY_CONFIG 1 | ||||
#define PRO_MICRO_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 | // comment out if you don't want the keyboard's LEDs to flash upon initialization | ||||
#define NEXT_KBD_INIT_FLASH_LEDS | #define NEXT_KBD_INIT_FLASH_LEDS | ||||
#endif | #endif | ||||
//================= End of Teensy 2.0 Configuration ================== | //================= 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 */ | /* key combination for command */ | ||||
#define IS_COMMAND() ( \ | #define IS_COMMAND() ( \ | ||||
(keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))|| \ | (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))|| \ |