Commit Graph

135 Commits

Author SHA1 Message Date
Dave
5fa0f80b4e Add OSI interface schematic
Provides a keyboard interface to interface with OSI computers.  Equivalent to an
OSI 542C.

- Includes sound circuits

- Includes RESET delay circuit

- SHIFT LOCK can be mechanical push-on/push-off or soft toggle, selectable by
jumper.

- Provide SHIFT LOCK LED output.
2020-04-21 14:30:59 -05:00
dfnr2
6edc2dc535 Update README.md 2020-04-18 00:21:56 -05:00
Dave
8db577580e Move DIP switch number label 2020-04-18 00:20:23 -05:00
Dave
5c1f5c0297 Update README for Atmega2560 ASCII interface 2020-04-16 17:14:31 -05:00
Dave
ac0d43b97e Add fixed PCB rendering 2020-04-16 17:13:11 -05:00
Dave
8fa9e27afa Remove problematic image 2020-04-16 17:10:52 -05:00
Dave
9cb368be32 Clean up connector labels on ATmel-2560 ASCII interface PCB 2020-04-16 17:02:28 -05:00
Dave
f946a699a0 Add 16-pin socket for custom interface/prototyping 2020-04-16 16:56:06 -05:00
Dave
8e3a9b87b4 Update README to include Sol keyboard 2020-04-16 13:53:17 -05:00
Dave
f2eead4db8 Updated README to reflect progress 2020-04-15 15:23:42 -05:00
Dave
427080a666 Clarified textbox comments 2020-04-15 15:23:04 -05:00
Dave
ae5aa3316d Fix Makefile typo 2020-04-15 10:59:26 -05:00
Dave
e294f0164e Add architecture-dependent files for ATMega2560, adjust Makefiles 2020-04-15 09:45:07 -05:00
Dave
192b626be3 More README cleanup 2020-04-14 00:53:27 -05:00
Dave
d08e65bef4 Change ATMega328P to ATMega2560 at top of README 2020-04-14 00:49:44 -05:00
Dave
35d3bfb11b README cleanups. 2020-04-14 00:49:06 -05:00
Dave
aaf6233723 Silk screen cleanups 2020-04-14 00:29:19 -05:00
Dave
1a9c84aac1 Add Atmega2560-based ASCII interface board 2020-04-13 20:54:56 -05:00
Dave
b135998254 On aligners, moved numpad 0.1825" to the right. 2020-04-13 15:08:55 -05:00
Dave
623a04c6c4 Changed resistor value from "R_US" to 470 2020-04-13 15:08:31 -05:00
Dave
fc4cb08d29 Clean ups
- Added comment clarifications

- Moved repeate_state_t definition from asdf_repeat.h to asdf_repeat.c, since
  this type is only used internally.
2020-04-09 15:47:27 -05:00
Dave
47bc7c586f More comment cleanups and clarifications.
Rename some variables to clarify use
2020-04-08 15:00:43 -05:00
Dave
644efa7122 Test cleanups 2020-04-08 14:23:13 -05:00
Dave
30cd305fe6 Fix and clarify comments, add COPYING file 2020-04-08 12:41:53 -05:00
Dave
b8fae61ba8 Added footprints for 2u key with cherry aligner
- footprints for PCB
- footprints for aligners
2020-04-08 02:05:17 -05:00
Dave
787e49e1d9 Cleanups, use cherry aligners with futaba keys, bump rev number 2020-04-08 02:03:50 -05:00
Dave
e784abe263 Moved mounting slots from keyboard PCB to aligners
- This allows the PCB to sink below the mounting brackets.  The aligner height can
be adjusted relative to the mounting brackets using spacers.

- changed futaba aligners to use cherry stabilizers.

- bumped rev number
2020-04-08 02:01:14 -05:00
Dave
89bfdd71a9 Move LED current limit resistors to keyboard PCB
For better matching of current limit resistors to LEDs, the resistors are moved
to the keyboard matrix PCB, where they can be tuned for maximum brightness (at
100% duty cycle).  This allows consistent keyboard brightness when a single
interface PCB is swapped between keyboard matrices.
2020-04-05 20:00:20 -05:00
Dave
4bf0e3eb33 Add series resistors to LEDs and stabilizer to 2u shift 2020-04-05 10:08:14 -05:00
dfnr2
2870130cb5 Swapped text in futaba "main" aligner 2020-03-22 22:08:34 -05:00
David Fenyes
b7f5f29f7b Put correct DIP switch row in sol keycap definitions for rev 2.3 interface 2020-03-21 14:47:54 -05:00
David Fenyes
e37da4e969 Reset modifier states when keymap is reset
- asdf.c: remove asdf_modifiers_init() from asdf_init().
- asdf_keymaps.c: add a call do asdf_modifiers_init()
  to asdf_keymaps_select_keymap()
2020-03-21 14:26:57 -05:00
David Fenyes
3cd9547d59 Added aligners for SOL keyboard
- options for complete aligner, and split main/numpad aligners
- adjusted aligner spacer mounting holes on PCB.
2020-03-21 12:13:07 -05:00
David Fenyes
869f7c2260 Deleted obsolete files 2020-03-21 12:10:49 -05:00
David Fenyes
0400c08f79 Rename Cherry MX footprint 2020-03-21 11:57:21 -05:00
David Fenyes
0ba921f2ce Added SOL-20 keymap
- Add Keymaps/asdf_keymap_defs_sol.h, and add the hooks in the master keymap

- asdf.h: Change start of ACTION codes to 0xA0, since SOL-20 uses codes from 0x80-0x9a

- asdf_ascii.h: Add named ASCII control codes to
2020-03-21 11:53:51 -05:00
David Fenyes
8f09246a4d Remove reference to special indicator functions (now virtual) 2020-03-20 14:43:18 -05:00
David Fenyes
b579d70181 remove temporary files 2020-03-18 16:19:43 -05:00
David Fenyes
c91939e6e9 Add silk screen information to cherry aligner. 2020-03-18 16:16:12 -05:00
David Fenyes
91ae8d0bfa Replace wrong cherry aligner file. 2020-03-18 16:12:05 -05:00
David Fenyes
e60c769824 Add Cherry and Futaba aligners and add text to PCB 2020-03-18 15:52:30 -05:00
David Fenyes
dae4b8d322 Replaced the Virtual out pulse function with long and short pulse
- Replace V_PULSE with V_PULSE_LONG and V_PULSE_SHORT functions.

- replace the asdf_arch_pulse_delay() with asdf_arch_pulse_delay_short() and
asdf_arch_pulse_delay_long() functions.

- modify keymaps to use long and short pulses.

- long pulse is 50 ms.  Short pulse is 10 us.

- Added localizing prefix to keymap definitions to avoid conflicts.
2020-03-17 01:42:51 -05:00
David Fenyes
58126667d9 Add a header-and-mounting-holes footprint with fewer mounting holes
The SOL-20 keyboard doesn't have space for mounting holes right next to the
matrix header, so the new footprint eliminates those mounting holes.
2020-03-16 13:36:19 -05:00
David Fenyes
d2d0c4c673 Add 3D model to Cherry MX footprint. 2020-03-16 13:35:41 -05:00
David Fenyes
6e21b96519 SOL keyboard adjustments
- Fixed position offset error in first three rows of the SOL keyboard

- moved key matrix interface connector to bottom of board so the parallel output
connector can be at the top of the keyboard.

- Adjusted size of mounting slots to accommodate #6 screws.

- ongoing clean up of traces.
2020-03-16 13:27:09 -05:00
David Fenyes
93349ed6e9 Add support for "hi-z when low" outputs
The apple 1 CLEAR input requires a high-impedance inactive state to avoid
conflict with the pin output of the 7404 at D12 (via CR4). So, to cover this
condition most generally, this patch changes the adds a Hi-Z when low physical
device for each output line, to complement the Hi-Z-when-high open collector
emulation. The nomenclature is changed from OUT*_OC (emulated open collector) to
OUT*_OPEN_HI and OUT*_OPEN_LO to indicate which condition gets the Hi-Z state.

- added the set() functions to the asdf_arch_atmega328p.[ch] files and applied
the above nomenclature.

- Added the set() functions to the asdf_physical.[ch] files and applied the
above nomenclature

- Modified the SCREEN_CLEAR device to PHYSICAL_OUT1_OPEN_LO in the apple2 and
ascii keymaps.

- Changed the RESET from PHYSICAL_OUT1_OC to PHYSICAL_OUT1_OPEN_HI in the apple2
and ascii keymaps.
2020-03-16 12:56:21 -05:00
David Fenyes
702ed71d60 add a clear-screen (ACTION_CLEAR) to the Shift-RESET combination. 2020-03-14 21:55:03 -05:00
Dave
68d2dfb115 Fix typo 2020-03-14 10:40:20 -05:00
Dave
04321da29c Fix typecast for key repeat timer, and some header fixes. 2020-03-14 10:37:43 -05:00
Dave
ed761974e6 Modifiers cleanup
- asdf_modifiers.[ch]: Replace asdf_modifier_shiftlock_activate() with
  asdf_modifier_shiftlock_on_activate() and
  asdf_modifier_shiftlock_toggle_activate().  Instead of a configurateion
  setting for shiftlock state to switch between SHIFTLOCK locks on, SHIFT turns
  off, vs SHIFTLOCK toggles, and SHIFT turns off, create two different
  SHIFTLOCK functions, one for each behavior, and allow the keymap to bind the
  desired function.

- asdf.h: replace ACTION_SHIFTLOCK with ACTION_SHIFTLOCK_ON and
  ACTION_SHIFTLOCK_TOGGLE.

- asdf.h: move start of ACTION codes from 0x80 to 0x90, since SOL-20 uses codes
  from 0x80-0x8f.

- asdf.c: test for ACTION code using (code > ASDF_ACTION) instead of (code &
  ASDF_ACTION), since ASDF_ACTION need not be a power of 2.

- asdf_modifiers.[ch] and other files: remove
  asdf_modifiers_shiftlock_deactivate() and
  asdf_modifiers_capslock_deactivate(), and any references to these functions
  since they are null functions anyway.
2020-03-14 00:11:29 -05:00