@ -1,5 +1,5 @@
/* -*- mode: c++ -*-
* device : : AT Mega32U4Keyboard - - Generic ATM ega32U4 keyboard base class
* device : : AT mega32U4Keyboard - - Generic ATm ega32U4 keyboard base class
* Copyright ( C ) 2019 Keyboard . io , Inc
*
* This program is free software : you can redistribute it and / or modify
@ -22,31 +22,32 @@
# include <Arduino.h>
# include "kaleidoscope/device/Base.h"
# include "kaleidoscope/driver/mcu/ATMega32U4.h"
# include "kaleidoscope/driver/storage/ATMega32U4EEPROMProps.h"
# include "kaleidoscope/driver/mcu/ATmega32U4.h"
# include "kaleidoscope/driver/keyscanner/ATmega.h"
# include "kaleidoscope/driver/storage/ATmega32U4EEPROMProps.h"
# include "kaleidoscope/driver/storage/AVREEPROM.h"
# define ATMEGA32U4_KEYBOARD(BOARD_, BOOTLOADER_, ROW_PINS_, COL_PINS_) \
struct BOARD_ # # Props : kaleidoscope : : device : : AT M ega32U4KeyboardProps { \
struct KeyScannerProps : public kaleidoscope : : driver : : keyscanner : : A VR Props { \
A VR _KEYSCANNER_PROPS( ROW_PIN_LIST ( ROW_PINS_ ) , COL_PIN_LIST ( COL_PINS_ ) ) ; \
struct BOARD_ # # Props : kaleidoscope : : device : : AT m ega32U4KeyboardProps { \
struct KeyScannerProps : public kaleidoscope : : driver : : keyscanner : : A Tmega Props { \
A TMEGA _KEYSCANNER_PROPS( ROW_PIN_LIST ( ROW_PINS_ ) , COL_PIN_LIST ( COL_PINS_ ) ) ; \
} ; \
typedef kaleidoscope : : driver : : keyscanner : : A VR < KeyScannerProps > KeyScanner ; \
typedef kaleidoscope : : driver : : keyscanner : : A Tmega < KeyScannerProps > KeyScanner ; \
typedef kaleidoscope : : driver : : bootloader : : avr : : BOOTLOADER_ BootLoader ; \
} ; \
class BOARD_ : public kaleidoscope : : device : : AT M ega32U4Keyboard< BOARD_ # # Props > { } ;
class BOARD_ : public kaleidoscope : : device : : AT m ega32U4Keyboard< BOARD_ # # Props > { } ;
namespace kaleidoscope {
namespace device {
struct AT M ega32U4KeyboardProps : kaleidoscope : : device : : BaseProps {
typedef kaleidoscope : : driver : : mcu : : AT M ega32U4 MCU ;
typedef kaleidoscope : : driver : : storage : : AT M ega32U4EEPROMProps StorageProps ;
struct AT m ega32U4KeyboardProps : kaleidoscope : : device : : BaseProps {
typedef kaleidoscope : : driver : : mcu : : AT m ega32U4 MCU ;
typedef kaleidoscope : : driver : : storage : : AT m ega32U4EEPROMProps StorageProps ;
typedef kaleidoscope : : driver : : storage : : AVREEPROM < StorageProps > Storage ;
} ;
template < typename _DeviceProps >
class AT M ega32U4Keyboard : public kaleidoscope : : device : : Base < _DeviceProps > {
class AT m ega32U4Keyboard : public kaleidoscope : : device : : Base < _DeviceProps > {
public :
auto serialPort ( ) - > decltype ( Serial ) & {
return Serial ;