Commit Graph

100 Commits

Author SHA1 Message Date
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
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
11fd44c0cb BUGFIX: repeat apparatus not initiazized on keymap switch.
Added call to asdf_repeat_init() form asdf_keymaps_select_keymap()
2020-07-20 14:13:53 -05:00
Dave
01731197af Add spaces arounce concatenation operator 2020-06-17 01:03:18 -05:00
Dave
7b05b6eadb Bug fix: long delay should invoke _delay_ms(), not _delay_us(). 2020-05-23 23:28:00 -05:00
Dave
25d0693eda minor hook cleanups
- Rename asdf_hook_do() to asdf_hook_execute()
- asdf.c: Call asdf_hook_execute() for ASDF_HOOK_EACH_SCAN hook call in the scan
  routine, instead of getting then calling the function via hook_get()
- asdf.c: move the fetch of scan function hook outside the scan loop.
2020-05-19 17:58:58 -05:00
Dave
b3b2a93cdb Added dummy strobe-set functions to arch_test.c,h. 2020-05-15 14:52:18 -05:00
Dave
97890eaf63 Apply clang-format to files 2020-05-15 14:48:40 -05:00
Dave
c9cc1a76fe Add missing DIP switch definition file to repository. 2020-05-15 14:45:42 -05:00
Dave
7801a17f56 Add DIP switch select for strobe polarity and autorepeat
- arch-* files: replace private arch_strobe_init() function with public
arch_set_neg_strobe() and arch_set_pos_strobe() functions

- asdf.c,h: add ACTION hooks to set strobe polarity and enable/disable
autorepeat

- break out DIP switch definitions into a separate header file, included by each
keymap.  This ensures consistent DIP switch behavior across keymaps.
2020-05-15 14:42:06 -05:00
Dave
64437908f7 Remove asdf_arch.[ch], which are copied from Arch directory 2020-05-14 01:36:20 -05:00
dfnr2
dff329ea42 Delete asdf_keymap_defs.h
Not a source file.  This file is copied from keymaps directory during build.
2020-05-13 15:53:22 -05:00
Dave
cc2b86fe32 Fix virtual output actions in keymap 2020-05-13 15:51:45 -05:00
Dave
27b151964a More gitignore updates 2020-05-13 11:14:43 -05:00
Dave
1040a9b5d4 Swap /RESET and LOCAL lines to place them on the correct Sol-20 pins 2020-05-12 17:26:07 -05:00
Dave
3c1d050abb Move F_CPU to header file and clean up 2560 read_row() code 2020-05-12 17:09:49 -05:00
Dave
9b41a77ea4 Moved clock speed definition (F_CPU) to arch header file 2020-05-12 17:09:13 -05:00
Dave
1687d0ccfd Use single makefile rather than one makefile per architecture 2020-05-12 14:52:06 -05:00
Dave
97d38282ae Cleanup read_row(), and remove duplicated Makefile 2020-05-12 14:50:56 -05:00
Dave
e9630edb03 Fix atmega2560 read_row routine 2020-05-09 03:51:24 -05:00
Dave
346784bd6b Enable output hook in main() 2020-05-06 15:56:23 -05:00
Dave
de346a1e59 Merge branch 'hooks' 2020-05-05 15:10:40 -05:00
Dave
5baf20a16b Get hook functionality running and DIP switch cleanup 2020-05-05 15:05:54 -05:00
Dave
c7b8641d0d Define dipswitch row in arch-dependent module.
Because the DIP switch row is hardwired on the controller board.
2020-05-03 12:05:27 -05:00
Dave
4d8bc2a9be (Development branch) Added in code to implement fuction hooks 2020-05-01 16:39:21 -05:00
Dave
77de6c7205 Fix wrong keymap assignment for SHIFT LOCK & other cleanups 2020-04-27 17:13:53 -05:00
Dave
fe5cafd8ab Add test of activate triple assignment (no function specified) 2020-04-27 17:12:39 -05:00
Dave
ef7a7bf320 Clean up shift/shiftlock cruft
* firmware/asdf/src/asdf_modifiers.h: C
2020-04-27 17:11:36 -05:00
Dave
8e2a12b9d5 Initial cut of OSI 542 keyboard scan support 2020-04-27 17:10:13 -05:00
Dave
80cb50eb7e Clean up physical device structures
- include callback function in device table instead of separate array.
2020-04-26 14:11:55 -05:00
Dave
f2eead4db8 Updated README to reflect progress 2020-04-15 15:23:42 -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
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
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
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