Archived
1
0
Commit Graph

166 Commits

Author SHA1 Message Date
Jacob Alexander
1accaf36cc Adding new kishsaver strobe map for new PCB revision 2014-01-12 11:39:25 -08:00
Jacob Alexander
909f20a937 Adding more USB codes and code cleanup 2014-01-12 11:27:10 -08:00
Jacob Alexander
61e45985c2 Added the averaged initial average as well as problem key rejection
- Any keys that exceed the high average are temporarily disabled
- If the sense value goes below the initial average sense, it is re-enabled
- Even works if *many* keys are pressed initially

- Still needs a bit of detection of consistent high keys that sometimes sneak below the threshold
  (May be able to have an elastic threshold that could deal with this)

- Removed dead code (and redundant calculations)
2013-12-01 23:07:38 -05:00
Jacob Alexander
dd1d3ad362 Increasing MAX_PRESS_DELTA_MV to measured min kishsaver value
- Enabling the test point strobe on the kishsaver really kills the sensing (many keys don't work, even at 400)
2013-12-01 17:13:42 -05:00
Jacob Alexander
2d5e6c4e12 Fixing the strobe count on the Kishsaver
- Should fix the last of the phantom keys
2013-12-01 14:52:54 -05:00
Jacob Alexander
6a4de5f356 Fixing more phantom keys on the kishsaver
- Not confirmed that this fixes all known phantom keypresses
2013-11-27 13:33:26 -05:00
Jacob Alexander
d5271befab Adding debounce and reorganized code
- Added debounce mechanism, currently looks for 5 consecutive scans
- Temporarily disabled the test point strobe on the kishsaver (spams debug messages, and not useful anymore; needs to be addressed before strobe detection is implemented though)
- Reorganized code to cleanup the main scan loop function
2013-11-19 03:18:44 -05:00
Jacob Alexander
c58e25d229 Adding initial Unsaver debug strobe map 2013-11-19 02:01:51 -05:00
Jacob Alexander
68f9de9ef5 Initial Terminal F strobe map
- Haven't fully verified all the strobes yet, but should be correct
2013-11-18 03:07:01 -05:00
Jacob Alexander
b32ab98cdf Adding strobe mapper and code cleanup
- Basic strobe mapper added (only kishsaver for now)
- Removed more (less obvious) dead code
- Moved keypress detection closer to detection
- Added more informative keypress debug messages
2013-11-18 02:46:48 -05: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
6b38cfbaee Correcting license (should have been lgpl) 2013-11-17 16:42:41 -05:00
Jacob Alexander
a8e35f5cf5 Cleaning up cap sense Alpha code
- Added LGPL headers to appropriate files
- Removed *LOTS* of dead code
- Started standardizing formatting (important stuff done)
2013-11-16 19:37:16 -05:00
Jacob Alexander
afc227d515 Cap sense now functional! Alpha begins :D 2013-11-16 19:37:16 -05:00
Jacob Alexander
a8d8da88e4 Another dfj code merge. 2013-11-16 19:37:16 -05:00
Jacob Alexander
a108dbbbc3 Debugging kishsaver.
- Hardcoded strobe lines (required to make the hardware less noisy)
- Updated debug code
2013-11-16 19:37:16 -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
Jo Makuch
99712e189e rsync'd over the changes 2013-11-16 19:37:16 -05:00
Jacob Alexander
473e3359f4 MBC-55x support virtually complete.
- I won't do any more, as I can't make the converter fully functional on a modern computer
- Basic typing support is working
- Some of the function modes move around the ASCII values, and this takes a while to decipher and figure out the pattern; it's not hard to do, and I don't really feel like doing it
- The hard part is already done :P
2013-02-01 16:49:32 -05:00
Jacob Alexander
d5c4a0a9fa UART0 on Teensy 3.0 now functional 2013-02-01 15:10:58 -05:00
Jacob Alexander
640c0f0686 Adding the MSBF register enable flag. 2013-02-01 12:17:52 -05:00
Jacob Alexander
4da44b8ff7 Adding initial ARM UART structure for UART0
- Transmit seems to be working
- Receive isn't working yet
- Inversion of the transmit signal doesn't seem to be working
2013-01-30 23:43:41 -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
Jacob Alexander
c8b4baf652 Adding initial Teensy 3 support, compiles, but not fully functional yet.
- CDC Output seems to be working
- USB Keyboard output has not been tested, but is "ready"
- UART and Timers have not been tested, or fully utilized
- Issues using Timer 0
- Initial template for MBC-55X Scan module (only module currently compatible with the arm build)
- Updated the interface to the AVR usb module for symmetry with the ARM usb module
- Much gutting was done to the Teensy 3 usb keyboard module, though not in an ideal state yet
2013-01-27 01:47:52 -05:00
Jacob Alexander
6da1558b78 Updating AVR abstraction to be compatible with ARM, nearly ready for ARM files
- Very small updates to files, mostly modifying to remove name duplications
2013-01-26 22:30:36 -05:00
Jacob Alexander
14158009b2 Preparing for Teensy 3 (ARM) integration, abstracting code hierarchy
- Abstracted USB Module
- Abstracted compiler specific includes for Scan, Macro, Debug, and USB modules
- Updated CMake build files to support changes
- Added abstractions necessary to main.c as well as a compiler specific include file
2013-01-26 15:05:28 -05:00
Jacob Alexander
105d49a65b Adding alternate Enter key to the layout
- Removed another key from the latch list to use as a normal key
2013-01-21 11:53:26 -05:00
Jacob Alexander
f674db7de3 Adding API changes introduced by the FACOM converter
- Shouldn't affect anything, and will allow for greater buffer clearing control
2013-01-20 22:36:05 -05:00
Jacob Alexander
65b4489884 Fixing slow key issues with the FACOM converter
- Required some small API changes, shouldn't affect any other Scan modules (addition of a parameter)
- Still have the latching annoyances for some of the modifiers
- Swapped Esc and Tilde for convenience
- Removed the old Esc key from the latch list (no one needs 13 latches anyways...)
- Added the control cluster mappings (Insert, Delete, Home, End, PgUp, PgDn)
- All other misc keys are currently un-assigned if a keycap legend doesn't map to anything known
  (e.g. blank keys, 000 and 00 are mapped, but your OS probably doesn't know what they mean :P)
2013-01-20 22:23:28 -05:00
Jacob Alexander
db01d733b7 Completed the FACOM 6684 converter...
Unfortunately, the protocol annoying, with only 3 keys having Press/Release signals.
Some of the keys were only meant to be pressed once, and do not have repeat functionality.

The current implementation is a bit slow, so some keys may get lost during USB sending.
This is probably fixable, not sure if I want to spend the time on it though.

There is a keyboard input protocol, but I'm not sure of what information can be transmitted to the keyboard.
The terminal does send some information back and forth between the keyboard, but I'm unclear of the purpose, as I can never get any response out of the keyboard.
2013-01-20 20:27:14 -05:00
Jacob Alexander
ccf1e1c7e5 Adding API update to the MicroSwitch8304 code.
- Should still work, but not tested
2013-01-14 21:51:02 -05:00
Jacob Alexander
6b3ba17f57 Commenting out Tandy1000 code to make compile.
- Code hasn't been compatible with the API for a long time
- It should be possible to use the hardware UART to simplify the code immensely
2013-01-14 21:48:21 -05:00
Jacob Alexander
6104eb3ed6 Commenting out lines, to get the code to compile.
- Not tested, almost guaranteed to not work
- Dual scan code was never completed (I need a project, and motivation :P)
2013-01-14 21:43:26 -05:00
Jacob Alexander
fff3212a10 Updating Kaypro1 code to use newer APIs 2013-01-14 21:40:38 -05:00
Jacob Alexander
94390571c4 Adding initial FACOM template, and buildall.bash regression script. 2013-01-14 21:31:50 -05:00
Jacob Alexander
fd6035e053 Adding more robust detection for the HP150
- All spare cycles are used to get a more accurate data line sample (waaaay more than actually needed, but this helps against noise)
- Switched to a pre/release (add/remove) rather than an add->clear mechanism (or a buffer+debounce/add->clear)
- Note that a pull-down resistor is NEEDED on the data line
2012-11-19 00:55:30 -08:00
Jacob Alexander
59e443552c Completing the HP150 converter. 2012-11-17 02:13:06 -08:00
Jacob Alexander
0c39927268 Adding initial HP150 and IBMConvertible scan modules.
- HP150 is not ready
- IBMConvertible is ready to start testing
2012-11-15 01:28:31 -08:00
Jacob Alexander
b8fddd61f5 Adding SKM67001 scan module.
- Uses the matrix module, which is now moderately working now for NKRO diode keyboards
2012-10-04 12:07:06 -07:00
Jacob Alexander
fa68d61792 Completing Sony OA-S3400 adapter.
- Fixed final bug regarding key release
- Added LED support calls
- Fixed minor keymapping bug for TAB
- Changed default keymap to Colemak
2012-05-07 13:00:29 -04:00
Jacob Alexander
65366a4e7a Adding initial version of Sony OA-S3400 converter.
- Not fully reading for usage, but 90% of the way there for typing.
- Some soldering is required for 2 keys to work properly (Shift and Shift Lock)
- Even when complete, be careful when doing multiple key combos, as the key buffer is only cleared when all general keys are released (all except Shift, Shift Lock, and Code)
2012-05-07 02:32:56 -04:00
Jacob Alexander
0ac4251e16 Adding test macros and basic "clicker" choose support
- Better macros are still needed for the clicker
- Current macros should be separated as a sub-module
- No LEDs implement yet
- Caps Lock LED seems to be burnt out...
2012-03-27 21:56:54 -04:00
Jacob Alexander
1877dcfa01 Completing the BETKB support
- Keyboard is fully functional
- LED, Beeper, and keyboard input not yet implemented
2012-03-27 00:04:43 -04:00
Jacob Alexander
9b1f7e486c Initial commit of the Burroughs Ergonomic Terminal Keyboard module (BETKB)
- Doesn't work yet
2012-03-26 19:02:46 -04:00
Jacob Alexander
fc1bf619b6 Small Univac update 2012-03-26 18:07:56 -04:00
Jacob Alexander
b1686ce7ad Adding inital outline for Univac-Sperry F3W9 keyboard.
- Not tested yet
- Packet size is large so it's not possible to use Teensy hardware
2012-03-03 21:16:41 -05:00
Jacob Alexander
e3fc873cba Final SonyNEWS commit before sending device back 2011-12-19 17:48:47 -08:00
Jacob Alexander
108b0d3e8e Cleaning up the BudKeypad module for the Buffered Macro Module
- Fixed key repeat rate issues
- Added the recent function additions to the scan module API
2011-12-18 19:02:56 -08:00
Jacob Alexander
2519ea00e7 Finishing up the Epson QX-10 module
- Typing and modifiers fully working
- Still some features left to implement
  * Stop input
  * Diagnostic test
  * Setting interval before starting repeat rate
  * More comments
  * Handling LED stats
2011-12-11 00:06:49 -08:00
Jacob Alexander
8f8de985c5 Initial commit of the Epson QX-10 Keyboard module
- LEDs are working
- Reset command is working
- Basic typing is working (USB side drops some characters)
- Changing repeat rate is working
- Querying modifiers and LEDs is working
- Initial layouts are complete
- Modifiers are not fully working yet
2011-12-10 22:48:53 -08:00
Jacob Alexander
6bf2607872 Small macro update for debugging the Sony NEWS 2011-12-06 23:49:56 -08:00
Jacob Alexander
ea2654b662 Intial commit of the SonyNEWS scan module
- Keyboard output fully working
- Not all of the features are implemented yet (input, speaker, or power
  detection)
- There is no plan for mouse support
2011-12-04 19:55:32 -08:00
Jacob Alexander
ac5f6c015d Pre Tandy1000 overhaul 2011-11-28 22:20:04 -08:00
Jacob Alexander
969b8c8bee Small Kaypro update 2011-11-13 02:09:04 -08:00
Jacob Alexander
0c562995c7 Adding support for the Micro Switch 8304 Hall Effect Keyboard
- Full support (NKRO, provided the USB module can handle it)
- Full LED support (available to the macro modules per input signals)
- Reset/Hold line support
- Handles repeat rate issues (keyboard does not send key updates as most
  keyboards do...)
2011-11-13 02:04:44 -08:00
Jacob Alexander
a017d2f270 Adding Kaypro1 functional support
- Uses USART instead of polling
- Supports two way communication (only 3 commands to the keyboard
  though)
- Kaypro sends data as ASCII, which severely limits the handling of
  modifiers
- No release signal is sent, so even faking modifiers is next to
  impossible outside of Shift and Ctrl
- Includes default QWERTY and Colemak layouts
- Developed a new buffer macro, which will become the basic macro module
  once all the other modules have been ported (much more efficient, as
  it keeps serial scanning schemes serial, and parallel scanning schemes
  such as matrix, that already serialized into a sort of buffer for the
  debouncing evaluation)
- This module is quite efficient, and would be able to handle very
  excessive macro processing in the future.
- If more of the keypboard communication protocol is desired, I have a
  rom dump of the microcontroller (M5L8049)
2011-11-03 00:09:10 -07:00
Jacob Alexander
266b59b851 Initial commit of the Kaypro1 scan module
- Does not output to usb yet
- USART is functionally getting characters from the keyboard and sending
  beep codes and ACK request code (Baud rate properly calculated)
- Uses hard-coded keys for the PC to Keyboard commands (not desireable)
- Keyboard sends ASCII data, which makes doing things like holding
  multiple keys almost impossible to detect (the board isn't NKRO
  anyways, though I've found 8+ key combos that work)
2011-11-01 00:02:10 -07:00
Jacob Alexander
e3042a3526 Making sub-modules of matrix for HeathZenith and BudKeypad
- Parent module no longer allows for a stand-alone compile
- Added HeathZenith matrix (pinout still needs to be done)
- Updated the HeathZenith keymaps
- Changed the original example matrix.h to matrix_template.h
2011-10-16 21:38:56 -07:00
Jacob Alexander
aa77d5d8a4 Adding the rest of the matrix scanning modes
- Not tested yet
- Added bug fixes for the scanCol and scanRow methods
- Merged in the powered versions of scanCol and scanRow
- Added the scanDual, but still needs heavy testing
- The scanDual uses twice the memory per key, so it can only scan half
  as much compared to the other scan modes
2011-10-16 20:08:37 -07:00
Jacob Alexander
ab9382acf3 Added TheProfosist's layout, and split up the current layouts
- Layouts should be changed as per defines in the Scan modules
- Which are then mapped using the macro module (if possible)
2011-10-16 01:18:08 -07:00
Jacob Alexander
6557022f20 Basic matrix module for the hall effect keypad now working.
- Includes new "table pinning" setup (much easier to understand)
- Matrix layouts will be split into their own dependent modules later
- Changed the HID Raw view id (too many teensy devices on this
  computer...)
- Moved the macro processing outside of the usb timer signal
  (this will be slower overall, but will result in more consistant
  behaviour)
2011-10-15 20:01:46 -07:00
Jacob Alexander
46916defa5 Tandy 1000 Converter, basicly works, except for packet mismatches
- Caused by too much processing in the converter...
- Easy to fix if I remove the macro engine...
2011-10-01 00:54:18 -07:00
Jacob Alexander
05c20112e9 Cleaning up main.c
- main.c is now mostly complete
- Required fixes to matrix.c (some are temporary)
2011-09-30 01:30:34 -07:00
Jacob Alexander
c01efa2d53 Formalizing code module structure and inheritance (Large Commit)
- Commenting cleaned up
- usb_keyboard_debug is not finished yet in terms of cleanup (needs DEBUB_PRINT #ifdef's)
- Added LoadFile script generation
- Formalized KeyIndex and USBKeys data containers
- Split parts of scan_loop into Macro, USB, and main.c
- Added interface to USB modules
- Added interface to Macro modules
- Added proper Debug module enable/disable
2011-09-29 22:22:19 -07:00
Jacob Alexander
a0439f627b Updating the build script to remove includes hack
- Providing HEAD_DIR variable that can be prepended to refer to the top of the source directory
2011-09-29 15:33:13 -07:00
Jacob Alexander
b4e1868d19 Reorganization for use with the CMake "Modules"
- Include option is currently "hacked" and needs to be fixed
- Builds on Linux, but Mac and Windows needs to be tested
- Loader script generation isn't complete
2011-09-28 23:25:51 -07:00