#ifndef __config #define __config // The default color set provided by Adafruit #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF /* TODO make constants for these values once they are used #define STOP_RED 0xF9A6 #define MOVING_ORANGE 0xF443 #define MOVING_ORANGE_LIGHT 0xFD8C */ class Config { public: /* Buttons */ static const uint8_t ButtonPortUp = 3; static const uint8_t ButtonPortMenu = 5; static const uint8_t ButtonPortDown = 6; /* Display Settings for an ST7789 based 240x240 pixel LCD. Note that all screen class implementations are only tested against this resolution, changing it may have unexpected results. */ static const uint8_t DisplayWidth = 240; static const uint8_t DisplayHeight = 240; static const uint8_t DisplayRotation = 2; // Control pins. Data is sent over the hardware SPI pins. static const uint8_t DisplayPortCS = 10; static const uint8_t DisplayPortRST = 9; static const uint8_t DisplayPortDC = 8; static const uint8_t DisplayPortBL = 7; static const uint16_t DisplayIdleTime = 10000; /* Height sensor Settings for a VL53L0X time-of-flight sensor. */ // Note that this must correspond to the default address of the module, // the initialisation code skips reassigning the address to save calls. static const uint8_t HeightSensorI2CAddress = 0x29; static const uint16_t HeightSensorBudget = 33000; // Values above this will be disregarded as invalid static const uint16_t HeightMeasurementMax = 1500; // How much the measurements can change to still be considered "stable" static const uint8_t HeightMeasurementDeltaStable = 5; // How far in advance to stop the motor static const uint8_t HeightMeasurementDeltaStop = 0; // How far off we can be from the target height to still be considered on target static const uint8_t HeightMeasurementDeltaOnTarget = 5; // How long we allow invalid measurements until the move operation is aborted static const uint8_t HeightMeasurementAbortTimeout = 100; /* Colors */ // A useful RGB565 calculator: http://www.rinkydinkelectronics.com/calc_rgb565.php static const uint16_t ColorInitSeqBackground = BLACK; static const uint16_t ColorInitSeqTitle = YELLOW; static const uint16_t ColorInitSeqItems = WHITE; static const uint16_t ColorInitSeqSuccess = GREEN; static const uint16_t ColorInitSeqError = RED; static const uint16_t ColorMenuBackground = BLACK; static const uint16_t ColorPresetText = 0x9492; // Light gray static const uint16_t ColorPresetBackground = BLACK; static const uint16_t ColorPresetNumber = 0x528A; // Dark gray static const uint16_t ColorPresetSelectedText = WHITE; static const uint16_t ColorPresetSelectedBackground = 0x2BE7; // Soft green static const uint16_t ColorPresetSelectedNumber = 0x556B; // Slightly lighter green }; #endif