Archived
1
0
Commit Graph

58 Commits

Author SHA1 Message Date
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
358d480ea9 Major USB update, fixes most (if not all) known issues
USB - General
- Refactored descriptors
- Enabled/Disable USB endpoints
- Added debug flags for special features
- Code cleanup
- Interface count calculation based off of enabled endpoints
- Delayed wTotalLength calculation to simplify descriptor offsets
- Re-ordered endpoints and interfaces
- Added more debug output
- Added usbInitTime to show how long keyboard initialization took
  (Useful when debugging bad init sequences)
- Added function for usb_resume() which takes care of the resume sequence
  * Resume is now only called if packets are starting to timeout

USB - Special Options
- Added enableDeviceRestartOnUSBTimeout
  * A last resort hammer for bad USB Chipsets/OSs, don't use if you can help it
  * Disabled
- Added enableUSBResume
  * Enables host resume wake-up signalling, required to wake a computer from sleep
  * Enabled
- Added enableUSBLowPowerNegotiation
  * Enables power negotiation hack
  * Required to use firmware with an IPad and other hard-limit low-power USB hosts
  * Hasn't been tested with the recent changes
  * Disabled
- Added enableUSBSuspend
  * Enables power down events on host USB bus suspend
  * Enabled

USB - Keyboard
- Attempted to cleanup HID SET_REPORT
  * Works much better
  * Still has an issue under Linux which generates *a lot* of NAKs (initializes quickly regardless)
    + Not present on other keyboards
    + SETUP -> OUT -> IN : This sequence is the problem
    + Specifically during the OUT phase
- Enabled

USB - CDC Virtual Serial Port
- Code cleanup
- Added convenience struct USBCDCLineCoding for easier debugging
- Attempted to cleanup CDC_SET_LING_CODING
  * Works much better
  * Still has an issue under Linux which generates *a lot* of NAKs (initializes quickly regardless)
    + SETUP -> OUT -> IN : This sequence is the problem
    + Specifically during the OUT phase
    + Likely the same issues as HID SET_REPORT
- Enabled

USB - Mouse
- Enabled

USB - Joystick
- Disabled

USB - RawIO
- Initial code, API not used yet
- Disabled

DFU
- Updated load script, now faster
2016-05-31 00:40:10 -07:00
Eric Mertens
ccf4f34e92 Write whole debug cli command to history
Previously the command was being modified in place in order
to find the command name. This was happening before saving
to the history.

Fixes #70
2015-10-26 18:03:56 -07:00
Jacob Alexander
59d425ccfe Adding jump to bootloader key
- Now enabled by default
- Added protection around remote jumps
2015-10-11 22:07:11 -07:00
Jacob Alexander
a824a0fe52 Add Unique Id to version information 2015-08-05 10:18:35 -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
e41444304b Some initial bringup of the dfu bootloader on the mk20dx256vlh7 2015-06-14 14:33:39 -07:00
Matt Ventura
63ed7516b4 Avoid putting blank entries in history, allow linefeed for enter 2015-06-04 17:42:58 -07:00
Jacob Alexander
1db716ce53 Code cleanup from cli changes. 2015-04-07 22:11:04 -07:00
Rowan Decker
add8b3e90c Cleanup CLI history
Add all the spaces :)
2015-04-02 23:53:19 -07:00
Rowan Decker
ad9a081e8b Add CLI History
Use the arrow keys to navigate between the last N commands, similar to
most shells.
2015-04-02 00:19:09 -07:00
Rowan Decker
a3d854fde3 Add Clear CLI function
Sometimes it would be nice to clear the screen if it has a lot of
information (ex: when in debug information). Some terminals support ^L
to clear screen, but not all (iTerm2 on my mac does not), so I think
this is worthwhile to add.

Edit: Forgot cli.h
2015-04-01 23:42:38 -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
bf3b06aa22 Adding list of modified files to the cli version command. 2015-02-28 23:50:13 -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
6e4c28ef84 HUGE AVR RAM optimization (~28%).
- It's possible to get even more, but this is probably as far as I'll go
- PROGMEM is really annoying to use, and makes the code look like ass
- Now the Teensy 2++ should have enough RAM to use PartialMap easily
2014-10-02 22:09:34 -07:00
Jacob Alexander
d6d792fdf9 Changing decToInt to numToInt (adds support for Hex number interpreter)
- CLI now works with hex or decimal numbers
- Hex requires 0x (technically just x would work too)
2014-08-16 12:07:25 -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
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
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
dc22fa757a Removing aliased_bitband.h
- It's useless :P
- Only one line of code ever used it.
2014-04-12 21:09:35 -07:00
Jacob Alexander
50d1f8c7e6 Updating Cygwin build environment for AVR and ARM. 2014-04-09 20:06:19 -07:00
Jacob Alexander
97308d3749 Added CLI DefaultMap lookup command.
- Initial work on capSelect command
- Toggling for macroDebug (only basic functionality right now)
- Cleanup
2014-04-06 13:12:31 -07:00
Jacob Alexander
9d423a64a8 Major code cleanup and preparation for PartialMap Macro Module
- Code should be working, but much is untested
- All of the old modules will need to update and use the new DefaultMap keymap
- There might still be some naming conflicts with some Scan Modules
2014-04-06 11:49:27 -07:00
Jacob Alexander
15ec4ff71c Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
- Includes serial putchar and getchar cleanup (overall)
- Moved avr-capsense to DPH (renaming)
- Basic cleanup for including CLI on the avr architecture
2014-03-31 01:07:48 -07:00
Jacob Alexander
ae738374ba Force curve gauge is feature complete!!
- Fixed no argument default (would skip the null in some cli commands)
- Added free running force/distance measure
- Most of the help information
- Zeroing force and distance
- Start/End marker setting
2014-03-22 14:15:14 -07:00
Jacob Alexander
35ae82fff7 Adding iGaging support for reading values as mm, um and nm.
- Conversion factor "should" be ok, will require proper verification
2014-03-22 14:14:23 -07:00
Jacob Alexander
8263589e7e Finished USB for Teensy 3.1 (Now 3.1 compatible!) 2014-03-22 14:14:23 -07:00
Jacob Alexander
cd59498972 Initial work for iGaging distance gauge. 2014-03-22 14:14:22 -07:00
Jacob Alexander
f55ec0de1a Adding basic Tab completion. 2014-03-22 14:13:45 -07:00
Jacob Alexander
4730ba9a57 Adding blue prompt. 2014-03-22 14:13:45 -07:00
Jacob Alexander
d72bf79a26 Adding dictionary titles. 2014-03-22 14:13:44 -07:00
Jacob Alexander
9de815f8a7 Initial Force Gauge CLI commands. 2014-03-22 14:13:05 -07:00
Jacob Alexander
38847b7841 Added more CLI commands.
- Hex debug for debugging VT100 control characters from the keyboard
- Renamed reset to restart (software reset)
- Added reset command (same as bash reset, which resets the VT100 variables)
- Cleaned up the version module field
2014-03-22 14:11:50 -07:00
Jacob Alexander
6ac1482862 Added more CLI commands.
- reset   -> Simulates power cycle (Not yet compatible with AVR)
- reload  -> Sets the device into firmware reload mode
- led     -> Toggles the error LED
- version -> Displays detailed version information (additions to CMake files was necessary, might have broken Windows builds...)
2014-03-22 14:11:49 -07:00
Jacob Alexander
267b99dedb Added help command and function'ized the arugmentIsolator. 2014-03-22 14:10:52 -07:00
Jacob Alexander
30c45e948f Fixing CLI command processing bug.
- Issue with the first space delimiter before the args
2014-03-22 14:10:52 -07:00
Jacob Alexander
7230e061d7 Adding basic CLI functionality.
- Supports multiple custom command dictionaries
- Basic handling of control characters
- Initial dictionary for integrated commands
2014-03-22 14:10:51 -07:00
Jacob Alexander
85dd7f5c52 More renaming for the USB to Output Module renaming 2014-03-22 14:09:50 -07:00
Jacob Alexander
59f13f8f4f Moving USB to Output in preparation for additional Output types.
* Initial cli code
2014-03-22 14:09:01 -07:00
Jacob Alexander
3d98028679 Removed a keyscan layer and added more debug information
- Added a print macro for colourful convenience
- Removed the usb_keymap variable as it is no longer needed
- Changed usb_dirty to keymap_change (more accurate description)
- Removed the dumpkeys function and now detect key changes much sooner as well as displaying error messages more often
- Added a warming up information message and removed its error status (as it's not an error)
2013-11-17 19:17:54 -05:00
Jacob Alexander
4ce6d34cd8 Adapting the avr-capsense code to the Kiibohd Controller API
- Adding "template" keymap
- Removed "stray" functions, variables
- Cleaned up warnings
- Now builds
- Added buffered macro integration (rather than dealing with USB directly)
- Updated the print messages to use the Kiibohd print header

TODO
- Add generic matrix integration (this will require some changes to the matrix code)
- Add more comments...lots more
- Clean up dead code
2013-11-16 19:37:16 -05:00
Jacob Alexander
e2197f6b78 Adding additional convenience functions to print.
- Directly printing numbers rather than having to convert them into strings first
2013-11-16 19:37:16 -05:00
Jacob Alexander
fc7998d605 Adding module compatibility check to CMake build scripts.
- All modules have a default avr compatibilty right now (since that is what they were developed on)
- As modules get tested and added, arm support has to be turned on in the respective setup.cmake file
2013-01-30 18:13:49 -05:00