Commit Graph

449 Commits

Author SHA1 Message Date
Dave ff0188ab2b Update eeprom-spec document 2022-12-03 04:24:29 -06:00
Dave f2a9b655a9 More Interface-ASCII PCB cleanups 2022-12-03 04:09:15 -06:00
Dave 33e68c6800 production cleanup for interface-ascii
- Add production package scripts
- Configure BOM generation for KiBOM
- Add 3D models to path (add kicad 5 path variable to list)
- bump version to 3 for compatibility with versioning scheme
2022-11-15 15:46:46 -06:00
Dave 0d0487df42 More README fixes 2022-09-07 22:22:51 -05:00
Dave f22c85e327 Update README for firmware 2022-09-07 22:16:16 -05:00
Dave 118fb24f7d Fixes to README 2022-09-07 22:13:14 -05:00
Dave 69d5d16544 Update firmware workflow and README 2022-09-07 21:56:24 -05:00
Dave 232b99a962 Update yml file to latest workflow 2022-09-07 21:31:46 -05:00
Dave 4e583a4a5a Remove unsed "uses" 2022-09-07 21:29:43 -05:00
Dave 98914eb1d5 Add dash before trigger branch names 2022-09-07 21:28:19 -05:00
Dave 51022040f1 Update to automate firmware builds
- build on checkin to asdf-release or asdf-built-test
- deploy to https://dfnr2.github.io/unified-retro-keyboard
2022-09-07 15:38:28 -05:00
Dave 21a30d2ca0 Add sphinx doc tree and Improve build automation
- Add a documentation directory to start documenting the firmware in
sphinx.
c
- Fix cmake scripts to generate files needed to make hex files available
  for download

- expand build script to automate the cmake file generation and builds
  for each architecture, install the python virtual environment needed for
  sphinx, and and to populate the sphinx source tree with links to built
  hex files.
2022-09-06 11:08:26 -05:00
Dave 9aa3bf4681 Fix compiler warning for GCC >= 11.3
- GCC version 12 generates a warnings for certain pointer
references.  Apparently this is to decect invalid offsets.  To properly
compiler, the recommended remedy is to add the compiler option
"--param=min-pagesize=0" to the flags.  This option was introduced in
version 11.3, so we need to check the compiler version and only add for
>11.3.

- Moved setting of compiler flags to a new function c_toolchain_flags in
the toolchain file "generic-gcc-avr.cmake".  This function is now called
from the CMakeLists.txt file in the src directory.  This allows the test
for the compiler version to be specified in the toolchain file, but not
executed until called by the src subdir CMakeLists.txt.  Delaying
evaluation of the function ensures that the CMAKE_C_VERSION variable is
properly set when the function is called.

- Moving the compiler flags out of the source dir CMakeLists.txt file
also improves portability by moving architecture-specific compiler
details from the source tree to the toolchain file.
2022-09-02 00:00:55 -05:00
Dave 18e451d8a6 Fix typo in src/CMakeLists.txt
for function create_keymap_valid, return statement had wrong function name.
2022-09-01 13:26:22 -05:00
Dave 1c855f9a4e Modified addon for 10-pin inline connector 2022-07-05 09:21:21 -05:00
Dave c77838e1b3 Update classic keyboard main PCB to kicad 6
- fix various ERC and DRC errors resulting from upgrade

- list included nets in busses on schematic

- Modify Footprints with multiple options (therefore multiple sets of
pads) to used shaped pads and proper pad numbering to eliminate DRC
issues, and ensure proper behavior
2022-04-09 14:56:23 -05:00
Dave cc77090f2c Merge branch 'main' of github.com:osiweb/unified_retro_keyboard 2022-04-07 19:46:39 -05:00
Dave b0ea2fad81 bump reset+SL addon to 1.4 2022-04-07 02:54:32 -05:00
Dave 802827402d Cleanup RESET+SHIFTLOCK addon
- replaced DIP header with 13-pin 0.1" vertical header.  Added labels to
the pins.

- removed left over unused diode

- reversed default on / default off labels on shiftlock mode jumper
block.
2022-04-07 01:57:16 -05:00
David Fenyes 721cb6585d Add missing keymap header files 2022-02-28 20:08:38 -06:00
Dave 6de71c63cd Add missing asdf_keymap_apple2_caps.h file 2022-02-28 20:03:44 -06:00
Dave 48977e3eb2 Clean up DRC errors 2022-02-22 16:00:30 -06:00
Dave d807d8720c OSI reset/shiftlock addon- add mounting holes 2022-02-22 15:49:20 -06:00
Lars Brinkhoff deb095aa10
Keycaps for Knight and SAIL keyboards (#39)
* Keycaps for Knight keyboard

* Keycaps for SAIL keyboard
2021-12-22 02:44:07 -06:00
David Fenyes e13c9d6888 BugFix: asdf_buffer_get: check for valid handle
Was only testing for handle less than next_handle, but not checking for
negative handle values. Fixed to use buffer_handle_valid() to test for a
valid handle.
2021-12-14 11:31:39 -06:00
Dave 118065236b Add asdf_keymap_setup.[ch] to test directory 2021-12-14 11:26:47 -06:00
Dave 975bb0e6a5 Remove extraneous chars. 2021-12-10 22:26:59 -06:00
Dave 1d5e76590f make sure all tests pass
- added keymap_setup() function to keymap tests

- The test string was not long enough to overflow the larger buffer.
Switched to use pseudo-random sequence intstead of a fixe test string.
2021-12-10 22:25:13 -06:00
Dave 3d7c80916b Add sol id message to CTL-0 and bump version 2021-12-05 00:08:16 -06:00
Dave 8bb2711ccb Fix bad msec delay routine in 2560 arch module 2021-12-05 00:07:41 -06:00
Dave 03069fc8b5 Tie message ID strings to function keys
for classic and classic_caps keyboards.
2021-12-04 23:53:15 -06:00
Dave 68086cde31 Apple2 u/l keyboard has CAPS by default.
Start LED off, and turn on by activating CAPS
2021-12-04 23:51:58 -06:00
Dave 7ce550257c Breakout keyboard init
factor out common code and add back wrappers, so keyboard initializes to
default keyboard on power up, and afterwards, won't reinitialize the
keyboard unless the map changes.
2021-12-04 23:12:32 -06:00
Dave 3a7e279453 Add ID message and keyboard test for apple2 kbds 2021-12-04 23:10:33 -06:00
Dave 116455ea61 Added ability to set the output rate for messages
A delay after each output character can be set, so slow interpreters,
etc. will not miss characters on systems with no handshaking.
2021-12-04 23:08:44 -06:00
Dave 66df34a972 Added arch API for msec delay. 2021-12-04 23:06:39 -06:00
Dave 45329de193 Fix slow repeat on some columns (Fixes #15)
Removed a bit of logic from the column bit test code that created
different scan rates for different columns.
2021-12-04 11:32:38 -06:00
Dave 7796b7f753 Cleanups for new map scheme
- update ARCHITECTURE-keymaps.org file for new keymap definition method
- remove unused keymap table template files
- in keymap_setup.c template, set default to keymap 0.
2021-12-01 15:56:25 -06:00
Dave 9c0e9a9326 Fix Apple CAPS power LED to stay on. 2021-11-29 23:30:52 -06:00
Dave 2889bc3777 Typo fixes to classic keycap spreadsheet 2021-11-29 16:35:23 -06:00
Dave 562b859540 Add apple 2 caps, printing, bug fixes
- Added the apple 2 CAPS map

- auto-generate a function to check validity of a keymap index

- Added buffered message printing. This is different from keycode
buffering, since an extra delay is added for each message character to
allow polling hosts to keep up. Keycodes are generated at human speeds
and need no further slowdown.

- Added a message character delay to the arch-* modules

- enlarged the buffer pool, and created a buffer for messages

- bumped version number
2021-11-29 16:26:08 -06:00
Dave 233cda3e25 Add back the upper/lower Apple map
Port the old .h macro-based keymap definition to new C module based
definition.
2021-11-28 23:50:28 -06:00
Dave 818acf07ed Update to 1.6.0 for new map definition scheme 2021-11-28 15:49:40 -06:00
Dave 17d5313fe9 Merge branch 'master' into newmaps 2021-11-28 15:48:03 -06:00
Dave 304022ce93 Add cmake templates for keymap setup files 2021-11-28 15:34:32 -06:00
Dave 07ff09720b Fix library-related indirection bug
Accessing library functions via function pointer seems to cause a reset.
Still investigating the cause.

- compile keymaps subdir as part of main src cmakefile, rather than as a
separate library.

- rather than setup table of function pointers and using an indirection
in the main code, set up a jump table (switch).  This is cleaner.
2021-11-28 15:28:03 -06:00
Dave e2c2f56429 Fix extra indirection 2021-11-27 23:28:33 -06:00
Dave 52527265c0 Remove arch_init from main. 2021-11-27 23:26:47 -06:00
Dave 56d9c52edb Removed unused declaration 2021-11-27 23:26:09 -06:00
Dave f70a6006e1 Remove redundant reset code
keymaps_init calls select, which sets the index to 0 and resets the
keymaps.
2021-11-27 23:19:16 -06:00