From 22a24e967b29cb729b6c3438e9b6521e797d9c13 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Thu, 18 Aug 2016 22:49:51 -0700 Subject: [PATCH 1/9] Force 6KRO/Boot mode always if defined by KLL - usbProtocol = 0; --- Output/pjrcUSB/arm/usb_dev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Output/pjrcUSB/arm/usb_dev.c b/Output/pjrcUSB/arm/usb_dev.c index 5de2b1c..d4272ef 100644 --- a/Output/pjrcUSB/arm/usb_dev.c +++ b/Output/pjrcUSB/arm/usb_dev.c @@ -653,6 +653,12 @@ static void usb_setup() print(NL); #endif USBKeys_Protocol = setup.wValue & 0xFF; // 0 - Boot Mode, 1 - NKRO Mode + + // Force Boot Mode if defined by KLL + if ( USBProtocol_define == 0 ) + { + USBKeys_Protocol = USBProtocol_define; + } goto send; case 0x03A1: /// HID GET_PROTOCOL From b7b7fd1ee724b8831bb9a870efa76a26a8d080a8 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Wed, 31 Aug 2016 02:41:55 +0000 Subject: [PATCH 2/9] Adding support for ancient git (1.7.1) found on CentOS 6.8 - Recently added the BCD_VERSION which uses git rev-list --count HEAD command - Unfortunately git 1.7.1 doesn't have this, so I've added a fallback to manually counting the commits using some CMake magic --- Lib/CMake/buildinfo.cmake | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Lib/CMake/buildinfo.cmake b/Lib/CMake/buildinfo.cmake index 3a115c2..7eee884 100644 --- a/Lib/CMake/buildinfo.cmake +++ b/Lib/CMake/buildinfo.cmake @@ -80,8 +80,28 @@ execute_process ( COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD OUTPUT_VARIABLE Git_Commit_Number ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE res_var ) +#| Older versions of git (e.g. 1.7.1) dont' like rev-list --count +#| If there's an error, try again with a less efficient version +if ( NOT "${res_var}" STREQUAL "0" ) + execute_process ( COMMAND ${GIT_EXECUTABLE} log --pretty=oneline + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE Git_Log_Lines + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE res_var + ) + + # Now we do some CMake wizardry to split lines in the variable so we have a list called contents + string ( REGEX REPLACE ";" "\\\\;" contents "${Git_Log_Lines}" ) + string ( REGEX REPLACE "\n" ";" contents "${contents}" ) + + # Now we just have to measure the length of the list + list ( LENGTH contents Git_Commit_Number ) +endif () + + #| Origin URL execute_process ( COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} From 03a2ca750c1b1ed5fb1f2d27a6bb297826582493 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Tue, 30 Aug 2016 20:03:21 -0700 Subject: [PATCH 3/9] Adding CMake requirement check for Python 3 - Should correctly handle 2 + 3 installations - Tested working on CentOS 6.8 and Arch --- Lib/CMake/kll.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Lib/CMake/kll.cmake b/Lib/CMake/kll.cmake index aae3d31..5846b27 100644 --- a/Lib/CMake/kll.cmake +++ b/Lib/CMake/kll.cmake @@ -14,6 +14,11 @@ if ( "${MacroModule}" STREQUAL "PartialMap" ) +### +# Python 3 is required for kll +# +find_package ( PythonInterp 3 REQUIRED ) + ### # KLL Installation (Make sure repo has been cloned) From 945d5747eb253faa82f653525fa5fb157d7408ce Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Tue, 30 Aug 2016 21:56:30 -0700 Subject: [PATCH 4/9] Adding CMake Python detection fix for Travis and macOS build - Fixing CMake to always force python3 binary (this should always work) - Adding macOS Travis build (clang and gcc) - Disabling all clang builds until macOS (lack of packages) and Linux (broken Travis repos) are fixed --- .travis.yml | 39 +++++++++++++++++++++++++++++++++++++++ Lib/CMake/kll.cmake | 3 ++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4281c03..5259a59 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ language: os: - linux + - osx compiler: - clang @@ -53,6 +54,34 @@ matrix: env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash - compiler: clang env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash + # xcode *and* brew don't support clang ARMCCompiler for arm-none-eabi, sigh useless Apple + # Disabling Linux clang builds until Travis has less crappy repos available + - compiler: clang + env: DIR=Keyboards SCRIPT=infinity.bash + - compiler: clang + env: DIR=Keyboards SCRIPT=infinity_led.bash + - compiler: clang + env: DIR=Keyboards SCRIPT=ergodox.bash + - compiler: clang + env: DIR=Keyboards SCRIPT=whitefox.bash + - compiler: clang + env: DIR=Keyboards/Testing SCRIPT=uartout.bash + - compiler: clang + env: DIR=Keyboards/Testing SCRIPT=usbmuxuart.bash + - compiler: clang + env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash + - compiler: clang + env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash + +# Package Setup +before_install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git python3 ctags dfu-util tree; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew tap Caskroom/cask; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install Caskroom/cask/gcc-arm-embedded; fi + # This may work, but we'd have to compile llvm... + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew tap homebrew/versions; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew install homebrew/versions/llvm38 --with-all-targets --with-asan --with-lld --HEAD; fi # System setup install: @@ -65,6 +94,16 @@ install: # Directory tree to validate kll.git - tree + # Compiler Version + - ${CC} --version + + # Python Version + - python --version + - python3 --version + + # CMake Version + - cmake --version + # Run test script(s) script: - (cd ${DIR} && COMPILER=${CC} ./${SCRIPT}) diff --git a/Lib/CMake/kll.cmake b/Lib/CMake/kll.cmake index 5846b27..bd481d0 100644 --- a/Lib/CMake/kll.cmake +++ b/Lib/CMake/kll.cmake @@ -1,6 +1,6 @@ ###| CMAKE Kiibohd Controller KLL Configurator |### # -# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller +# Written by Jacob Alexander in 2014-2016 for the Kiibohd Controller # # Released into the Public Domain # @@ -17,6 +17,7 @@ if ( "${MacroModule}" STREQUAL "PartialMap" ) ### # Python 3 is required for kll # +set ( PYTHON_EXECUTABLE python3 ) # Required on systems where python is 2, not 3 find_package ( PythonInterp 3 REQUIRED ) From 7169a9d58ce9962e75d23f9cd45e15ef51cdae24 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Wed, 31 Aug 2016 01:09:44 -0700 Subject: [PATCH 5/9] Adding Cygwin build using Appveyor - Uses 32 version of Cygwin (on a 64 bit machine) - Adding PYTHON_EXECUTABLE override variable for Cygwin builds * We have to use the system CMake instead of the Cygwin CMake which detects the wrong version of Python - Update Bootloader build infrastructure to attempt tests on Windows --- Bootloader/Builds/cmake.bash | 28 ++++++++++++----- Keyboards/cmake.bash | 9 +++--- Lib/CMake/kll.cmake | 12 ++++++-- README.markdown | 3 +- appveyor.yml | 59 ++++++++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 14 deletions(-) create mode 100644 appveyor.yml diff --git a/Bootloader/Builds/cmake.bash b/Bootloader/Builds/cmake.bash index c6f9869..6989823 100644 --- a/Bootloader/Builds/cmake.bash +++ b/Bootloader/Builds/cmake.bash @@ -84,21 +84,35 @@ done # Run CMake commands -## TODO Check for windows and do windows specific things ## mkdir -p "${BuildPath}" cd "${BuildPath}" -cmake -DCHIP="${Chip}" -DCOMPILER="${Compiler}" "${CMakeListsPath}" -return_code=$? + +# Cygwin +if [[ $(uname -s) == MINGW32_NT* ]] || [[ $(uname -s) == CYGWIN* ]]; then + if [[ -z "$wincmake_path" ]]; then + echo "Error wincmake_path environment variable has not been set, see -> https://github.com/kiibohd/controller/wiki/Windows-Setup" + exit 1 + fi + echo "Cygwin Build" + PATH="$wincmake_path":"${PATH}" cmake -DCHIP="${Chip}" -DCOMPILER="${Compiler}" "${CMakeListsPath}" -G 'Unix Makefiles' + +# Linux / Mac (and everything else) +else + cmake -DCHIP="${Chip}" -DCOMPILER="${Compiler}" "${CMakeListsPath}" + return_code=$? + +fi + if [ $return_code != 0 ] ; then - echo "Error in cmake. Exiting..." - exit $return_code + echo "Error in cmake. Exiting..." + exit $return_code fi make return_code=$? if [ $return_code != 0 ] ; then - echo "Error in make. Exiting..." - exit $return_code + echo "Error in make. Exiting..." + exit $return_code fi echo "Firmware has been compiled into: '${BuildPath}'" diff --git a/Keyboards/cmake.bash b/Keyboards/cmake.bash index b4ea5f1..16ae5c5 100644 --- a/Keyboards/cmake.bash +++ b/Keyboards/cmake.bash @@ -93,6 +93,7 @@ if [[ $(uname -s) == MINGW32_NT* ]] || [[ $(uname -s) == CYGWIN* ]]; then echo "Error wincmake_path environment variable has not been set, see -> https://github.com/kiibohd/controller/wiki/Windows-Setup" exit 1 fi + echo "Cygwin Build" PATH="$wincmake_path":"${PATH}" cmake -DCHIP="${Chip}" -DCOMPILER="${Compiler}" -DScanModule="${ScanModule}" -DMacroModule="${MacroModule}" -DOutputModule="${OutputModule}" -DDebugModule="${DebugModule}" -DBaseMap="${BaseMap}" -DDefaultMap="${DefaultMap}" -DPartialMaps="${PartialMapsExpanded}" "${CMakeListsPath}" -G 'Unix Makefiles' return_code=$? @@ -104,15 +105,15 @@ else fi if [ $return_code != 0 ] ; then - echo "Error in cmake. Exiting..." - exit $return_code + echo "Error in cmake. Exiting..." + exit $return_code fi make return_code=$? if [ $return_code != 0 ] ; then - echo "Error in make. Exiting..." - exit $return_code + echo "Error in make. Exiting..." + exit $return_code fi echo "Firmware has been compiled into: '${BuildPath}'" diff --git a/Lib/CMake/kll.cmake b/Lib/CMake/kll.cmake index bd481d0..534761b 100644 --- a/Lib/CMake/kll.cmake +++ b/Lib/CMake/kll.cmake @@ -16,9 +16,17 @@ if ( "${MacroModule}" STREQUAL "PartialMap" ) ### # Python 3 is required for kll +# Check disabled for Win32 as it can't detect version correctly (we don't use Python directly through CMake anyways) # -set ( PYTHON_EXECUTABLE python3 ) # Required on systems where python is 2, not 3 -find_package ( PythonInterp 3 REQUIRED ) + +if ( NOT WIN32 ) + # Required on systems where python is 2, not 3 + set ( PYTHON_EXECUTABLE + python3 + CACHE STRING "Python 3 Executable Path" + ) + find_package ( PythonInterp 3 REQUIRED ) +endif () ### diff --git a/README.markdown b/README.markdown index 8e6c5d6..aa39b05 100644 --- a/README.markdown +++ b/README.markdown @@ -7,7 +7,8 @@ The [KLL](https://github.com/kiibohd/kll) git repo is automatically cloned durin Please refer to the [KLL](https://github.com/kiibohd/kll) repo or [kiibohd.com](http://kiibohd.com) for details on the KLL (Keyboard Layout Language) Spec. -[![](https://travis-ci.org/kiibohd/controller.svg?branch=master)](https://travis-ci.org/kiibohd/controller) +[![Travis Status](https://travis-ci.org/kiibohd/controller.svg?branch=master)](https://travis-ci.org/kiibohd/controller) [![Appveyor Status](https://ci.appveyor.com/api/projects/status/erfnnhlm3w5sinr3/branch/master?svg=true)](https://ci.appveyor.com/project/haata/controller/branch/master) + [![Visit our IRC channel](https://kiwiirc.com/buttons/irc.freenode.net/input.club.png)](https://kiwiirc.com/client/irc.freenode.net/#input.club) diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..ce7efc0 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,59 @@ +# appveyor file for kiibohd/controller +# Used to test out the Cygwin builds + +platform: + - x64 + +environment: + global: + CYG_MIRROR: http://cygwin.uib.no + CYG_CACHE: C:/cygwin/var/cache/setup + CYG_ARCH: x86 + CYG_ROOT: C:/cygwin + WIN_CMAKE: "/cygdrive/c/Program Files (x86)/CMake/bin" + matrix: + # Input Club Keyboard Tests + - SCRIPT_DIR: Keyboards + SCRIPT: infinity.bash + - SCRIPT_DIR: Keyboards + SCRIPT: infinity_led.bash + - SCRIPT_DIR: Keyboards + SCRIPT: ergodox.bash + - SCRIPT_DIR: Keyboards + SCRIPT: whitefox.bash + + # Debug Build Tests + - SCRIPT_DIR: Keyboards/Testing + SCRIPT: uartout.bash + - SCRIPT_DIR: Keyboards/Testing + SCRIPT: usbmuxuart.bash + + # Bootloader Build Tests + - SCRIPT_DIR: Bootloader/Builds + SCRIPT: mk20dx128vlf5.bash + - SCRIPT_DIR: Bootloader/Builds + SCRIPT: mk20dx256vlh7.bash + +init: + - git config --global core.autocrlf input + +install: + - 'appveyor DownloadFile http://cygwin.com/setup-%CYG_ARCH%.exe -FileName setup.exe' + - 'setup.exe -qnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P git -P make -P python3 -P ctags -P tree -P p7zip' + - '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && which cmake"' + - 'appveyor DownloadFile https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q2-update/+download/gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip -FileName gcc-arm-none-eabi.zip' + - dir + - cmake --version + +build_script: + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && 7z x -o/ gcc-arm-none-eabi.zip"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && pwd"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && tree"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cmake --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && export PATH=\"${wincmake_path}\":$PATH && cmake --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && git --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && python3 --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && arm-none-eabi-gcc --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && COMPILER=gcc ./%SCRIPT%"' + From 133a98033e734dac99d8827db99acc75615aea0a Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Thu, 1 Sep 2016 09:57:40 -0700 Subject: [PATCH 6/9] Adding support for Appveyor cache - Speeds up builds considerably - Requires stripping out some contents of the gcc arm compiler --- appveyor.yml | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index ce7efc0..4e4e8b8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,20 @@ # appveyor file for kiibohd/controller # Used to test out the Cygwin builds +# System Build Architecture platform: - x64 + +# Dependency Cache +cache: + # Cache gcc arm compiler (it's pruned to be under 100 MB) + # Invalidate whenever this file is changed + - c:/gcc-arm-none-eabi.zip -> appveyor.yml + + +# Build Matrix + Environment Variables +# NOTE: Only building using 32-bit on a 64-bit system. 64-bit Cygwin should also work fine (no reason to test atm) environment: global: CYG_MIRROR: http://cygwin.uib.no @@ -11,6 +22,7 @@ environment: CYG_ARCH: x86 CYG_ROOT: C:/cygwin WIN_CMAKE: "/cygdrive/c/Program Files (x86)/CMake/bin" + ARM_COMPILER_URL: https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q2-update/+download/gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip matrix: # Input Club Keyboard Tests - SCRIPT_DIR: Keyboards @@ -34,20 +46,38 @@ environment: - SCRIPT_DIR: Bootloader/Builds SCRIPT: mk20dx256vlh7.bash + +# Commands run before cloning git repo init: - git config --global core.autocrlf input + +# Setup Build Instance install: - 'appveyor DownloadFile http://cygwin.com/setup-%CYG_ARCH%.exe -FileName setup.exe' - 'setup.exe -qnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P git -P make -P python3 -P ctags -P tree -P p7zip' - '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && which cmake"' - - 'appveyor DownloadFile https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q2-update/+download/gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip -FileName gcc-arm-none-eabi.zip' + - '%CYG_ROOT%/bin/bash -lc "ls -l /cygdrive/c"' + # Only download if cache is missing + - if not exist c:/gcc-arm-none-eabi.zip appveyor DownloadFile %ARM_COMPILER_URL% -FileName c:/gcc-arm-none-eabi.zip + # Always try to strip out the unnecessary binaries + # Necessary, so we can fit gcc-arm-none-eabi.zip into the dependency cache + # For ARM Cortex-M4 we only need armv7e-m (also supports Cortex-M7) + # https://en.wikipedia.org/wiki/ARM_architecture#Cores + - 7z d c:/gcc-arm-none-eabi.zip "armv6*" -r + - 7z d c:/gcc-arm-none-eabi.zip "armv7-m*" -r + - 7z d c:/gcc-arm-none-eabi.zip "armv7-ar*" -r + - 7z d c:/gcc-arm-none-eabi.zip "armv8*" -r + - 7z d c:/gcc-arm-none-eabi.zip "*.html" -r - dir - cmake --version + +# Build Commands build_script: - - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && 7z x -o/ gcc-arm-none-eabi.zip"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && du -sh /cygdrive/c/gcc-arm-none-eabi.zip"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && 7z x -o/ /cygdrive/c/gcc-arm-none-eabi.zip"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && pwd"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && tree"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cmake --version"' From 585485496a82e9647927dbb3924cc930949d8298 Mon Sep 17 00:00:00 2001 From: ntietz Date: Sun, 9 Oct 2016 20:15:50 -0400 Subject: [PATCH 7/9] Added logic to avoid layer shifts causing a layer to be stuck on. --- Macro/PartialMap/macro.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Macro/PartialMap/macro.c b/Macro/PartialMap/macro.c index 68eb42a..777010a 100644 --- a/Macro/PartialMap/macro.c +++ b/Macro/PartialMap/macro.c @@ -314,6 +314,14 @@ void Macro_layerShift_capability( uint8_t state, uint8_t stateType, uint8_t *arg // Cast pointer to uint8_t to uint16_t then access that memory location uint16_t layer = *(uint16_t*)(&args[0]); + // Only set the layer if it is disabled + if ( LayerState[ layer ] != 0x00 && state == 0x01 ) + return; + + // Only unset the layer if it is enabled + if ( LayerState[ layer ] == 0x00 && state == 0x03 ) + return; + Macro_layerState( state, stateType, layer, 0x01 ); } @@ -1356,4 +1364,3 @@ void cliFunc_macroStep( char* args ) // Set the macro step counter, negative int's are cast to uint macroStepCounter = count; } - From 5b5aef88ffae40e6ef900612cf6503e5f87394e4 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Mon, 10 Oct 2016 22:31:53 -0700 Subject: [PATCH 8/9] Updating travis.yml script - Excluding Cygwin and Win32 from Python check * Tends to fail miserably... - Added more appveyor build info --- .travis.yml | 2 +- Lib/CMake/kll.cmake | 2 +- appveyor.yml | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5259a59..99d1999 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,7 @@ matrix: # Package Setup before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git python3 ctags dfu-util tree; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3 ctags dfu-util tree; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew tap Caskroom/cask; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install Caskroom/cask/gcc-arm-embedded; fi # This may work, but we'd have to compile llvm... diff --git a/Lib/CMake/kll.cmake b/Lib/CMake/kll.cmake index 534761b..84e7f80 100644 --- a/Lib/CMake/kll.cmake +++ b/Lib/CMake/kll.cmake @@ -19,7 +19,7 @@ if ( "${MacroModule}" STREQUAL "PartialMap" ) # Check disabled for Win32 as it can't detect version correctly (we don't use Python directly through CMake anyways) # -if ( NOT WIN32 ) +if ( NOT CMAKE_HOST_WIN32 ) # Required on systems where python is 2, not 3 set ( PYTHON_EXECUTABLE python3 diff --git a/appveyor.yml b/appveyor.yml index 4e4e8b8..7e35452 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -80,7 +80,9 @@ build_script: - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && 7z x -o/ /cygdrive/c/gcc-arm-none-eabi.zip"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && pwd"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && tree"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && which cmake"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cmake --version"' + - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && export PATH=\"${wincmake_path}\":$PATH && which cmake"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && export PATH=\"${wincmake_path}\":$PATH && cmake --version"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && git --version"' - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && python3 --version"' From e2ad51012ccc7e7c3a2e0e1bd13f997b54096753 Mon Sep 17 00:00:00 2001 From: Mohammad El-Abid Date: Tue, 25 Oct 2016 22:25:07 -0700 Subject: [PATCH 9/9] Fix typo in Macro/basic/macro.c comment --- Macro/basic/macro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Macro/basic/macro.c b/Macro/basic/macro.c index 29c8090..631cf8e 100644 --- a/Macro/basic/macro.c +++ b/Macro/basic/macro.c @@ -173,7 +173,7 @@ inline void keyPressDetection( uint8_t *keys, uint8_t numberOfKeys, uint8_t *mod inline void process_macros(void) { - // Online process macros once (if some were found), until the next USB send + // Only process macros once (if some were found), until the next USB send if ( USBKeys_Sent != 0 ) return;