From c7b8641d0dec218fd8dc5a51d5024beca0d9cf66 Mon Sep 17 00:00:00 2001 From: Dave Date: Sun, 3 May 2020 12:05:27 -0500 Subject: [PATCH] Define dipswitch row in arch-dependent module. Because the DIP switch row is hardwired on the controller board. --- firmware/asdf/src/Arch/asdf_arch_atmega2560.h | 1 + firmware/asdf/src/Arch/asdf_arch_atmega328p.h | 2 ++ firmware/asdf/src/Keymaps/asdf_all_keymap_defs_production.h | 1 + firmware/asdf/src/Keymaps/asdf_keymap_defs_apple2.h | 3 ++- firmware/asdf/src/Keymaps/asdf_keymap_defs_ascii.h | 3 ++- firmware/asdf/src/Keymaps/asdf_keymap_defs_sol.h | 4 +--- 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/firmware/asdf/src/Arch/asdf_arch_atmega2560.h b/firmware/asdf/src/Arch/asdf_arch_atmega2560.h index 78859d9..a985a8d 100644 --- a/firmware/asdf/src/Arch/asdf_arch_atmega2560.h +++ b/firmware/asdf/src/Arch/asdf_arch_atmega2560.h @@ -326,6 +326,7 @@ #define ASDF_OSI_RW_DDR ASDF_HIROW_DDR #define ASDF_OSI_RW_BIT 2 +#define ASDF_ARCH_DIP_SWITCH_ROW 8 #define FUSE_INTERNAL_8MHZ_OSC_4MS (FUSE_CKSEL1 | FUSE_SUT0) #define FUSE_INTERNAL_8MHZ_OSC_65MS (FUSE_CKSEL1 | FUSE_SUT1) diff --git a/firmware/asdf/src/Arch/asdf_arch_atmega328p.h b/firmware/asdf/src/Arch/asdf_arch_atmega328p.h index d38ba48..52c8b3b 100644 --- a/firmware/asdf/src/Arch/asdf_arch_atmega328p.h +++ b/firmware/asdf/src/Arch/asdf_arch_atmega328p.h @@ -233,6 +233,8 @@ #define ASDF_STROBE_DDR DDRB #define ASDF_STROBE_BIT 6 +#define ASDF_ARCH_DIP_SWITCH_ROW 8 + #define FUSE_INTERNAL_8MHZ_OSC_0MS (FUSE_CKSEL0 | FUSE_CKSEL2 | FUSE_CKSEL3 | FUSE_SUT0 | FUSE_SUT1) #define FUSE_INTERNAL_8MHZ_OSC_4MS (FUSE_CKSEL0 | FUSE_CKSEL2 | FUSE_CKSEL3 | FUSE_SUT1) #define FUSE_INTERNAL_8MHZ_OSC_65MS (FUSE_CKSEL0 | FUSE_CKSEL2 | FUSE_CKSEL3 | FUSE_SUT0) diff --git a/firmware/asdf/src/Keymaps/asdf_all_keymap_defs_production.h b/firmware/asdf/src/Keymaps/asdf_all_keymap_defs_production.h index dcd0497..0d0dc96 100644 --- a/firmware/asdf/src/Keymaps/asdf_all_keymap_defs_production.h +++ b/firmware/asdf/src/Keymaps/asdf_all_keymap_defs_production.h @@ -30,6 +30,7 @@ #define ASDF_KEYMAP_DEFS_H #include "asdf.h" +#include "asdf_arch.h" #include "asdf_ascii.h" #include "asdf_physical.h" #include "asdf_virtual.h" diff --git a/firmware/asdf/src/Keymaps/asdf_keymap_defs_apple2.h b/firmware/asdf/src/Keymaps/asdf_keymap_defs_apple2.h index d6d4c07..7323cc2 100644 --- a/firmware/asdf/src/Keymaps/asdf_keymap_defs_apple2.h +++ b/firmware/asdf/src/Keymaps/asdf_keymap_defs_apple2.h @@ -140,7 +140,8 @@ // definitions in positions 0-3 ensures consistent map selection among all // keymaps. -#define ASDF_APPLE2_DIP_SWITCHES [ASDF_NUM_ROWS - 1] = { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } +#define ASDF_APPLE2_DIP_SWITCHES [ASDF_ARCH_DIP_SWITCH_ROW] = \ + { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } #define APPLE_LEFT_ARROW ASCII_CTRL_H #define APPLE_RIGHT_ARROW ASCII_CTRL_U diff --git a/firmware/asdf/src/Keymaps/asdf_keymap_defs_ascii.h b/firmware/asdf/src/Keymaps/asdf_keymap_defs_ascii.h index cc8af28..0e01c7a 100644 --- a/firmware/asdf/src/Keymaps/asdf_keymap_defs_ascii.h +++ b/firmware/asdf/src/Keymaps/asdf_keymap_defs_ascii.h @@ -135,7 +135,8 @@ // keymaps. -#define ASDF_ASCII_DIP_SWITCHES [ASDF_NUM_ROWS - 1] = { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } +#define ASDF_ASCII_DIP_SWITCHES [ASDF_ARCH_DIP_SWITCH_ROW] = \ + { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } #define ASDF_ASCII_PLAIN_MAP \ { \ diff --git a/firmware/asdf/src/Keymaps/asdf_keymap_defs_sol.h b/firmware/asdf/src/Keymaps/asdf_keymap_defs_sol.h index 6309a8a..523f29e 100644 --- a/firmware/asdf/src/Keymaps/asdf_keymap_defs_sol.h +++ b/firmware/asdf/src/Keymaps/asdf_keymap_defs_sol.h @@ -137,10 +137,8 @@ .initial_value = SOL_KBD_TTL_HIGH }, \ } -#define DIP_SWITCH_ROW 15 - #define ASDF_SOL_DIP_SWITCHES \ - [DIP_SWITCH_ROW] = { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } + [ASDF_ARCH_DIP_SWITCH_ROW] = { ACTION_MAPSEL_0, ACTION_MAPSEL_1, ACTION_MAPSEL_2, ACTION_MAPSEL_3 } // clang-format off #define ASDF_SOL_PLAIN_MAP \