Archived
1
0
Commit Graph

75 Commits

Author SHA1 Message Date
Jacob Alexander
571c7ad35a Adding USB port swapping (when supported) to the bootloader
- Every 1000 ms, if no USB connection detected, swap to the other USB port
2015-12-12 15:05:07 -08: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
Jacob Alexander
705050b74e Updating pin_map for teensy3/3.1 2014-10-26 15:07:44 -07:00
Jacob Alexander
5782af5541 Fixing NKRO for Windows. 2014-10-01 00:16:14 -07: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
4102512579 Adding McHCK DFU Bootloader
- Heavily modified, not compatible with McHCK images
- Uses 4k of Flash (rather than 3k)
- LED turns on when in firmware flash mode
- Changed the USB IDs
- Added CMake build system
- Updated linker script to be closer to what is used for the rest of the projects
- Removed a lot of unnecessary code
- Added a license header to each file (using the same license as the McHCK had)
- Updated the USB Vendor, Product and Serial strings
- Using the Kiibohd initialization sequence rather than the McHCK one
- Using Kiibohd interrupt vector table and other misc mk20dx setup
2014-08-15 10:53:43 -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
d6345c307f Initial MatrixARM implementation
- Cleaned up Macro and USB callback naming
- Added security jumper for automated reload (MCHCK based only)
- Added additional LED position
2014-08-01 01:26:25 -07:00
Jacob Alexander
8eba0ae354 Adding McHCK flash reload function and some cleanup.
- Requires special string to be compared with the bootloader and VBAT register file
2014-07-19 09:21:35 -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