summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules6
-rw-r--r--.travis.yml5
-rw-r--r--Makefile31
-rw-r--r--Vagrantfile4
-rw-r--r--doc/keycode.txt4
-rw-r--r--keyboards/ergodox_ez/config.h10
-rw-r--r--keyboards/ergodox_ez/matrix.c6
-rw-r--r--keyboards/infinity_chibios/MEMO.txt385
-rw-r--r--keyboards/infinity_chibios/Makefile70
-rw-r--r--keyboards/infinity_chibios/bootloader_defs.h1
-rw-r--r--keyboards/infinity_chibios/chconf.h524
-rw-r--r--keyboards/infinity_chibios/config.h75
-rw-r--r--keyboards/infinity_chibios/halconf.h353
-rw-r--r--keyboards/infinity_chibios/infinity_chibios.c17
-rw-r--r--keyboards/infinity_chibios/infinity_chibios.h66
-rw-r--r--keyboards/infinity_chibios/keymaps/default/keymap.c48
-rw-r--r--keyboards/infinity_chibios/keymaps/hasu/keymap.c199
-rw-r--r--keyboards/infinity_chibios/led.c24
-rw-r--r--keyboards/infinity_chibios/matrix.c128
-rw-r--r--keyboards/infinity_chibios/mcuconf.h55
-rw-r--r--keyboards/kc60/keymaps/stanleylai/Makefile2
-rw-r--r--keyboards/kc60/keymaps/wigguno/Makefile24
-rw-r--r--keyboards/kc60/keymaps/wigguno/keymap.c62
-rw-r--r--keyboards/kc60/keymaps/wigguno/readme.md14
-rw-r--r--keyboards/kc60/keymaps/ws2812/Makefile2
-rw-r--r--keyboards/planck/out.txt66
-rw-r--r--keyboards/satan/keymaps/sethbc/keymap.c149
-rw-r--r--keyboards/satan/satan.h40
-rw-r--r--keyboards/stm32_f072_onekey/Makefile50
-rw-r--r--keyboards/stm32_f072_onekey/bootloader_defs.h7
-rw-r--r--keyboards/stm32_f072_onekey/chconf.h524
-rw-r--r--keyboards/stm32_f072_onekey/config.h76
-rw-r--r--keyboards/stm32_f072_onekey/halconf.h353
-rw-r--r--keyboards/stm32_f072_onekey/keymaps/default/keymap.c25
-rw-r--r--keyboards/stm32_f072_onekey/led.c34
-rw-r--r--keyboards/stm32_f072_onekey/matrix.c163
-rw-r--r--keyboards/stm32_f072_onekey/mcuconf.h171
-rw-r--r--keyboards/stm32_f072_onekey/stm32_f072_onekey.c1
-rw-r--r--keyboards/stm32_f072_onekey/stm32_f072_onekey.h5
-rw-r--r--keyboards/stm32_f103_onekey/Makefile64
-rw-r--r--keyboards/stm32_f103_onekey/boards/GENERIC_STM32_F103/board.c49
-rw-r--r--keyboards/stm32_f103_onekey/boards/GENERIC_STM32_F103/board.h166
-rw-r--r--keyboards/stm32_f103_onekey/boards/GENERIC_STM32_F103/board.mk5
-rw-r--r--keyboards/stm32_f103_onekey/boards/GENERIC_STM32_F103/mini_stm32_mapping.pngbin0 -> 162908 bytes
-rw-r--r--keyboards/stm32_f103_onekey/boards/maple_mini_mapping.pngbin0 -> 237977 bytes
-rw-r--r--keyboards/stm32_f103_onekey/bootloader_defs.h10
-rw-r--r--keyboards/stm32_f103_onekey/chconf.h524
-rw-r--r--keyboards/stm32_f103_onekey/config.h75
-rwxr-xr-xkeyboards/stm32_f103_onekey/flash.sh2
-rw-r--r--keyboards/stm32_f103_onekey/halconf.h353
-rw-r--r--keyboards/stm32_f103_onekey/keymaps/default/keymap.c25
-rw-r--r--keyboards/stm32_f103_onekey/ld/STM32F103x8_stm32duino_bootloader.ld88
-rw-r--r--keyboards/stm32_f103_onekey/led.c43
-rw-r--r--keyboards/stm32_f103_onekey/matrix.c177
-rw-r--r--keyboards/stm32_f103_onekey/mcuconf.h209
-rw-r--r--keyboards/stm32_f103_onekey/stm32_f103_onekey.c1
-rw-r--r--keyboards/stm32_f103_onekey/stm32_f103_onekey.h4
-rw-r--r--keyboards/teensy_lc_onekey/Makefile62
-rw-r--r--keyboards/teensy_lc_onekey/Makefile.3.077
-rw-r--r--keyboards/teensy_lc_onekey/Makefile.3.277
-rw-r--r--keyboards/teensy_lc_onekey/chconf.h524
-rw-r--r--keyboards/teensy_lc_onekey/config.h75
-rw-r--r--keyboards/teensy_lc_onekey/halconf.h187
-rw-r--r--keyboards/teensy_lc_onekey/instructions.md82
-rw-r--r--keyboards/teensy_lc_onekey/keymaps/default/keymap.c32
-rw-r--r--keyboards/teensy_lc_onekey/ld/MKL26Z64.ld105
-rw-r--r--keyboards/teensy_lc_onekey/led.c32
-rw-r--r--keyboards/teensy_lc_onekey/matrix.c163
-rw-r--r--keyboards/teensy_lc_onekey/mcuconf.h55
-rw-r--r--keyboards/teensy_lc_onekey/teensy_lc_onekey.c1
-rw-r--r--keyboards/teensy_lc_onekey/teensy_lc_onekey.h4
m---------lib/chibios0
m---------lib/chibios-contrib0
-rw-r--r--quantum/keycode_config.h2
-rw-r--r--quantum/keymap.h11
-rw-r--r--quantum/keymap_common.c (renamed from quantum/keymap.c)10
-rw-r--r--quantum/matrix.c294
-rw-r--r--quantum/quantum.c2
-rw-r--r--quantum/quantum.h8
-rw-r--r--readme.md3
-rw-r--r--tmk_core/avr.mk185
-rw-r--r--tmk_core/chibios.mk154
-rw-r--r--tmk_core/common.mk36
-rw-r--r--tmk_core/common/action_tapping.c2
-rw-r--r--tmk_core/common/avr/sleep_led.c (renamed from tmk_core/common/sleep_led.c)0
-rw-r--r--tmk_core/common/avr/suspend.c6
-rw-r--r--tmk_core/common/bootmagic.c23
-rw-r--r--tmk_core/common/chibios/bootloader.c47
-rw-r--r--tmk_core/common/chibios/eeprom.c588
-rw-r--r--tmk_core/common/chibios/printf.c240
-rw-r--r--tmk_core/common/chibios/printf.h111
-rw-r--r--tmk_core/common/chibios/sleep_led.c226
-rw-r--r--tmk_core/common/chibios/suspend.c65
-rw-r--r--tmk_core/common/chibios/timer.c27
-rw-r--r--tmk_core/common/command.c23
-rw-r--r--tmk_core/common/eeconfig.c (renamed from tmk_core/common/avr/eeconfig.c)2
-rw-r--r--tmk_core/common/eeprom.h22
-rw-r--r--tmk_core/common/keyboard.c107
-rw-r--r--tmk_core/common/magic.c4
-rw-r--r--tmk_core/common/matrix.h57
-rw-r--r--tmk_core/common/print.c8
-rw-r--r--tmk_core/common/print.h10
-rw-r--r--tmk_core/common/progmem.h4
-rw-r--r--tmk_core/common/report.h5
-rw-r--r--tmk_core/common/wait.h8
-rw-r--r--tmk_core/protocol/chibios.mk10
-rw-r--r--tmk_core/protocol/chibios/README.md55
-rw-r--r--tmk_core/protocol/chibios/main.c147
-rw-r--r--tmk_core/protocol/chibios/usb_main.c1372
-rw-r--r--tmk_core/protocol/chibios/usb_main.h139
-rw-r--r--tmk_core/readme.md16
-rw-r--r--tmk_core/rules.mk234
-rw-r--r--tmk_core/tool/chibios/.gitignore2
-rw-r--r--tmk_core/tool/chibios/ch-bootloader-jump.patch116
-rw-r--r--util/install_dependencies.sh (renamed from util/avr_setup.sh)26
115 files changed, 10955 insertions, 502 deletions
diff --git a/.gitmodules b/.gitmodules
index e69de29bb2..1576b8dc0b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "lib/chibios"]
+ path = lib/chibios
+ url = https://github.com/ChibiOS/ChibiOS.git
+[submodule "lib/chibios-contrib"]
+ path = lib/chibios-contrib
+ url = https://github.com/ChibiOS/ChibiOS-Contrib.git
diff --git a/.travis.yml b/.travis.yml
index 955f696794..26deac0ceb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,4 +18,7 @@ addons:
- gcc-avr
- dfu-programmer
- pandoc
-after_success: bash util/travis_compiled_push.sh \ No newline at end of file
+ - gcc-arm-none-eabi
+ - binutils-arm-none-eabi
+ - libnewlib-arm-none-eabi
+after_success: bash util/travis_compiled_push.sh
diff --git a/Makefile b/Makefile
index f9b865b9f8..c285dabad4 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@ ifndef VERBOSE
.SILENT:
endif
+.DEFAULT_GOAL := all
+
space := $(subst ,, )
starting_makefile := $(subst $(space),_SPACE_,$(abspath $(firstword $(MAKEFILE_LIST))))
mkfile_path := $(subst $(space),_SPACE_,$(abspath $(lastword $(MAKEFILE_LIST))))
@@ -41,6 +43,7 @@ endif
TOP_DIR = $(tmk_root)
TMK_DIR = tmk_core
TMK_PATH = $(TOP_DIR)/$(TMK_DIR)
+LIB_PATH = $(TOP_DIR)/lib
QUANTUM_DIR = quantum
QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
@@ -126,6 +129,13 @@ ifdef SUBPROJECT
else
TARGET ?= $(KEYBOARD)_$(KEYMAP)
endif
+BUILD_DIR = .build
+
+# Object files directory
+# To put object files in current directory, use a dot (.), do NOT make
+# this an empty or blank macro!
+OBJDIR = $(BUILD_DIR)/obj_$(TARGET)
+
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
@@ -143,7 +153,7 @@ endif
SRC += $(KEYBOARD_FILE) \
$(KEYMAP_FILE) \
$(QUANTUM_DIR)/quantum.c \
- $(QUANTUM_DIR)/keymap.c \
+ $(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c \
$(QUANTUM_DIR)/process_keycode/process_leader.c
@@ -208,8 +218,25 @@ VPATH += $(QUANTUM_PATH)/keymap_extras
VPATH += $(QUANTUM_PATH)/audio
VPATH += $(QUANTUM_PATH)/process_keycode
-include $(TMK_PATH)/protocol/lufa.mk
+
+# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA
+ifdef MCU_FAMILY
+ PLATFORM=CHIBIOS
+else
+ PLATFORM=AVR
+endif
+
include $(TMK_PATH)/common.mk
+ifeq ($(PLATFORM),AVR)
+ include $(TMK_PATH)/protocol/lufa.mk
+ include $(TMK_PATH)/avr.mk
+else ifeq ($(PLATFORM),CHIBIOS)
+ include $(TMK_PATH)/protocol/chibios.mk
+ include $(TMK_PATH)/chibios.mk
+else
+ $(error Unknown platform)
+endif
+
include $(TMK_PATH)/rules.mk
GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
diff --git a/Vagrantfile b/Vagrantfile
index 42b4377510..8cadeaddfc 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -78,7 +78,7 @@ Vagrant.configure(2) do |config|
# add a # before ,args: and run 'vagrant up' to get a working
# non-updated box and then attempt to troubleshoot or open a Github issue
- config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update"
+ config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update"
config.vm.post_up_message = <<-EOT
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
@@ -91,7 +91,7 @@ Vagrant.configure(2) do |config|
Or you can copy and paste the example line below.
- cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
+ cd /vagrant; cd keyboards; cd ergodox_ez; make clean; make
EOT
diff --git a/doc/keycode.txt b/doc/keycode.txt
index 44d7e27cd6..c1134f9bf2 100644
--- a/doc/keycode.txt
+++ b/doc/keycode.txt
@@ -62,7 +62,7 @@ KC_NONUS_HASH KC_NUHS 32 Keyboard Non-US # and ~
KC_SCOLON KC_SCLN 33 Keyboard ; and :
KC_QUOTE KC_QUOT 34 Keyboard ‘ and “
KC_GRAVE KC_GRV 35 Keyboard Grave Accent and Tilde
-KC_COMMA KC_COMM 36 Keyboard, and <
+KC_COMMA KC_COMM 36 Keyboard , and <
KC_DOT 37 Keyboard . and >
KC_SLASH KC_SLSH 38 Keyboard / and ?
KC_CAPSLOCK KC_CAPS 39 Keyboard Caps Lock
@@ -92,7 +92,7 @@ KC_LEFT 50 Keyboard LeftArrow1
KC_DOWN 51 Keyboard DownArrow1
KC_UP 52 Keyboard UpArrow1
KC_NUMLOCK KC_NLCK 53 Keypad Num Lock and Clear11
-KC_KP_SLASH KC_PSLS 54 Keypad /1
+KC_KP_SLASH KC_PSLS 54 Keypad /
KC_KP_ASTERISK KC_PAST 55 Keypad *
KC_KP_MINUS KC_PMNS 56 Keypad -
KC_KP_PLUS KC_PPLS 57 Keypad +
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index 6a391ffb54..2bb56731b2 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER ErgoDox EZ
#define PRODUCT ErgoDox EZ
-#define DESCRIPTION t.m.k. keyboard firmware for Ergodox
+#define DESCRIPTION QMK keyboard firmware for Ergodox EZ
/* key matrix size */
#define MATRIX_ROWS 14
@@ -40,12 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define TAPPING_TOGGLE 1
-#define COLS (int []){ F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define ROWS (int []){ D0, D5, B5, B6 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
@@ -53,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_LEVELS 3
/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE