Archived
1
0
Commit Graph

46 Commits

Author SHA1 Message Date
Jacob Alexander
5b5aef88ff Updating travis.yml script
- Excluding Cygwin and Win32 from Python check
  * Tends to fail miserably...
- Added more appveyor build info
2016-10-10 22:50:52 -07:00
Jacob Alexander
7169a9d58c 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
2016-08-31 10:47:42 -07:00
Jacob Alexander
945d5747eb 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
2016-08-31 00:43:42 -07:00
Jacob Alexander
03a2ca750c Adding CMake requirement check for Python 3
- Should correctly handle 2 + 3 installations
- Tested working on CentOS 6.8 and Arch
2016-08-30 20:03:21 -07:00
Jacob Alexander
b7b7fd1ee7 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
2016-08-31 02:41:55 +00:00
Jacob Alexander
dcb3fb560f Small cleanup 2016-08-07 12:51:13 -07:00
Jacob Alexander
9cc29cbffc Fixing CMake 3.6 deprecation message
- CMake 3.6 finally adds proper cross-compiler detection
- When detected, use full compiler detection infrastructure
- Still maintains compatibility back to CMake 2.8 (at least for now)
- With new detection, selecting only the C compiler as it speeds up the CMake generaion process
- Added a GCC 4.9 minimum version requirement for Bootloader
2016-08-07 11:42:26 -07:00
Jacob Alexander
5162980791 Updating bcdDevice and iSerial fields in USB descriptors
- Use commit number as the basis for bcdDevice field (maximum is 2^16)
- Change iSerial from commit date to chip Unique ID
- Update both Firmware and Bootloader to use the same scheme (bcdDevice and iSerial)
- Cleanup of Bootloader code
- Split out build info CMake commands to a new file
2016-07-23 16:16:16 -07:00
Jacob Alexander
c71e67a29a Preparing controller repo for automated travis-ci
- Added clang (i.e. multi-compiler) support to convenience build scripts
- Updated README
- Added Bootloader build scripts for the two main versions currently used
- Added uartOut and usbMuxUart build scripts (these tend to suffer from build rot the most as they're only used in debugging)
- Attempt to get clang support for the Bootloader
  * clang is missing compiler extensions, so this may require a large re-write to get working
2016-07-17 17:27:05 -07:00
Jacob Alexander
a07ccdd608 Moving defaultMap.kll to scancode_map.kll (less confusing)
- Changing default name from defaultMap.kll to scancode_map.kll
- Old name of defaultMap.kll will still work (and is the final fallback)
- Updated all the main projects to use the new name
- Updated BETKB (not entirely finished, but mostly complete)
- Added sub-use of interconnect scancode cache for converters
- Added infinity_led.bash

No behaviour changes, just restructuring.
2016-07-06 09:03:23 -07:00
Jacob Alexander
5eb4ebf02e Disable command list when using configurator 2016-05-05 12:57:30 -07:00
Jacob Alexander
0102d05c86 Fixing clang compilation and supporting clang-tidy
- clang.c includes necessary functions to make clang compiler work (tested on teensy 3.1)
- Added support code to generate a compile_commands.json for clang-tidy
  * Updates the symlink whenever cmake or make is called (Unix OSs only)
2016-03-04 00:38:06 -08:00
Dan McGregor
0e6f107ea1 Start removing select Linux-isms
bash might not be in /bin. Don't expect it there.
2015-10-20 08:48:59 -06:00
Jacob Alexander
7e68e81f47 Adding basic remote capabilities + UART Rx DMA buffers
- Rx buffers weren't fast enough, had to use DMA :D
- Basic LCD remote capabilities are working, single node
- Multi-node broadcast seems to have a bug still
- DMA ring buffer allowed for significant processing simplification
  * There is an overrun risk, but the buffer is large and generally there isn't too much data being sent (just very quickly)
- Split out LCD layer stack capability into itself and an "exact" version used for updating remote nodes
2015-10-15 00:21:54 -07:00
Jacob Alexander
a8caf6e515 Working support for Interconnect
- Supports up to 255 slave nodes (you'll run into ScanCode limitations before then)
- Requires most recent kll compiler update
- Additional debugging output and stats counters
- Noise and parity checking
- Fixed TxFIFO issue when sending buffers larger than the FIFO
- Cleaned up defaultMap.kll
- Added ScanCode caching (reduces interconnect traffic significantly)
- Interconnect module code is conditionally compiled into PartialMap module if required
2015-08-15 21:53:59 -07:00
Jacob Alexander
1c0f94c4ea Adding preliminary MDErgo keymap
- Required updates to CMake in order to handle the multi-layer BaseMaps
2015-08-06 00:36:37 -07:00
Jacob Alexander
26b0a7e10d Adding 72 MHz clock support for mk20dx256vlh7 2015-06-14 14:33:39 -07:00
Jacob Alexander
bea1fbd88a Adding .kll file existence checks to CMake 2015-05-09 20:36:37 +00:00
Jacob Alexander
af4078ae9f Fixing kll depends bug in cmake. 2015-05-07 10:17:58 +00:00
Jacob Alexander
aeaaaaa468 Merge pull request #25 from smasher816/master
Set DFU bootloader name
2015-03-08 17:33:29 -07:00
Rowan Decker
ef8a8c5daa Set DFU bootloader name
Fixes #22

Each (dfu) interface may have more than one a ltsetting each with their own index and name. According to the DFU_1.1 pdf section 4.2.3, "* Alternate settings can be used by an application to access additional memory segments. In this case,
it is suggested that each alternate setting employ a string descriptor to indicate the target memory
segment; e.g., 'EEPROM'." Whether or not we end up using multiple memory segments it is still good to have a descriptive name incase there are other dfu devices connected.

Edit: Fixed previous indentation
2015-03-08 17:23:48 -07:00
Jacob Alexander
a959011faa Adding dfu-suffix signing support to build system
- If dfu-suffix is not found, a warning is given and the binary is not signed
- Unsigned binaries are still ok with the latest version of dfu-util
2015-03-02 01:58:53 -08:00
Jacob Alexander
bf3b06aa22 Adding list of modified files to the cli version command. 2015-02-28 23:50:13 -08:00
Jacob Alexander
a9c5898ba5 Adding configurable DebounceDivThreshold
Can be specified from any .kll file

DebounceDivThreshold = 0xFFFFFFFF
Sets to max debounce, default is 0xFFFF.
The 0xFFFFFFFF is about a 2x longer debounce
The max requires more ram (as it uses 32 bit variables instead of 16).

Added support for submodule capabilities files.
2015-02-28 22:13:17 -08:00
Jacob Alexander
d4300009ce Updating kll invocation arguments for readability.
- Removing old cli arguments
2015-02-21 23:23:18 -08:00
Jacob Alexander
a423cb90be Adding convenience build target for testing out kll compiler changes. 2015-02-16 13:27:42 -08:00
Jacob Alexander
7c4e31277c Disabling automatic refresh of kll repo unless specifically enabled
cmake -DREFRESH_KLL=1 ..
2015-02-09 12:14:45 -08:00
Jacob Alexander
1e9f55a0bf Updating setup.cmake files to use Module hierarchy implicitly
- Added AddModule CMake function which simplifies specifying module requirements
2015-01-25 17:55:28 -08:00
Jacob Alexander
621d8736e7 Adding experimental clang compiler support for arm-none-eabi
- Currently builds larger binaries than gcc (RAM)
2014-12-31 19:42:16 -08:00
Jacob Alexander
f5a1e1bcf5 Preparing for mk20dx256vlh7
- Not ready yet
- Will require some more changes to Lib/mk20dx.c
2014-12-31 17:13:44 -08:00
Jacob Alexander
e687c04387 Adding more CMake log information. 2014-12-31 13:42:00 -08:00
Jacob Alexander
15bb1a767f Adding KLL define support 2014-11-21 14:58:50 -08:00
Jacob Alexander
66a5031c4c Fixing Mac OSX arm build options.
- Bootloader doesn't build correctly on gcc 4.7.3 (LTO issues)
- Even disabling isn't good enough
- 4.9.1 is known to work on Arch Linux
2014-09-14 20:09:12 -07:00
Jacob Alexander
dd9c018378 Adding support to Macro support to DPH
- Added layout files for 50 key and kishsaver
- Not yet working (some USB issues on AVR to debug)
- Fixed an OSX issue when building AVR
- Cleanup
2014-09-14 19:27:22 -07:00
Jacob Alexander
3b06d8f6ae Adding convenience loader scripts for DFU based microcontrollers 2014-09-14 16:22:27 -07:00
Jacob Alexander
4be4a85930 Adding git refresh command to kll.cmake and kll file listing to build process 2014-09-14 16:03:10 -07:00
Jacob Alexander
e0a2a4806b Adding CMake build support for the KLL compiler
- Automatically downloads the kll compiler if not found
- Added capability files to each of the module that currently have them
- Split modules.cmake so kll.cmake could influence build targets (also needs info from modules.cmake)
- Updated .gitignore for kll compiler directory
- Added documentation on how to manipulate layouts using CMakeLists.txt
- Cleanup of old layout files
2014-09-14 15:51:36 -07:00
Jacob Alexander
eabb1c546a Fixing RAM calculator and reduced actual SRAM usage
- Changed static variables to const that should have been const
- Updated CMake files to prepare for MCHCK custom bootloader
- Changed the USB ID numbers and ID number for bootloader
- Only generate DFU or Teensy binary image, not both
- Fixed RAM and FLASH calculator
- Added missing license in delay.c/h (much of it was taken from Teensy source though I've changed a bunch of it)
- Prepared mk20dx.c for upcoming bootloader addition
- mk20dx.h cleanup
- Reduced the MCHCK based flash size for the application image (bootloader changes requires more flash space)
- Fixed bugs in macro.c
- Added keyHold cli command
- Added show pending events debug message for PartialMap macro module
2014-08-15 10:49:44 -07:00
Jacob Alexander
54c11ebd07 McHCK USB WORKS!!
- McHCK uses FLL instead of the PLL for USB (startup, not usb init)
- Added optional debug for the pjrc USB module
- Cleaned up compiler flags
2014-07-15 00:28:12 -07:00
Jacob Alexander
f9e1600b28 McHCK now working with UART.
- Lots of code cleanup for the intialization of all arm chips
- Added more gcc flags to help with debugging linker and memory map
- Fixed UART initialization for the smaller MCHCK mk20dx128 (different pin mux)
2014-06-30 23:52:24 -07:00
Jacob Alexander
99d4aaba84 More work on mk20dx128vlf5 port.
- Basic compilation and loading is working
- LED can be turned on/off
- USB not yet working
2014-06-28 13:55:25 -07:00
Jacob Alexander
acf8cb979c Initial work for McHCK mk20dx128vlf5 port. 2014-06-28 13:55:25 -07:00
Jacob Alexander
c203d23be5 Adding support for ctags generation during cmake generation.
- Added executable detection script
- Build will still work fine if ctags isn't installed
2014-06-28 13:48:49 -07:00
Jacob Alexander
5df7b55391 Adding compiler change detection.
- Tried to add auto cmake reset...so far unsuccessful
- Ported MBC-55X (was used to test compilers)
- Disabled in-source builds, to prevent CMake from shooting itself in the foot.
2014-04-19 01:51:25 -07:00
Jacob Alexander
c424923698 Adding chip usage display after build completion.
- Uses an internal database of microcontroller sizes
2014-04-19 00:10:28 -07:00
Jacob Alexander
38266ca2cc Reorganizing CMake build system.
- Only one file to edit now
- Compiler architecture automatically detected based off of chip target
2014-04-18 22:57:14 -07:00