diff --git a/boards.txt b/boards.txt index 507cf5061..8638e9f10 100644 --- a/boards.txt +++ b/boards.txt @@ -33,10 +33,10 @@ preonic.build.mcu=cortex-m4 preonic.build.f_cpu=64000000 preonic.build.board=PREONIC preonic.build.core=nRF5 -preonic.build.variant=keyboardio_preonic +preonic.build.variant=preonic preonic.build.usb_manufacturer="Keyboardio" preonic.build.usb_product="Preonic" -preonic.build.extra_flags=-DNRF52840_XXAA -DCFG_TUD_HID=3 {build.flags.usb} +preonic.build.extra_flags=-DNRF52840_XXAA -DCFG_TUD_HID=3 -DKALEIDOSCOPE_HARDWARE_H="Kaleidoscope-Hardware-Keyboardio-Preonic.h" {build.flags.usb} preonic.build.ldscript=nrf52840_s140_v6.ld preonic.build.openocdscript=scripts/openocd/daplink_nrf52.cfg preonic.build.vid=0x3496 diff --git a/variants/preonic/variant.cpp b/variants/preonic/variant.cpp index d0ef40975..4842474da 100644 --- a/variants/preonic/variant.cpp +++ b/variants/preonic/variant.cpp @@ -23,85 +23,53 @@ #include "wiring_digital.h" #include "nrf.h" +static constexpr uint32_t P1_BANK = 32; + const uint32_t g_ADigitalPinMap[] = { - // D0 .. D13 - 25, // D0 is P0.25 (UART TX) - 24, // D1 is P0.24 (UART RX - 10, // D2 is P0.10 (NFC2) - 47, // D3 is P1.15 (LED1) - 42, // D4 is P1.10 (LED2) - 40, // D5 is P1.08 - 7, // D6 is P0.07 - 34, // D7 is P1.02 (Button) - 16, // D8 is P0.16 (NeoPixel) - 26, // D9 is P0.26 - 27, // D10 is P0.27 - 6, // D11 is P0.06 - 8, // D12 is P0.08 - 41, // D13 is P1.09 - - // D14 .. D21 (aka A0 .. A7) - 4, // D14 is P0.04 (A0) - 5, // D15 is P0.05 (A1) - 30, // D16 is P0.30 (A2) - 28, // D17 is P0.28 (A3) - 2, // D18 is P0.02 (A4) - 3, // D19 is P0.03 (A5) - 29, // D20 is P0.29 (A6, Battery) - 31, // D21 is P0.31 (A7, ARef) - - // D22 .. D23 (aka I2C pins) - 12, // D22 is P0.12 (SDA) - 11, // D23 is P0.11 (SCL) - - // D24 .. D26 (aka SPI pins) - 15, // D24 is P0.15 (SPI MISO) - 13, // D25 is P0.13 (SPI MOSI) - 14, // D26 is P0.14 (SPI SCK ) - - // QSPI pins (not exposed via any header / test point) - 19, // D27 is P0.19 (QSPI CLK) - 20, // D28 is P0.20 (QSPI CS) - 17, // D29 is P0.17 (QSPI Data 0) - 22, // D30 is P0.22 (QSPI Data 1) - 23, // D31 is P0.23 (QSPI Data 2) - 21, // D32 is P0.21 (QSPI Data 3) - - // The remaining NFC pin - 9, // D33 is P0.09 (NFC1, exposed only via test point on bottom of board) - - // Thus, there are 34 defined pins + // D0 .. D30 + - // The remaining pins are not usable: - // - // - // The following pins were never listed as they were considered unusable - // 0, // P0.00 is XL1 (attached to 32.768kHz crystal) - // 1, // P0.01 is XL2 (attached to 32.768kHz crystal) - // 18, // P0.18 is RESET (attached to switch) - // 32, // P1.00 is SWO (attached to debug header) - // - // The remaining pins are not connected (per schematic) - // 33, // P1.01 is not connected per schematic - // 35, // P1.03 is not connected per schematic - // 36, // P1.04 is not connected per schematic - // 37, // P1.05 is not connected per schematic - // 38, // P1.06 is not connected per schematic - // 39, // P1.07 is not connected per schematic - // 43, // P1.11 is not connected per schematic - // 44, // P1.12 is not connected per schematic - // 45, // P1.13 is not connected per schematic - // 46, // P1.14 is not connected per schematic + P1_BANK + 13, // D0 is P1.13 is ROW1 + 11, // D1 is P0.11 is ROW2 + P1_BANK + 8, // D2 is P1.08 is ROW3 + 27, // D3 is P0.27 is ROW4 + 8, // D4 is P0.08 is ROW5 + 6, // D5 is P0.06 is ROW6 + P1_BANK + 14, // D6 is P1.14 is COL1 + P1_BANK + 12, // D7 is P1.12 is COL2 + 25, // D8 is P0.25 is COL3 + 26, // D9 is P0.26 is COL4 + 21, // D10 is P0.21 is COL5 + 23, // D11 is P0.23 is COL6 + 12, // D12 is P0.12 is COL7 + P1_BANK + 9, // D13 is P1.09 is COL8 + 4, // D14 is P0.04 is COL9 + 31, // D15 is P0.31 is COL10 + 30, // D16 is P0.30 is COL11 + 29, // D17 is P0.29 is COL12 + 22, // D18 is P0.22 is SPEAKER + 24, // D19 is P0.24 is RGB_DATA + P1_BANK + 5, // D20 is P1.05 is RGB_EN + P1_BANK + 7, // D21 is P1.07 is BATT_ALERT + P1_BANK + 2, // D22 is P1.02 is CHG_STATUS + P1_BANK + 11, // D23 is P1.11 is ENC1_A + P1_BANK + 10, // D24 is P1.10 is ENC1_B + P1_BANK + 15, // D25 is P1.15 is ENC2_A + 3, // D26 is P0.03 is ENC2_B + 2, // D27 is P0.02 is ENC3_A + 28, // D28 is P0.28 is ENC3_B + 5, // D29 is P0.05 is I2C_SCL + 7, // D30 is P0.07 is I2C_SDA }; void initVariant() { // LED1 & LED2 - pinMode(PIN_LED1, OUTPUT); - ledOff(PIN_LED1); + // pinMode(PIN_LED1, OUTPUT); +// ledOff(PIN_LED1); - pinMode(PIN_LED2, OUTPUT); - ledOff(PIN_LED2); + // pinMode(PIN_LED2, OUTPUT); +// ledOff(PIN_LED2); } diff --git a/variants/preonic/variant.h b/variants/preonic/variant.h index 8ea143782..586cb7784 100644 --- a/variants/preonic/variant.h +++ b/variants/preonic/variant.h @@ -37,16 +37,16 @@ extern "C" #endif // __cplusplus // Number of pins defined in PinDescription array -#define PINS_COUNT (34) -#define NUM_DIGITAL_PINS (34) -#define NUM_ANALOG_INPUTS (6) // A6 is used for battery, A7 is analog reference +#define PINS_COUNT (31) +#define NUM_DIGITAL_PINS (31) +#define NUM_ANALOG_INPUTS (0) // A6 is used for battery, A7 is analog reference #define NUM_ANALOG_OUTPUTS (0) // LEDs #define PIN_LED1 (3) #define PIN_LED2 (4) -#define PIN_NEOPIXEL (8) -#define NEOPIXEL_NUM 1 +#define PIN_NEOPIXEL (19) +#define NEOPIXEL_NUM 4 #define LED_BUILTIN PIN_LED1 #define LED_CONN PIN_LED2 @@ -56,14 +56,9 @@ extern "C" #define LED_STATE_ON 1 // State when LED is litted -/* - * Buttons - */ -#define PIN_BUTTON1 (7) /* * Analog pins - */ #define PIN_A0 (14) #define PIN_A1 (15) #define PIN_A2 (16) @@ -82,15 +77,17 @@ static const uint8_t A5 = PIN_A5 ; static const uint8_t A6 = PIN_A6 ; static const uint8_t A7 = PIN_A7 ; #define ADC_RESOLUTION 14 + */ // Other pins +/* #define PIN_AREF PIN_A7 #define PIN_VBAT PIN_A6 #define PIN_NFC1 (33) #define PIN_NFC2 (2) static const uint8_t AREF = PIN_AREF; - +*/ /* * Serial interfaces */ @@ -100,8 +97,8 @@ static const uint8_t AREF = PIN_AREF; /* * SPI Interfaces */ -#define SPI_INTERFACES_COUNT 1 - +#define SPI_INTERFACES_COUNT 0 +/* #define PIN_SPI_MISO (24) #define PIN_SPI_MOSI (25) #define PIN_SPI_SCK (26) @@ -110,26 +107,14 @@ static const uint8_t SS = (5); static const uint8_t MOSI = PIN_SPI_MOSI ; static const uint8_t MISO = PIN_SPI_MISO ; static const uint8_t SCK = PIN_SPI_SCK ; - +*/ /* * Wire Interfaces */ #define WIRE_INTERFACES_COUNT 1 -#define PIN_WIRE_SDA (22) -#define PIN_WIRE_SCL (23) - -// QSPI Pins -#define PIN_QSPI_SCK 27 -#define PIN_QSPI_CS 28 -#define PIN_QSPI_IO0 29 -#define PIN_QSPI_IO1 30 -#define PIN_QSPI_IO2 31 -#define PIN_QSPI_IO3 32 - -// On-board QSPI Flash -#define EXTERNAL_FLASH_DEVICES GD25Q16C -#define EXTERNAL_FLASH_USE_QSPI +#define PIN_WIRE_SDA (30) +#define PIN_WIRE_SCL (29) #ifdef __cplusplus }