Commit Graph

371 Commits

Author SHA1 Message Date
Dave
3a854d97f2 Get tests to pass with CMake build system
progress on issues #23 (new mechanism to add keymaps) and #27 (Cmake build)
2021-03-05 01:17:33 -06:00
Dave
a95a8ddb8d Remove redundant NUM_ROWS and NUM_COLS definition from test keymap 2021-03-05 01:00:40 -06:00
Dave
8088c0e157 Convert more keymaps to new scheme (untested)
- Replace asdf_keymap_defs_xxx.h files with asdf_keymap_xxx.[c,h] modules
- add _clang_format in keymaps directory
2021-03-05 01:00:40 -06:00
Dave
952e425986 New map scheme passes all tests. (Issue #25) 2021-03-05 01:00:40 -06:00
Dave
b688f1c56f Get virtual devices in new maps scheme to pass tests
Remove initialization from data structure.

Replace the previous virtual_init() with a virtual_init() that initializes the
data structures to a default state

Create virtual_sync() function to push the state of virtual devices to the
physical outputs.  Moved from the previous virtual_init() function.

The virtual device table is now built by direct calls to virtual_add() from the
setup function.

Toward issue [#23]
2021-03-05 01:00:39 -06:00
Dave
bcde21f3a8 Get keymap tests to pass (issues [#23] and [#25])
Clean compile of asdf_keymaps.c/h and tests

Clean up keymap pointer notation

Reduce number of keymaps to 16, matching number of DIP switches allocated for
keymap selection.
2021-03-05 01:00:19 -06:00
Dave
14ad7c4cc2 More keymap updates toward [#23] amd [#25]
App code now compiles clean, but test code still needs to be updated to set up
the test keymaps.  So, no passing tests yet.
2021-11-30 13:11:48 -06:00
David Fenyes
daa6ff672f WIP - non-compiling keymap updates
Please see ARCHITECTURE-keymaps.org for general idea and TODO list.
2021-03-05 00:59:46 -06:00
David Fenyes
99610395fc Get new keymap scheme to pass keymap tests
Toward issue #23
2021-03-05 00:59:40 -06:00
Dave
d6edb15734 Rebase newmaps branch to master
(WARNING: WIP) Gathered Work-in-progress on alternate keymap defs

Exploratory branch.  Code is messy and untested.
Examining creating a module for each keymap rather than header file.
2021-03-05 00:58:06 -06:00
Dave
859a5e03d1 Change order of version and architecture in build target name 2021-03-04 22:44:09 -06:00
Dave
fb3627e3a2 Change firmware version to 1.5 (in anticipation of 2.0 release) 2021-03-04 22:36:46 -06:00
Dave
e9c38e3c51 Replace Makefiles with CMake build system
- CMake build process handles dependencies much more effectively

- Cleaner separation of test and binary builds

- permit co-existing test and multiple architecture builds

- add support for AVR from cmake-avr:
      https://github.com/mkleemann/cmake-avr

- new build process avoids creating files in the src directory
2021-03-04 22:27:15 -06:00
dfnr2
1bcf10ae29 Update README.md
Fixed position of image
2021-02-13 07:42:24 -06:00
Dave
db861b6a32 Updated README.md with image of PCB 2021-02-13 07:41:14 -06:00
Dave
4fadd82a5c Added a keyboard adapter between Sol-20, Apple 1, Apple 2 2021-02-13 07:34:14 -06:00
Dave
fe4e12e86a Add + symbol to bottom silk of LEDs on the keyboards 2021-02-02 15:02:21 -06:00
Dave
8ad2025d0f Sol-20 spacebar stabilizer fix and other cleanups
- Replaced standard MX footprint with spacebar footprint, including stabilizers
- Fixed courtyard on MX footprints in library to avoid collisions
- Added a DIP switch variant with header position closer to pin 1
- moved option DIP switch/header to align header better with edge of PCB.
2021-02-01 14:39:57 -06:00
Dave
577f9d73ac pcb file consistency update 2021-01-24 13:07:10 -06:00
dfnr2
ebfee14c7a Update README.md 2021-01-15 22:49:34 -06:00
Dave
b77c69e042 Minor README tweaks for Sol keyboards 2021-01-01 00:39:03 -06:00
Dave
b32a69d1c4 tweaked Sol-20 README.md files
Clean up links between integrated and non-integrated versions
2021-01-01 00:36:01 -06:00
Dave
9a5fd4385b Fix markdown bug in link to integrated keyboard 2021-01-01 00:32:45 -06:00
Dave
d1b61d301a Update README for Sol keyboard to reference integrated keyboard 2021-01-01 00:29:59 -06:00
Dave
4469f46e05 Update README for integrated sol keyboard pcb
Add images including rendering of integrated PCB
2020-12-31 23:58:52 -06:00
Dave
a57f4cec0f Add Sol-20 keyboard with integrated encoder 2020-12-31 23:51:19 -06:00
Dave
933c658f7c Merged MX key footprint from newsol branch (narrower courtyard) 2020-12-31 23:39:44 -06:00
Dave
fd127dd4b0 Add SMD diodes and resistors to SOL keyboard 2020-12-29 20:15:23 -06:00
Dave
5b84fe914c Update interface-ascii to use either DIP switch or header-jumper 2020-12-29 18:26:07 -06:00
Dave
5f27567db3 Modify to use DIP switch or jumpers
- Add combined DIP-switch/Jumper footprint to footprint library
- Fix Apple2-encoder and interface-ascii-atmega2560 schematics and PCB to use
new footprint.
2020-12-29 17:11:50 -06:00
Dave
118999f085 Fix LED orientation 2020-09-22 03:22:10 -05:00
Dave
74c86a8a4e Added "HERE IS" and 1.5u TAB key to classic design 2020-09-22 03:05:48 -05:00
Dave
0daaad33f7 Fixed LED orientation on PCB
- CapsLock, Line Feed LEDs and D33 were wired correctly, but oriented backwards
on PCB relative to Power and OSI ShiftLock LEDs.  Fixed so Cathode is always on
the right.

- Marked Anode for all LEDs with (+) symbol.
2020-09-22 02:47:34 -05:00
Dave
4a3403abb1 Removed old keyboard cutout templates for classic keyboard.
cutouts are now included in the classic keyboard PCB file on separate layers.
2020-08-21 21:38:35 -05:00
Dave
efc4c7b5ab Removed vestigial R4 resistor and moved R3 to be on RX line.
Now, R3 only needs to be installed when using the serial port.  A zero-ohm
jumper can be used for serial-only output.
2020-08-18 15:32:53 -05:00
Dave
973602856f Include futaba pad/aligner shifts in futaba aligner 2020-08-17 16:13:26 -05:00
Dave
ed5f3fc8d6 Moved Cherry MX and futaba pads farther apart in combined footprint
- Offset cherry MX pads and aligners downward 0.004" from origin

- Offset futaba pads and aligners upward -0.004" from origin

- Update footprints in classic and sol-20 pcbs and aligners

- adjust mounting slots in Sol-20 aligners to match futaba or cherry offset
2020-08-17 15:21:06 -05:00
Dave
3e34defe4c Update Sol-20 keyboard to use fixed footprints
- Update all footprints on sol-20 keyboard and aligners

- Add soldermask clearance around cherry MX posts

- Move Cherry MX pads down 1 mil, and Futaba pads up 2 mils

- Adjust Cherry aligner footprints down 1 mil

- Adjust Futaba aligner footprints up 2 mils

- Move mounting slots up 1 mil on Cherry aligner

- Move mounting slots down 1 mil on Futaba aligner

- incorporate improved stabilizer post adapters in futaba aligner

- add slots for stabilizer posts in futaba aligner and Sol kebyoard PCB

- Move stabilizer bar bend guide to left bottom edge to facilitate bending

- Bump rev to 1.6
2020-08-16 22:47:26 -05:00
Dave
1f529d3a52 Update footprints to add soldermask clearance around Cherry MX posts 2020-08-16 22:46:32 -05:00
Dave
e6fd98c9bd Remove separated main and numpad aligners for SOL keyboard
Not needed.
2020-08-16 22:45:26 -05:00
Dave
9c89c2c412 Add 3 mil clearance around Cherry MX alignment posts 2020-08-16 22:44:33 -05:00
Dave
f25395c6ef For ASCII interfaces, use common/unikbd.lib instead of directory-local libs 2020-08-13 15:50:49 -05:00
Dave
8812de0d67 Apply fixes to cherry aligner. 2020-08-06 15:28:16 -05:00
Dave
15d8fccc21 Update components in SMT encoder board to include LCSC part numbers 2020-08-06 15:27:39 -05:00
Dave
b37f8165a4 Allow settling time for each row output change. 2020-08-06 15:22:52 -05:00
Dave
217d78a798 Physical devices attached to virtual dev change synchronously
Apply virtual device functions to each associated physical device synchronously
instead of sequentially.
2020-08-06 15:20:19 -05:00
Dave
098ae72f5f atmega2560: Increase row output settling time from 2 usec to 4 usec 2020-08-06 15:18:40 -05:00
Dave
2a02f74171 Notation fixes for pointers to functions 2020-08-06 15:17:28 -05:00
Dave
c13672b408 Multiple fixes for keyboard PCB
- in combined CherryMX/futaba footprints, moved cherry pads down 1 mil and
futaba pads up 2 mil, to reduce risk of shortin of LED pads with futaba pad.
Adjusted all aligners accordingly

- Fixed centroid for combined diode footprint and adjusted PCB placement on
classic and SOL keyboards accordingly.

- Moved SMT pads in combined diode footprint to top layer, so pick & place file
will be usable.

- changes to futaba stabilizer design.  Longer post adapter passes through slots
in keyboard and aligner.

- Changed futaba post thickness gauge from board outline to a slot to improve
tolerance.

- Moved spacebar stabilizer bending guide to edge of PCB, in order to make it
more useful in bending PCBs.

- Changed Apple II mounting slots on classic keyboard from horizontal to
vertical orientation, to accommodate the different spacing offets due to the use
of spacers in angled mounting threads.
2020-08-01 01:15:23 -05:00
Dave
3710f1c2b4 Update assembly rendering for apple2 encoder 2020-07-23 02:56:26 -05:00