Commit Graph

369 Commits

Author SHA1 Message Date
David Fenyes
63e733c18d Moved spare LED from caps-lock to @ (OSI shift LOCK)
This allows the keymap to determine which LED is used, rather than requiring the
decision to be hardwired in at the time of assembly.  For the OSI keyboard, the
LED could be placed on the SHIFTLOCK key, at the far right LED, or in the
CAPSLOCK position, which is just to the left of the RETURN and not otherwise
populated in the OSI layout.
2020-03-04 20:24:06 -06:00
David Fenyes
0bd2fa0330 Move DIP switch to row 8 (9th row) 2020-02-28 21:02:30 -06:00
David Fenyes
eb28b7b59f update screen shot to 2.4 2020-02-28 03:38:46 -06:00
David Fenyes
9550331adf PCB cleanups
- swap numbering of row select protection diodes for cleaner PCB labeling
- clarify labeling on GPIO pins on the MCU
- bump rev to 2.4 to indicate work in progress. Release will be 2.5.
2020-02-28 03:31:48 -06:00
David Fenyes
96a4c4f806 Fix font size for alphanumerics to 0.187" instead of 0.150" 2020-02-28 03:30:21 -06:00
David Fenyes
92816e64e8 Update README for ASCII interface 2020-02-28 03:24:48 -06:00
David Fenyes
8247e4224e fix typo 2020-02-21 00:29:12 -06:00
David Fenyes
d0648019d6 Add the Apple 2 keymaps. 2020-02-21 00:28:36 -06:00
David Fenyes
a598eaaee1 Add support for LEDs
- asdf_modifier.c: refactor CAPS LOCK setting and add LED setting
- asdf_arch_atmega328p.[ch]: add in LED definitions and functions
- add dummy asdf_arch_caps_led() function to arch files so test can compile.
2020-02-20 16:48:17 -06:00
David Fenyes
919a422d57 ASCII Keymap fixes
Updated keymap definitions to fit current keyboard matrix PCB rev (1.3).
2020-02-20 01:54:31 -06:00
David Fenyes
e53ca053c9 add ASCII NULL
- add ASCII_NULL to ascii table
- attach ASCII_NULL to ctrl-@
2020-02-20 01:25:21 -06:00
David Fenyes
b8cf2a339a formatting fix 2020-02-20 01:18:37 -06:00
David Fenyes
adc9f92b75 Update firmware README to mention multiple keymap support. 2020-02-20 01:15:24 -06:00
David Fenyes
6e462589cc Arch file support for 4-bit row address. 2020-02-19 23:32:14 -06:00
David Fenyes
a2a6be49a4 Add tests for multiple keymap support. 2020-02-19 23:31:17 -06:00
David Fenyes
16dc913f74 Added functions to change keymaps
- asdf_keymaps_select_keymap() function to select a keymap
- asdf_keymaps_select_n_{set|clear} functions to set a bit in keymap number,
  to support dip switches.
2020-02-19 23:28:14 -06:00
David Fenyes
97cda49e31 Modifications for multiple keymap support.
- Added C preprocessor macros to determine largest key matrix, so enough space
  may be allocated

- Cleaned up keymap definition macros for readability

- Created master keymap file to aggregate individual keymaps

- Modified make files to copy the specified master keymap
  to asdf_keymap_defs.h during build.

- Added template keymap file.
2020-02-19 23:22:23 -06:00
David Fenyes
c30deb3442 OUT3 is /RESET on Apple1 and Apple2 connectors.
OUT3 is RESET on both Apple 1 and Apple 2 connectors
Fix comment on the OUT1, OUT2, and OUT3 functions.
2020-02-16 12:55:53 -06:00
David Fenyes
cde8c54e6d removed extraneous hole outside keyboard outline. 2020-02-16 12:53:08 -06:00
David Fenyes
c4b26cbe86 Update rev to 1.4
pcb: ajust cutout to account for 1.5u wide LEFT SHIFT
schematic: minor text format cleanup
2020-01-31 23:22:21 -06:00
David Fenyes
5ba0c228aa Update the spacing comment to include spacing for keyboard cutout 2020-01-31 14:35:28 -06:00
David Fenyes
5a7ccc1c38 Adjustments to keyboard cutout outline on B.Fab layer. 2020-01-31 14:31:05 -06:00
David Fenyes
f5c8803586 Fixed details of keycap sets
- SOL-20: Specify SA profile, row 3
- classic: Specify SA profile, row 3 (incorrectly specified DSA)
- classic: add 8u spacebar.  whoops.
2020-01-30 16:59:23 -06:00
David Fenyes
ef068a1ae5 fix typo 2020-01-29 09:10:48 -06:00
David Fenyes
7839af3eba Add README.md file 2020-01-29 09:09:38 -06:00
David Fenyes
76098140ef Moved connector to top of board
Reduces required extra space at bottom of board.  Needed to fit in case.
2020-01-29 08:57:20 -06:00
David Fenyes
203ff558c0 Initial rev of SOL-20 keyboard PCB 2020-01-28 20:24:35 -06:00
David Fenyes
b8e08ff7c9 add SOL-20 and classic keycap details 2020-01-28 15:16:40 -06:00
David Fenyes
821ef250ca Add SOL-20 connector 2020-01-28 15:04:01 -06:00
David Fenyes
5bd775d010 Aditional outline fix for Apple II 2020-01-28 14:57:04 -06:00
David Fenyes
a2bf0d93a0 Fix wrong apple-II mount dimensions
- pulled in the right border and mounting holes for Apple-II mounting dimensions
- modified the "~^" key courtyard to allow closer positioning of the upper right
  Apple II Mounting hole.  (The ~^ key is not installed in an Apple II keyboard)
- Moved tracks and diodes as needed to keep everything in the new outline.
2020-01-28 14:50:23 -06:00
David Fenyes
a03a207a09 Keyboard layout updates
- Add extra key to the left side of row 4 to permit "inverted T" for those who
  want it.

- Tiny shifts of several keys to correct key distances

- Include mounting holes with daughter board connector, to ensure consistency.
2020-01-20 07:22:13 -06:00
David Fenyes
8cb1f9cf5b Trace fixes
- removed extraneous unconnected traces
- straightened an off-angle trace that was violating clearance.
2020-01-04 04:35:09 -06:00
David Fenyes
b7c77ddebc Apply clang-format to source files. 2020-01-03 23:25:55 -06:00
David Fenyes
420cafc371 Merge branch 'master' of https://github.com/osiweb/unified_retro_keyboard 2020-01-03 11:02:08 -06:00
David Fenyes
72e4f3d362 Move DIP switch to row 15
So keyboards with more than 8 rows can have keys on contiguous row numbers.
2020-01-03 11:01:11 -06:00
dfnr2
9102f87635 Update README.md 2020-01-03 08:41:48 -06:00
dfnr2
07247c0202 Update README.md 2020-01-02 22:20:41 -06:00
David Fenyes
d6d1b60ff9 Merge branch 'master' of https://github.com/osiweb/unified_retro_keyboard 2020-01-02 22:16:08 -06:00
David Fenyes
2cdabd6d4c updated rendering 2020-01-02 22:15:48 -06:00
David Fenyes
dff3830307 ASCII interface update
- Fix wrong direction DIP switch diodes
- Add buffers to permit ISP lines to also be used as output and LED drivers
- Allow 3 keyboard LEDs and 3 host outputs (RESET, CLEAR, BREAK, LOCAL, etc.).
- Outputs 1 and 3 are general purpose (can be open drain or driven).  Output 2
  is open collector (with optional on-board pullup).
2020-01-02 22:13:36 -06:00
dfnr2
865940518b Update README.md 2020-01-02 21:43:20 -06:00
David Fenyes
4621770c31 README.md update to add assembly image 2020-01-02 21:38:20 -06:00
dfnr2
399813c0c7 Create README.md 2020-01-02 21:31:40 -06:00
Dave
b6418f578e OSI mounting holes
Add library modules for OSI mounting holes on PCB, and holes in the aligner for
spacers to pass through.
2020-01-02 10:13:37 -06:00
Dave
594e3d7d8b Finalize layout and mounting
- Add apple 2 mounting slots (and stretch PCB to accommodate slots
- Add pass-through holes in aligners for OSI keyboard spacers
- Move 'ESC' key next to '1' key
- Add TAB key next to Q key
- remove 'here is' and finalize "helper" keys along left side of keyboard
- move legends off of PCB traces
- update to release 1.3
2020-01-02 10:08:11 -06:00
Dave
6b201ac997 Add missing asdf_keymaps.h file 2019-12-29 09:24:11 -06:00
Dave
3c34734a46 I/O cleanup and SYS_RESET fix
- Break out initialization of SYS_RESET, CLEAR, STROBE, and CAPS LED into
  separate functions.

- Emulate open collector output for SYS_RESET: OFF=input with weak pullup.
  ON=output low.

- Add function to cap CAPS LED.
2019-12-28 10:22:00 -06:00
Dave
8aeab966d4 Keyboard interface cleanups for ASCII controller
Fixed lines for POWER LED and button, SHIFT Lock, Rubout, and CAPS LED.
2019-12-27 13:03:46 -06:00
Dave
088af21650 modifier cleanups
- add caps key function, similar to shift.  This is intended for a DIP switch
  setting to switch the keyboard between all CAPS and upper/lower modes.
- clean up the modifier state enums to include all legal values
- clean up the modifier index value calculation to improve readability.
2019-12-24 22:27:24 -06:00