aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-11-25 11:25:44 +0900
committertmk <nobody@nowhere>2013-11-25 11:25:44 +0900
commit04c950157407c32ef04a68a1b8180630cfb9d84c (patch)
tree95a20a056188d07c90d5a8021de7ba0dfa55af8d
parent4e36159be226e544dfebbe06b1955261951209a4 (diff)
downloadqmk_firmware-04c950157407c32ef04a68a1b8180630cfb9d84c.tar.gz
qmk_firmware-04c950157407c32ef04a68a1b8180630cfb9d84c.zip
Fix Makfile and config.h for LUFA in ps2_usb
-rw-r--r--converter/ps2_usb/Makefile111
-rw-r--r--converter/ps2_usb/config.h23
2 files changed, 79 insertions, 55 deletions
diff --git a/converter/ps2_usb/Makefile b/converter/ps2_usb/Makefile
index 0c6442374..04bf28a00 100644
--- a/converter/ps2_usb/Makefile
+++ b/converter/ps2_usb/Makefile
@@ -1,5 +1,5 @@
1# Target file name (without extension). 1# Target file name (without extension).
2TARGET = ps2_usb 2TARGET = ps2_usb_lufa
3 3
4# Directory common source filess exist 4# Directory common source filess exist
5TOP_DIR = ../.. 5TOP_DIR = ../..
@@ -7,69 +7,96 @@ TOP_DIR = ../..
7# Directory keyboard dependent files exist 7# Directory keyboard dependent files exist
8TARGET_DIR = . 8TARGET_DIR = .
9 9
10# project specific files
11SRC = keymap_common.c \
12 matrix.c \
13 led.c
14
15ifdef KEYMAP
16 SRC := keymap_$(KEYMAP).c $(SRC)
17else
18 SRC := keymap_plain.c $(SRC)
19endif
20
21CONFIG_H = config.h
10 22
11# MCU name, you MUST set this to match the board you are using
12# type "make clean" after changing this, so all files will be rebuilt
13#MCU = at90usb162 # Teensy 1.0
14MCU = atmega32u4 # Teensy 2.0
15#MCU = at90usb646 # Teensy++ 1.0
16#MCU = at90usb1286 # Teensy++ 2.0
17 23
24# MCU name
25#MCU = at90usb1287
26MCU = atmega32u4
18 27
19# Processor frequency. 28# Processor frequency.
20# Normally the first thing your program should do is set the clock prescaler, 29# This will define a symbol, F_CPU, in all source code files equal to the
21# so your program will run at the correct speed. You should also set this 30# processor frequency in Hz. You can then use this symbol in your source code to
22# variable to same clock speed. The _delay_ms() macro uses this, and many 31# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
23# examples use this variable to calculate timings. Do not add a "UL" here. 32# automatically to create a 32-bit value in your source code.
33#
34# This will be an integer division of F_USB below, as it is sourced by
35# F_USB after it has run through any CPU prescalers. Note that this value
36# does not *change* the processor frequency - it should merely be updated to
37# reflect the processor speed set externally so that the code can use accurate
38# software delays.
24F_CPU = 16000000 39F_CPU = 16000000
25 40
26 41
27# Build Options
28# *Comment out* to disable the options.
29# 42#
30MOUSEKEY_ENABLE = yes # Mouse keys 43# LUFA specific
31EXTRAKEY_ENABLE = yes # Audio control and System control 44#
32NKRO_ENABLE = yes # USB Nkey Rollover 45# Target architecture (see library "Board Types" documentation).
46ARCH = AVR8
47
48# Input clock frequency.
49# This will define a symbol, F_USB, in all source code files equal to the
50# input clock frequency (before any prescaling is performed) in Hz. This value may
51# differ from F_CPU if prescaling is used on the latter, and is required as the
52# raw input clock is fed directly to the PLL sections of the AVR for high speed
53# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
54# at the end, this will be done automatically to create a 32-bit value in your
55# source code.
56#
57# If no clock division is performed on the input clock inside the AVR (via the
58# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
59F_USB = $(F_CPU)
33 60
34PS2_USE_USART = yes # uses hardware USART engine for PS/2 signal receive(recomened) 61# Interrupt driven control endpoint task(+60)
35#PS2_USE_INT = yes # uses external interrupt for falling edge of PS/2 clock pin 62OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
36#PS2_USE_BUSYWAIT = yes # uses primitive reference code
37 63
38 64
39# keyboard dependent files 65# Boot Section Size in *bytes*
40SRC = keymap.c \ 66# Teensy halfKay 512
41 matrix.c \ 67# Teensy++ halfKay 1024
42 led.c 68# Atmel DFU loader 4096
43 69# LUFA bootloader 4096
70# USBaspLoader 2048
71OPT_DEFS += -DBOOTLOADER_SIZE=4096
44 72
45ifdef PS2_USE_USART
46 SRC += protocol/ps2_usart.c
47 OPT_DEFS += -DPS2_USE_USART
48endif
49ifdef PS2_USE_INT
50 SRC += protocol/ps2.c
51 OPT_DEFS += -DPS2_USE_INT
52endif
53ifdef PS2_USE_BUSYWAIT
54 SRC += protocol/ps2.c
55 OPT_DEFS += -DPS2_USE_BUSYWAIT
56endif
57 73
74# Build Options
75# comment out to disable the options.
76#
77#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
78MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
79EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
80CONSOLE_ENABLE = yes # Console for debug(+400)
81COMMAND_ENABLE = yes # Commands for debug and configuration
82NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
58 83
59#CONFIG_H = config_pjrc_usart.h
60CONFIG_H = config.h
61 84
85# PS/2 Options
86#
87#PS2_USE_USART = yes # uses hardware USART engine for PS/2 signal receive(recomened)
88#PS2_USE_INT = yes # uses external interrupt for falling edge of PS/2 clock pin
89PS2_USE_BUSYWAIT = yes # uses primitive reference code
62 90
63#---------------- Programming Options --------------------------
64PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
65 91
92# Optimize size but this may cause error "relocation truncated to fit"
93#EXTRALDFLAGS = -Wl,--relax
66 94
67# Search Path 95# Search Path
68VPATH += $(TARGET_DIR) 96VPATH += $(TARGET_DIR)
69VPATH += $(TOP_DIR) 97VPATH += $(TOP_DIR)
70 98
71
72include $(TOP_DIR)/protocol/pjrc.mk
73include $(TOP_DIR)/protocol.mk 99include $(TOP_DIR)/protocol.mk
100include $(TOP_DIR)/protocol/lufa.mk
74include $(TOP_DIR)/common.mk 101include $(TOP_DIR)/common.mk
75include $(TOP_DIR)/rules.mk 102include $(TOP_DIR)/rules.mk
diff --git a/converter/ps2_usb/config.h b/converter/ps2_usb/config.h
index 51cd271d7..1ad2bd1b4 100644
--- a/converter/ps2_usb/config.h
+++ b/converter/ps2_usb/config.h
@@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x6512 24#define PRODUCT_ID 0x6512
25#define DEVICE_VER 0x0001
25#define MANUFACTURER t.m.k. 26#define MANUFACTURER t.m.k.
26#define PRODUCT PS/2 keyboard converter 27#define PRODUCT PS/2 keyboard converter
27#define DESCRIPTION convert PS/2 keyboard to USB 28#define DESCRIPTION convert PS/2 keyboard to USB
@@ -39,10 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
39) 40)
40 41
41 42
42/* legacy keymap support */
43#define USE_LEGACY_KEYMAP
44
45
46#ifdef PS2_USE_USART 43#ifdef PS2_USE_USART
47#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) 44#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)
48/* XCK for clock line and RXD for data line */ 45/* XCK for clock line and RXD for data line */
@@ -136,7 +133,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
136#define PS2_CLOCK_PORT PORTD 133#define PS2_CLOCK_PORT PORTD
137#define PS2_CLOCK_PIN PIND 134#define PS2_CLOCK_PIN PIND
138#define PS2_CLOCK_DDR DDRD 135#define PS2_CLOCK_DDR DDRD
139#define PS2_CLOCK_BIT 1 136#define PS2_CLOCK_BIT 5
140#define PS2_DATA_PORT PORTD 137#define PS2_DATA_PORT PORTD
141#define PS2_DATA_PIN PIND 138#define PS2_DATA_PIN PIND
142#define PS2_DATA_DDR DDRD 139#define PS2_DATA_DDR DDRD
@@ -157,14 +154,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
157 154
158 155
159#ifdef PS2_USE_BUSYWAIT 156#ifdef PS2_USE_BUSYWAIT
160#define PS2_CLOCK_PORT PORTF 157#define PS2_CLOCK_PORT PORTD
161#define PS2_CLOCK_PIN PINF 158#define PS2_CLOCK_PIN PIND
162#define PS2_CLOCK_DDR DDRF 159#define PS2_CLOCK_DDR DDRD
163#define PS2_CLOCK_BIT 0 160#define PS2_CLOCK_BIT 5
164#define PS2_DATA_PORT PORTF 161#define PS2_DATA_PORT PORTD
165#define PS2_DATA_PIN PINF 162#define PS2_DATA_PIN PIND
166#define PS2_DATA_DDR DDRF 163#define PS2_DATA_DDR DDRD
167#define PS2_DATA_BIT 1 164#define PS2_DATA_BIT 2
168#endif 165#endif
169 166
170#endif 167#endif