hardware/Atreus: Add support for all Atreus variants

Make it possible to use the plugin for all known Atreus variants: the post-2016
PCB with A* and the FalbaTech handwired one with a Teensy (these two were the
only supported ones until now), the pre-2016 PCB with A*, and the legacy Teensy2
variant.

Fixes #430.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
pull/478/head
Gergely Nagy 6 years ago
parent ae49f750ee
commit 930d4920c2
No known key found for this signature in database
GPG Key ID: AC1E90BAC433F68F

@ -1,10 +1,18 @@
# Kaleidoscope-Hardware-Technomancy-Atreus # Kaleidoscope-Hardware-Technomancy-Atreus
This is a plugin for [Kaleidoscope][fw], that adds hardware support for the This is a plugin for [Kaleidoscope][fw], that adds hardware support for the
[Atreus][atreus]. Supported models include post-2016 PCB variants with an A* [Atreus][atreus]. Supports both the pre- and post-2016 variants with an A* MCU,
MCU, and the hand-wired variant from [FalbaTech][falba] with a Teensy2. the hand-wired variant from [FalbaTech][falba] with a Teensy2, and the legacy
teensy2 variant too.
PCBs prior to 2016, and the legacy teensy2 variants are not supported. To select which one to build for, you can either use the Arduino IDE, and select
the appropriate Pinout and CPU, or, if using `kaleidoscope-builder`, you can add
a `LOCAL_CFLAGS` setting to `.kaleidoscope-builder.conf`.
For the post-2016 variant (the default, also used by the handwired variant from
FalbaTech), if you want to explicitly select it, add
`-DKALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR=1`. For the pre-2016 variant, add
`-DKALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR_DOWN`. For the legacy teensy2 variant, add `-DKALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_LEGACY_TEENSY2=1`.
[fw]: https://github.com/keyboardio/Kaleidoscope [fw]: https://github.com/keyboardio/Kaleidoscope
[atreus]: https://atreus.technomancy.us/ [atreus]: https://atreus.technomancy.us/

@ -19,4 +19,11 @@
#pragma once #pragma once
#define KALEIDOSCOPE_WITH_ATMEGA_KEYBOARD 1 #define KALEIDOSCOPE_WITH_ATMEGA_KEYBOARD 1
#if !defined(KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR) && \
!defined(KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR_DOWN) && \
!defined(KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_LEGACY_TEENSY2)
#define KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR 1
#endif
#include "kaleidoscope/hardware/technomancy/Atreus.h" #include "kaleidoscope/hardware/technomancy/Atreus.h"

@ -42,10 +42,27 @@ class Atreus: public kaleidoscope::hardware::ATMegaKeyboard {
public: public:
Atreus(void) {} Atreus(void) {}
#ifdef KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR
ATMEGA_KEYBOARD_CONFIG( ATMEGA_KEYBOARD_CONFIG(
ROW_PIN_LIST({PIN_D0, PIN_D1, PIN_D3, PIN_D2}), ROW_PIN_LIST({PIN_D0, PIN_D1, PIN_D3, PIN_D2}),
COL_PIN_LIST({PIN_D7, PIN_C6, PIN_B5, PIN_B4, PIN_E6, PIN_D4, PIN_B6, PIN_F6, PIN_F7, PIN_D6, PIN_B7}) COL_PIN_LIST({PIN_D7, PIN_C6, PIN_B5, PIN_B4, PIN_E6, PIN_D4, PIN_B6, PIN_F6, PIN_F7, PIN_D6, PIN_B7})
); );
#endif
#ifdef KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_ASTAR_DOWN
ATMEGA_KEYBOARD_CONFIG(
ROW_PIN_LIST({PIN_D0, PIN_D1, PIN_D3, PIN_D2}),
COL_PIN_LIST({PIN_B7, PIN_D6, PIN_F7, PIN_F6, PIN_B6, PIN_D4, PIN_E6, PIN_B4, PIN_B5, PIN_C6, PIN_D7})
);
#endif
#ifdef KALEIDOSCOPE_HARDWARE_ATREUS_PINOUT_LEGACY_TEENSY2
ATMEGA_KEYBOARD_CONFIG(
ROW_PIN_LIST({PIN_D0, PIN_D1, PIN_D2, PIN_D3}),
COL_PIN_LIST({PIN_F6, PIN_F5, PIN_F4, PIN_B7, PIN_B6, PIN_B5, PIN_B4, PIN_B3, PIN_B2, PIN_B1, PIN_B0})
);
)
#endif
static constexpr int8_t led_count = 0; static constexpr int8_t led_count = 0;

Loading…
Cancel
Save