#ifndef MIDI2CV_DRIVERS_GPIO_H #define MIDI2CV_DRIVERS_GPIO_H #include "stmlib/stmlib.h" #include #define PORT_SS_DAC0 GPIOB #define PIN_SS_DAC0 GPIO_Pin_6 #define PORT_SS_DAC1 GPIOB #define PIN_SS_DAC1 GPIO_Pin_7 #define PORT_RST_USB GPIOB #define PIN_RST_USB GPIO_Pin_8 #define PORT_SS_USB GPIOB #define PIN_SS_USB GPIO_Pin_9 #define PORT_SS_OLED GPIOB #define PIN_SS_OLED GPIO_Pin_11 #define PORT_SDC_OLED GPIOB #define PIN_SDC_OLED GPIO_Pin_12 #define PORT_GATE_OUT_1 GPIOA #define PIN_GATE_OUT_1 GPIO_Pin_0 #define PORT_GATE_OUT_2 GPIOA #define PIN_GATE_OUT_2 GPIO_Pin_1 #define PORT_GATE_OUT_3 GPIOA #define PIN_GATE_OUT_3 GPIO_Pin_2 #define PORT_GATE_OUT_4 GPIOA #define PIN_GATE_OUT_4 GPIO_Pin_3 #define PORT_GATE_OUT_5 GPIOA #define PIN_GATE_OUT_5 GPIO_Pin_4 #define PORT_GATE_OUT_6 GPIOA #define PIN_GATE_OUT_6 GPIO_Pin_5 #define GPIO_PIN(x) PORT_##x, PIN_##x class GPIO { public: GPIO() { } ~GPIO() {} void Init(); void Write(GPIO_TypeDef* port, uint16_t pin, bool state); private: DISALLOW_COPY_AND_ASSIGN(GPIO); }; #endif