Archived
1
0
Commit Graph

87 Commits

Author SHA1 Message Date
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
2f03f34877 Adding DFU check to validate that we aren't trying to flash too far
- Add _app_rom_end address location that points to the end of flash
- Check when flashing each page whether the end of the page exceeds the end of the flash
2016-07-23 17:50:59 -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
20b62afb9a FIxing Media Keys and general USB compatibilty
- Media keys tested working on Linux/Windows/Mac (use Consumer control)
- Fixed enumeration delays
- Fixed virtual serial port configuration issues
- Fixed GET_REPORT and SET_REPORT
- Added intial descriptors and endpoints for Mouse and Joystick devices
- Split out the consumer and system control endpoint
- Added more fault debugging messages
- Added interface names to endpoints (visible in Windows Device Manager)
- Added KLL define for keyboard locale
2015-08-19 00:01:15 -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
216b151302 Fixing order of layer debug stack display
- Adding NL's for fault messages
2015-06-23 07:58:31 -07:00
Jacob Alexander
5f262ea4b6 Code cleanup
- Changing header file ifndef define to pragma once's
- Removed duplicate output_com.h's
2015-06-14 14:33:40 -07:00
Jacob Alexander
03f60df94d mk20dx256vlh7 working!
- Interrupt vector table position fix (affected everything in the firmware)
- Added fault debug messages
- Fixed usbMuxUart
2015-06-14 14:33:40 -07:00
Jacob Alexander
02b919a4cb Basic code for mk20dx256vlh7 flashing 2015-06-14 14:33:40 -07:00
Jacob Alexander
1acbc97e98 Adding initial dfu-upload code and debugging for Bootloader. 2015-06-14 14:33:39 -07:00
Jacob Alexander
26b0a7e10d Adding 72 MHz clock support for mk20dx256vlh7 2015-06-14 14:33:39 -07:00
Jacob Alexander
8942ab63d5 Initial STLcd code.
- Basic screen initialization and clear is working
- Currently SPI is set to a low speed for easy logic analyzer debugging
2015-06-14 14:33:39 -07:00
Jacob Alexander
e41444304b Some initial bringup of the dfu bootloader on the 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
863d853698 Fixing bugs in mk20dx256vlh7 Bootloader support. 2015-03-20 19:54:23 -07:00
Jacob Alexander
96e785b571 Merge branch 'master' of https://github.com/smasher816/controller into smasher816-master 2015-03-15 18:27:35 -07:00
Jacob Alexander
ed71f7fad5 Initial commit for UARTConnect module
* Keyboard interconnect using two uarts
* Supports daisy chain addressing using a master/slave direction communication scheme

- Still needs more testing
- Functions have been tested alone to be generally working
2015-03-15 16:58:01 -07:00
Rowan Decker
2922fce0f7 Merge remote-tracking branch 'upstream/master' 2015-03-08 20:17:39 -07:00
Rowan Decker
1392571bd7 Fix whitespace
Use a consistent standard - Tabs in front for indenting, spaces after for anything else. This way everything stays nice and lined up while also letting users change there prefered indent level. Most of the new files from Haata where already in this format.
2015-03-08 18:40:01 -07: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
b2539041ee More preparation for mk20dx256vlh7 2015-01-10 19:55:28 -08:00
Jacob Alexander
2c7542e2e7 Fixing device bricking bug
- When loading a garbage image onto the device, the chip hangs
  and refuses to jump to the bootloader and start dfu

Fix
- Check if chip was in locked state and jump to dfu
- Check if watchdog timer fired and jump to dfu
2015-01-10 19:53:46 -08:00
Jacob Alexander
8e54672121 Fixing warning messages found using clang. 2014-12-31 19:43:10 -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
4a1aeb8af8 Small typos 2014-11-30 19:36:19 -08:00
Jacob Alexander
15bb1a767f Adding KLL define support 2014-11-21 14:58:50 -08:00
Jacob Alexander
1da4903816 Adding FPROT flash protection bit for 4k Bootloader on the mk20dx128vlf5
- Minimum protection size is 4k on the mk20dx128vlf5
2014-11-05 00:12:31 -08:00