/* * board_defines.h * * Created on: 23 Apr 2026 * Author: Christian Lind Vie Madsen */ #ifndef BOARD_DEFINES_H_ #define BOARD_DEFINES_H_ #include "driver/gpio.h" /* * I2C config and addresses * */ #define I2C_CONFIG_SPEED 400000 #define I2C_ADDR_IOEXP_PCF8574 0x40 #define I2C_ADDR_ADC_ADS1015 (0x48 << 1) /* * General IO * */ // Buttons #define GPIO_BTN_ENT GPIO_NUM_6 #define GPIO_BTN_ESC GPIO_NUM_7 #define GPIO_BTN_DOWN GPIO_NUM_15 #define GPIO_BTN_UP GPIO_NUM_16 // LCD Display Specific #define GPIO_LCD_CS GPIO_NUM_40 #define GPIO_LCD_RS GPIO_NUM_39 #define GPIO_LCD_RST GPIO_NUM_38 #define GPIO_LCD_BACKLIGHT GPIO_NUM_41 // PWM/Outputs #define GPIO_OUTPUT0 GPIO_NUM_45 #define GPIO_OUTPUT1 GPIO_NUM_35 #define GPIO_OUTPUT2 GPIO_NUM_42 #define GPIO_LEDG GPIO_NUM_14 #define GPIO_LEDR GPIO_NUM_21 // DIP switch Input #define GPIO_DIPSW0 GPIO_NUM_48 #define GPIO_DIPSW1 GPIO_NUM_47 // HW Revision #define GPIO_HW_REVISION GPIO_NUM_9 /* * Communication * */ // I2C Internal #define GPIO_I2C_INT_SDA GPIO_NUM_1 #define GPIO_I2C_INT_SCL GPIO_NUM_2 // I2C External (Expansion port) #define GPIO_I2C_EXT_SDA GPIO_NUM_10 #define GPIO_I2C_EXT_SCL GPIO_NUM_11 // CAN-Bus #define GPIO_CANBUS_TX GPIO_NUM_4 #define GPIO_CANBUS_RX GPIO_NUM_5 // MODBUS #define GPIO_MODBUS_RX GPIO_NUM_17 #define GPIO_MODBUS_TX GPIO_NUM_18 #define GPIO_MODBUS_DE GPIO_NUM_8 // UART (GSM/GPS module) #define GPIO_GSMGPS_RX GPIO_NUM_12 #define GPIO_GSMGPS_TX GPIO_NUM_13 // USB #define GPIO_USB_N GPIO_NUM_19 #define GPIO_USB_P GPIO_NUM_20 // SPI (LCD) #define GPIO_SPI_MOSI GPIO_NUM_37 #define GPIO_SPI_SCK GPIO_NUM_36 /* * LCD Specs * */ #define LCD_SPEC_HEIGHT (128) // Pixels #define LCD_SPEC_WIDTH (160) // Pixels #define MENU_SPACING 4 #endif /* BOARD_DEFINES_H_ */