101 lines
2.7 KiB
C
101 lines
2.7 KiB
C
/*
|
|
Copyright 2019 Adam Newbold <adam@neatnik.net>
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "config_common.h"
|
|
|
|
/* USB Device descriptor parameter */
|
|
#define VENDOR_ID 0xFEED
|
|
#define PRODUCT_ID 0x0000
|
|
#define DEVICE_VER 0x0001
|
|
#define MANUFACTURER Apple Inc.
|
|
#define PRODUCT Numeric Keypad IIe
|
|
|
|
/*
|
|
|
|
Pin Mappings
|
|
============
|
|
|
|
Dsub-15 Connection
|
|
------------------
|
|
|
|
Dsub-15 (female)
|
|
,-------------------------.
|
|
\ 08 07 06 05 04 03 02 01 /
|
|
\ 15 14 13 12 11 10 09 /
|
|
`---------------------'
|
|
|
|
Header Pins
|
|
-----------
|
|
_____________________________________
|
|
| |
|
|
| 11 10 9 8 7 6 5 4 3 2 1 |
|
|
|_____________________________________|
|
|
|
|
|
|
Header / Matrix
|
|
---------------
|
|
|
|
Pin Name Description
|
|
--------------------------------------------------------------
|
|
1,2,5,3,4,6 Y0-Y5 Y-direction key-matrix connections
|
|
7 NC
|
|
9,11,10,8 X4-X7 X-direction key-matrix connections
|
|
|
|
|
|
Microcontroller Configuration
|
|
-----------------------------
|
|
|
|
(Pins are for an Arduino Micro)
|
|
|
|
+-----------------------------------+
|
|
| Dsub-15 | Header | Matrix | Micro |
|
|
|---------+--------+--------+-------|
|
|
| 12 | 11 | X5 | B0 |
|
|
| 11 | 10 | X6 | D3 |
|
|
| 10 | 9 | X4 | B2 |
|
|
| 9 | 8 | X7 | D2 |
|
|
| NC | 7 | NC | -- |
|
|
| 7 | 6 | Y5 | E6 |
|
|
| 6 | 5 | Y2 | D4 |
|
|
| 5 | 4 | Y4 | D7 |
|
|
| 3 | 3 | Y3 | C6 |
|
|
| 2 | 2 | Y1 | D0 |
|
|
| 1 | 1 | Y0 | D1 |
|
|
+-----------------------------------+
|
|
|
|
Note: Dsub-15 pins 4, 8, 13, 14, and 15 are unused
|
|
|
|
Reference
|
|
---------
|
|
|
|
https://deskthority.net/wiki/Apple_Numeric_Keypad_IIe
|
|
https://geekhack.org/index.php?topic=78048.0
|
|
http://wiki.apple2.org/index.php?title=Pinouts#Apple_.2F.2Fe_Numeric_Keypad_connector
|
|
|
|
*/
|
|
|
|
#define MATRIX_ROWS 4
|
|
#define MATRIX_COLS 6
|
|
#define MATRIX_ROW_PINS { B0, B2, D2, D3 }
|
|
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6 }
|
|
#define UNUSED_PINS
|
|
#define DIODE_DIRECTION COL2ROW
|
|
#define SOFT_SERIAL_PIN D0
|
|
#define DEBOUNCE 5
|