The encoder boards (ATmega328P, Atmega2560, Apple2(2560) can accomodate
keyboard matrices with no diodes, by adding per-row diodes on the
encoder board. For keyboards with per-key diodes (the typical use
case), the per-row diodes are not needed, and therefore the footprints
should be shunted by default, using a special shunted diode footprint.
When diodes are installed, the shunt can be cut with an x-acto knife.
Previous board revs had the correct footprint, but somehow the regular
diode footprint was substituted on the last release of each of these
PCBS. The correct footprint has been restored.
Apparently some file pollution resulted in a successful compile that couldn't be
reprodued from a fresh git clone. Fixed file copying and include paths so
compile works. All tests pass.
- keymap files (c,h) are in src/Keymaps
- keymap files are added to the keymap library in src/Keymaps/CMakeLists.txt
- keymaps for the build are listed, along with positions, in /keymap_lists.cmake
- cmake generates a keymap jump table from the keymap lib and list
- tests mostly passing. Keymap structure for testing will be used as the model
for the app keymaps.
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]
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.
(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.
- 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
- 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.
- Add combined DIP-switch/Jumper footprint to footprint library
- Fix Apple2-encoder and interface-ascii-atmega2560 schematics and PCB to use
new footprint.
- 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.