Skip to content

Commit

Permalink
Implements subprojects and updates projects for this (#459)
Browse files Browse the repository at this point in the history
* non-working commit

* working

* subprojects implemented for planck

* pass a subproject variable through to c

* consolidates clueboard revisions

* thanks for letting me know about conflicts..

* turn off audio for yang's

* corrects starting paths for subprojects

* messing around with travis

* semicolon

* travis script

* travis script

* script for travis

* correct directory (probably), amend files to commit

* remove origin before adding

* git pull, correct syntax

* git checkout

* git pull origin branch

* where are we?

* where are we?

* merging

* force things to happen

* adds commit message, adds add

* rebase, no commit message

* rebase branch

* idk!

* try just pull

* fetch - merge

* specify repo branch

* checkout

* goddammit

* merge? idk

* pls

* after all

* don't split up keyboards

* syntax

* adds quick for all-keyboards

* trying out new script

* script update

* lowercase

* all keyboards

* stop replacing compiled.hex automatically

* adds if statement

* skip automated build branches

* forces push to automated build branch

* throw an add in there

* upstream?

* adds AUTOGEN

* ignore all .hex files again

* testing out new repo

* global ident

* generate script, keyboard_keymap.hex

* skip generation for now, print pandoc info, submodule update

* try trusty

* and sudo

* try generate

* updates subprojects to keyboards

* no idea

* updates to keyboards

* cleans up clueboard stuff

* setup to use local readme

* updates cluepad, planck experimental

* remove extra led.c [ci skip]

* disable power up for now

* config files updates

* makefile updates

* .h file updates, config tuning

* disable audio for yang
  • Loading branch information
jackhumbert authored Jun 29, 2016
1 parent 755b17f commit 215c211
Show file tree
Hide file tree
Showing 44 changed files with 480 additions and 475 deletions.
50 changes: 16 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,21 @@
os:
- linux

language:
- c

compiler:
- avr-gcc

os: linux
dist: trusty
sudo: required

This comment has been minimized.

Copy link
@dsvensson

dsvensson Jul 1, 2016

Contributor

Why did you add sudo here? Is it to get the newer version of avr-gcc from trusty? Be aware that this will cause the build to be longer in queue, and overall it will run slower due to running in virtualization rather than container mode.

This comment has been minimized.

Copy link
@jackhumbert

jackhumbert via email Jul 1, 2016

Author Member
language: c
compiler: avr-gcc
branches:
except:
- /^.*-automated-build$/
env:
- KEYBOARD=alps64
- KEYBOARD=arrow_pad
- KEYBOARD=atomic
- KEYBOARD=atreus
- KEYBOARD=bantam44
- KEYBOARD=clueboard1
- KEYBOARD=clueboard2
- KEYBOARD=cluepad
- KEYBOARD=ergodox_ez
- KEYBOARD=gh60
- KEYBOARD=hhkb
- KEYBOARD=jd45
- KEYBOARD=kc60
- KEYBOARD=phantom
- KEYBOARD=planck
- KEYBOARD=preonic
- KEYBOARD=retro_refit
- KEYBOARD=satan
- KEYBOARD=sixkeyboard

global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
script:
- cd keyboards/$KEYBOARD && make all-keymaps

- make all-keyboards quick AUTOGEN=true
addons:
apt:
packages:
- avr-libc
- gcc-avr
- dfu-programmer
- avr-libc
- gcc-avr
- dfu-programmer
- pandoc
after_success: bash util/travis_compiled_push.sh
68 changes: 63 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,32 @@ abs_tmk_root := $(patsubst %/,%,$(dir $(mkfile_path)))
ifneq (,$(findstring /keyboards/,$(starting_makefile)))
possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(abs_tmk_root)/keyboards/%,%,$(starting_makefile))))
ifneq (,$(findstring /keymaps/,$(possible_keyboard)))
KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard)))
KEYMAP_DIR:=$(lastword $(subst /keymaps/, ,$(possible_keyboard)))
tmk_root = ../../../..
KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard)))
ifneq (,$(findstring /,$(KEYBOARD_DIR)))
# SUBPROJECT_DIR:=$(lastword $(subst /, ,$(KEYBOARD_DIR)))
# KEYBOARD_DIR:=$(firstword $(subst /, ,$(KEYBOARD_DIR)))
tmk_root = ../../..
else
tmk_root = ../../../..
endif
else
KEYBOARD_DIR:=$(possible_keyboard)
KEYMAP_DIR:=default
tmk_root = ../..
KEYBOARD_DIR:=$(possible_keyboard)
ifneq (,$(findstring /,$(KEYBOARD_DIR)))
# SUBPROJECT_DIR:=$(lastword $(subst /, ,$(KEYBOARD_DIR)))
# KEYBOARD_DIR:=$(firstword $(subst /, ,$(KEYBOARD_DIR)))
tmk_root = ../../..
else
tmk_root = ../..
endif
endif
else
tmk_root = .
endif
# $(info $(KEYBOARD_DIR))
# $(info $(KEYMAP_DIR))
# $(info $(SUBPROJECT_DIR))

# Directory common source filess exist
TOP_DIR = $(tmk_root)
Expand All @@ -32,6 +45,7 @@ TMK_PATH = $(TOP_DIR)/$(TMK_DIR)
QUANTUM_DIR = quantum
QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)


ifdef keyboard
KEYBOARD ?= $(keyboard)
endif
Expand All @@ -41,7 +55,16 @@ endif
ifndef KEYBOARD
KEYBOARD=planck
endif

# converts things to keyboards/subproject
ifneq (,$(findstring /,$(KEYBOARD)))
TEMP:=$(KEYBOARD)
KEYBOARD:=$(firstword $(subst /, ,$(TEMP)))
SUBPROJECT:=$(lastword $(subst /, ,$(TEMP)))
endif

KEYBOARD_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD)

ifneq ("$(wildcard $(KEYBOARD_PATH)/$(KEYBOARD).c)","")
KEYBOARD_FILE = keyboards/$(KEYBOARD)/$(KEYBOARD).c
ifndef ARCH
Expand All @@ -51,6 +74,28 @@ else
$(error "$(KEYBOARD_PATH)/$(KEYBOARD).c" does not exist)
endif

ifdef sub
SUBPROJECT=$(sub)
endif
ifdef subproject
SUBPROJECT=$(subproject)
endif

ifdef SUBPROJECT_DEFAULT
SUBPROJECT?=$(SUBPROJECT_DEFAULT)
endif

ifdef SUBPROJECT
SUBPROJECT_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD)/$(SUBPROJECT)
ifneq ("$(wildcard $(SUBPROJECT_PATH)/$(SUBPROJECT).c)","")
OPT_DEFS += -DSUBPROJECT_$(SUBPROJECT)
SUBPROJECT_FILE = keyboards/$(KEYBOARD)/$(SUBPROJECT)/$(SUBPROJECT).c
-include $(SUBPROJECT_PATH)/Makefile
else
$(error "$(SUBPROJECT_PATH)/$(SUBPROJECT).c" does not exist)
endif
endif

ifdef keymap
KEYMAP ?= $(keymap)
endif
Expand All @@ -68,7 +113,13 @@ else
$(error "$(KEYMAP_PATH)/keymap.c" does not exist)
endif

TARGET ?= $(KEYBOARD)_$(KEYMAP)
ifdef SUBPROJECT
TARGET ?= $(KEYBOARD)_$(SUBPROJECT)_$(KEYMAP)
else
TARGET ?= $(KEYBOARD)_$(KEYMAP)
endif



ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
CONFIG_H = $(KEYMAP_PATH)/config.h
Expand All @@ -83,6 +134,10 @@ SRC += $(KEYBOARD_FILE) \
$(QUANTUM_DIR)/keymap.c \
$(QUANTUM_DIR)/keycode_config.c

ifdef SUBPROJECT
SRC += $(SUBPROJECT_FILE)
endif

ifndef CUSTOM_MATRIX
SRC += $(QUANTUM_DIR)/matrix.c
endif
Expand All @@ -104,6 +159,9 @@ endif

# Search Path
VPATH += $(KEYMAP_PATH)
ifdef SUBPROJECT
VPATH += $(SUBPROJECT_PATH)
endif
VPATH += $(KEYBOARD_PATH)
VPATH += $(TOP_DIR)
VPATH += $(TMK_PATH)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

SUBPROJECT_DEFAULT = rev2

# MCU name
MCU = atmega32u4
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
#include "clueboard1.h"
#include "clueboard.h"

void led_init_ports() {
// * Set our LED pins as output
DDRB |= (1<<4);
}

void led_set_kb(uint8_t usb_led) {
DDRF |= (1<<0);
Expand Down
13 changes: 13 additions & 0 deletions keyboards/clueboard/clueboard.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef CLUEBOARD_H
#define CLUEBOARD_H

#ifdef SUBPROJECT_rev1
#include "rev1.h"
#endif
#ifdef SUBPROJECT_rev2
#include "rev2.h"
#endif

#include "quantum.h"

#endif
37 changes: 8 additions & 29 deletions keyboards/clueboard1/config.h → keyboards/clueboard/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

/* USB Device descriptor parameter */
#define VENDOR_ID 0xC1ED
#define PRODUCT_ID 0x2301
#define DEVICE_VER 0x0003
#define MANUFACTURER Clueboard
#define PRODUCT Clueboard
#define DESCRIPTION QMK keyboard firmware for Clueboard

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16

// ROWS: Top to bottom, COLS: Left to right
/* Column pin configuration
* col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
* pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1
*/
#define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 }
/* Row pin configuration
* row: 0 1 2 3 4
* pin: D1 D0 D2 D5 D3
*/
#define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

Expand All @@ -64,16 +45,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)

/* Underlight configuration
*/
#define ws2812_PORTREG PORTB
#define ws2812_DDRREG DDRB
#define ws2812_pin 2
#define RGBLED_NUM 14 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17

/*
* Feature disable options
* These options are also useful to firmware size reduction.
Expand All @@ -92,4 +63,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION


#ifdef SUBPROJECT_rev1
#include "rev1/config.h"
#endif
#ifdef SUBPROJECT_rev2
#include "rev2/config.h"
#endif

#endif
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "clueboard2.h"
#include "clueboard.h"

// Used for SHIFT_ESC
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
Expand Down Expand Up @@ -138,6 +138,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
rgblight_toggle();
}

break;
case RGBLED_INCREASE_HUE:
if (record->event.pressed) {
Expand Down
49 changes: 49 additions & 0 deletions keyboards/clueboard/keymaps/max/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#----------------------------------------------------------------------------
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF.
#
# make extcoff = Convert ELF to AVR Extended COFF.
#
# make program = Download the hex file to the device.
# Please customize your programmer settings(PROGRAM_CMD)
#
# make teensy = Download the hex file to the device, using teensy_loader_cli.
# (must have teensy_loader_cli installed).
#
# make dfu = Download the hex file to the device, using dfu-programmer (must
# have dfu-programmer installed).
#
# make flip = Download the hex file to the device, using Atmel FLIP (must
# have Atmel FLIP installed).
#
# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
# (must have dfu-programmer installed).
#
# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
# (must have Atmel FLIP installed).
#
# make debug = Start either simulavr or avarice as specified for debugging,
# with avr-gdb or avr-insight as the front end for debugging.
#
# make filename.s = Just compile filename.c into the assembler code only.
#
# make filename.i = Create a preprocessed source file for use in submitting
# bug reports to the GCC project.
#
# To rebuild project do "make clean" then "make all".
#----------------------------------------------------------------------------

# Build Options
# change to "no" to disable the options, or define them in the makefile.mk in
# the appropriate keymap folder that will get included automatically
#
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.

ifndef QUANTUM_DIR
include ../../../../Makefile
endif
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "clueboard2.h"
#include "clueboard.h"

// Used for SHIFT_ESC
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "clueboard2.h"
#include "clueboard.h"

// Used for SHIFT_ESC
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
Expand Down
5 changes: 5 additions & 0 deletions keyboards/clueboard/rev1/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
BACKLIGHT_ENABLE = no

ifndef QUANTUM_DIR
include ../../../Makefile
endif
37 changes: 37 additions & 0 deletions keyboards/clueboard/rev1/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#ifndef REV2_CONFIG_H
#define REV2_CONFIG_H

#include "../config.h"

#define PRODUCT_ID 0x2301
#define DEVICE_VER 0x0003

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16

// ROWS: Top to bottom, COLS: Left to right
/* Column pin configuration
* col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
* pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1
*/
#define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 }
/* Row pin configuration
* row: 0 1 2 3 4
* pin: D1 D0 D2 D5 D3
*/
#define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 }
#define UNUSED_PINS

/* Underlight configuration
*/
#define ws2812_PORTREG PORTB
#define ws2812_DDRREG DDRB
#define ws2812_pin 2
#define RGBLED_NUM 14 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17


#endif
1 change: 1 addition & 0 deletions keyboards/clueboard/rev1/rev1.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "rev1.h"
Loading

0 comments on commit 215c211

Please sign in to comment.