/* @file: FIRMARE_DEF.h @author: Erik Tóth @contact: etoth@tsn.at @date: 2025-10-26 @updated: 2025-12-06 @brief: Header for constant definitions */ #ifndef FIRMWARE_DEF_H #define FIRMWARE_DEF_H #include #include // CONSTANTS DEFINITONS #define N_KEYBOARD_ROW 4 // for PROD. change to 5 #define N_KEYBOARD_COL 3 // for PROD. change to 5 #define N_CV_GATES 2 // PROD. OK #define N_SB 2 // PROD. OK #define BAUDRATE 115200 #define N_MAX_SEQ_STEPS 512 // PIN DEFENTITIONS // I2C PINS #define PIN_SDA 15 // PROD. pin OK #define PIN_SCL 16 // PROD. pin OK // KEYBOARD PINS #define PIN_K_R0 7 // PROD. pin OK #define PIN_K_R1 8 // PROD. pin OK #define PIN_K_R2 9 // PROD. pin OK #define PIN_K_R3 10 // PROD. pin OK #define PIN_K_R4 11 // DEV. not in use - PROD. pin OK #define PIN_K_C0 1 // PROD. pin OK #define PIN_K_C1 2 // PROD. pin OK #define PIN_K_C2 4 // PROD. pin OK #define PIN_K_C3 5 // DEV. not in use - PROD. pin OK #define PIN_K_C4 6 // DEV. not in use - PROD. pin OK // SEQUENCER BUTTON PINS #define PIN_SB_1_REC 38 // for PROD. change to 33 / not available on dev board #define PIN_SB_1_PLAY 37 // for PROD. change to 34 / not available on dev board #define PIN_SB_2_REC 35 // 35 #define PIN_SB_2_PLAY 36 // 36 // MISC/INFO PINS #define PIN_VCO1_EN 41 // PROD. pin 37 TODO: if there is an active key mapped to CV-Gate 1 --> HIGH #define PIN_VCO2_EN 40 // PROD. pin 38 TODO: if there is an active key mapped to CV-Gate 2 --> HIGH #define PIN_REC 39 // PROD. pin 39 TODO: if any sb is recording LED on (active-low) #define PIN_BPM 12 // PROD. pin 12 TODO: get bpm through potentiometer analog value -> ADC-Pin #define PIN_B_METRONOME 13 // PROD. pin 13 TODO: button activates/deactivates bpm led output (pull-up) #define PIN_L_METRONOME 14 // PROD. pin 14 TODO: led blinks according to bpm value (active-low) #endif