qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

myriad.h (1161B)


      1 // Copyright 2024 splitkb.com (support@splitkb.com)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #pragma once
      5 
      6 #include <stdint.h>
      7 #include <stdbool.h>
      8 #include "matrix.h"
      9 
     10 typedef enum { UNINITIALIZED, NONE, INVALID, UNKNOWN, SKB_SWITCHES, SKB_ENCODER, SKB_JOYSTICK } myriad_card_t;
     11 
     12 bool          myriad_hook_matrix(matrix_row_t current_matrix[]);
     13 uint8_t       myriad_hook_encoder(uint8_t index, bool pad_b);
     14 myriad_card_t detect_myriad(void);
     15 
     16 //// Elora-specific pinout
     17 
     18 // Control signals
     19 #define MYRIAD_PRESENT GP3
     20 #define MYRIAD_MCU_OVERRIDE GP2
     21 
     22 // General I/O
     23 #define MYRIAD_ADC1 GP26
     24 #define MYRIAD_ADC2 GP27
     25 #define MYRIAD_ADC1_CHANNEL 0
     26 #define MYRIAD_ADC2_CHANNEL 1
     27 #define MYRIAD_PWM1 GP23
     28 #define MYRIAD_PWM2 GP24
     29 #define MYRIAD_GPIO1 GP4
     30 #define MYRIAD_GPIO2 GP5
     31 #define MYRIAD_GPIO3 GP6
     32 #define MYRIAD_GPIO4 GP8
     33 
     34 // UART
     35 #define MYRIAD_RX GP17
     36 #define MYRIAD_TX GP16
     37 #define MYRIAD_CTS GP18
     38 #define MYRIAD_RTS GP19
     39 
     40 // SPI
     41 #define MYRIAD_MISO GP12
     42 #define MYRIAD_MOSI GP11
     43 #define MYRIAD_SCK GP10
     44 #define MYRIAD_MODULE_CS GP9
     45 #define MYRIAD_MATRIX_CS GP13
     46 
     47 // I2C
     48 #define MYRIAD_SDA GP0
     49 #define MYRIAD_SCL GP1
     50 
     51 // RGB
     52 #define MYRIAD_RGB GP15