Commit Graph

66 Commits

Author SHA1 Message Date
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
Dave
f0772180cb Break out keymap definitions
- Separate the "asdf_keymaps.h" files into
-- "asdf_keymaps.h" which is not keymap dependent and contains keymap function
   prototypes
-- "asdf_keymap_defs.h" which contains the keymap definitions
-- Move definitions of number of rows and columns from asdf.h to keymaps_defs.h.
-- keymap_defs.h is copied from the keymaps directory depending on which keymap
   is specified in the Makefile.
-- Makefile fixes for the above changes
-- Fix includes in several files to reflect the above changes.
2019-12-24 21:54:35 -06:00
Dave
4923433c10 Fix '<' and '>'
Swapped '<' and '>' in ascii and ascii_swapped_o keymaps.
2019-12-24 11:19:10 -06:00
Dave
adcb32aada Swap "O" (Cap O) and "0" (zero) keys
The "0" and "O" keys were swapped on the PCB, requiring a keymap fix for the
ASCII adapter.  The swapped keys would not be an issue for a keyscanning ASCII
converter, but would preclude use in OSI systems, so this fix puts the keys
back in position compatible with OSI.
2019-12-24 09:27:53 -06:00