mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-21 05:33:24 +00:00
Merge branch 'dev' into 4.3inch
This commit is contained in:
125
CYD-Klipper/boards/esp32-2432S032C-smartdisplay.json
Normal file
125
CYD-Klipper/boards/esp32-2432S032C-smartdisplay.json
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"arduino": {
|
||||||
|
"ldscript": "esp32_out.ld"
|
||||||
|
},
|
||||||
|
"core": "esp32",
|
||||||
|
"extra_flags": [
|
||||||
|
"'-D ARDUINO_ESP32_DEV'",
|
||||||
|
"'-D ESP32_2432S032C'",
|
||||||
|
"'-D LCD_WIDTH=240'",
|
||||||
|
"'-D LCD_HEIGHT=320'",
|
||||||
|
"'-D LVGL_BUFFER_PIXELS=(LCD_WIDTH*LCD_HEIGHT/4)'",
|
||||||
|
"'-D LVGL_BUFFER_MALLOC_FLAGS=(MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT)'",
|
||||||
|
"'-D BCKL=27'",
|
||||||
|
"'-D LCD_IPS'",
|
||||||
|
"'-D LCD_ST7789_SPI'",
|
||||||
|
"'-D ST7789_SPI_HOST=SPI2_HOST'",
|
||||||
|
"'-D ST7789_SPI_DMA_CHANNEL=SPI_DMA_CH_AUTO'",
|
||||||
|
"'-D ST7789_SPI_BUS_MOSI_IO_NUM=13'",
|
||||||
|
"'-D ST7789_SPI_BUS_MISO_IO_NUM=12'",
|
||||||
|
"'-D ST7789_SPI_BUS_SCLK_IO_NUM=14'",
|
||||||
|
"'-D ST7789_SPI_BUS_QUADWP_IO_NUM=GPIO_NUM_NC'",
|
||||||
|
"'-D ST7789_SPI_BUS_QUADHD_IO_NUM=GPIO_NUM_NC'",
|
||||||
|
"'-D ST7789_SPI_BUS_MAX_TRANSFER_SZ=0'",
|
||||||
|
"'-D ST7789_SPI_BUS_FLAGS=0'",
|
||||||
|
"'-D ST7789_SPI_BUS_INTR_FLAGS=0'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_CS_GPIO_NUM=15'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_DC_GPIO_NUM=2'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_SPI_MODE=SPI_MODE3'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_PCLK_HZ=24000000'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_TRANS_QUEUE_DEPTH=10'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_LCD_CMD_BITS=8'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_LCD_PARAM_BITS=8'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_FLAGS_DC_AS_CMD_PHASE=false'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_FLAGS_DC_LOW_ON_DATA=false'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_FLAGS_OCTAL_MODE=false'",
|
||||||
|
"'-D ST7789_SPI_CONFIG_FLAGS_LSB_FIRST=false'",
|
||||||
|
"'-D ST7789_DEV_CONFIG_RESET_GPIO_NUM=GPIO_NUM_NC'",
|
||||||
|
"'-D ST7789_DEV_CONFIG_COLOR_SPACE=ESP_LCD_COLOR_SPACE_RGB'",
|
||||||
|
"'-D ST7789_DEV_CONFIG_BITS_PER_PIXEL=16'",
|
||||||
|
"'-D ST7789_DEV_CONFIG_FLAGS_RESET_ACTIVE_HIGH=false'",
|
||||||
|
"'-D ST7789_DEV_CONFIG_VENDOR_CONFIG=NULL'",
|
||||||
|
"'-D LCD_SWAP_XY=false'",
|
||||||
|
"'-D LCD_MIRROR_X=false'",
|
||||||
|
"'-D LCD_MIRROR_Y=false'",
|
||||||
|
"'-D BOARD_HAS_TOUCH'",
|
||||||
|
"'-D TOUCH_GT911_I2C'",
|
||||||
|
"'-D GT911_I2C_HOST=0'",
|
||||||
|
"'-D GT911_I2C_CONFIG_SDA_IO_NUM=33'",
|
||||||
|
"'-D GT911_I2C_CONFIG_SCL_IO_NUM=32'",
|
||||||
|
"'-D GT911_I2C_CONFIG_SDA_PULLUP_EN=GPIO_PULLUP_ENABLE'",
|
||||||
|
"'-D GT911_I2C_CONFIG_SCL_PULLUP_EN=GPIO_PULLUP_ENABLE'",
|
||||||
|
"'-D GT911_I2C_CONFIG_MASTER_CLK_SPEED=400000'",
|
||||||
|
"'-D GT911_I2C_CONFIG_CLK_FLAGS=0'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_DEV_ADDR=ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_CONTROL_PHASE_BYTES=1'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_DC_BIT_OFFSET=0'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_LCD_CMD_BITS=16'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_LCD_PARAM_BITS=0'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_FLAGS_DC_LOW_ON_DATA=false'",
|
||||||
|
"'-D GT911_IO_I2C_CONFIG_FLAGS_DISABLE_CONTROL_PHASE=true'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_X_MAX=LCD_WIDTH'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_Y_MAX=LCD_HEIGHT'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_RST_GPIO_NUM=25'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_INT_GPIO_NUM=21'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_LEVELS_RESET=0'",
|
||||||
|
"'-D GT911_TOUCH_CONFIG_LEVELS_INTERRUPT=0'",
|
||||||
|
"'-D TOUCH_SWAP_XY=true'",
|
||||||
|
"'-D TOUCH_SWAP_X=false'",
|
||||||
|
"'-D TOUCH_SWAP_Y=false'",
|
||||||
|
"'-D BOARD_HAS_TF'",
|
||||||
|
"'-D TF_CS=5'",
|
||||||
|
"'-D TF_SPI_MOSI=23'",
|
||||||
|
"'-D TF_SPI_SCLK=18'",
|
||||||
|
"'-D TF_SPI_MISO=19'",
|
||||||
|
"'-D BOARD_HAS_RGB_LED'",
|
||||||
|
"'-D RGB_LED_R=4'",
|
||||||
|
"'-D RGB_LED_G=16'",
|
||||||
|
"'-D RGB_LED_B=17'",
|
||||||
|
"'-D BOARD_HAS_CDS'",
|
||||||
|
"'-D CDS=34'",
|
||||||
|
"'-D BOARD_HAS_SPEAK'",
|
||||||
|
"'-D SPEAK=26'",
|
||||||
|
|
||||||
|
"-DCYD_SCREEN_HEIGHT_PX=240",
|
||||||
|
"-DCYD_SCREEN_WIDTH_PX=320",
|
||||||
|
"-DCYD_SCREEN_GAP_PX=8",
|
||||||
|
"-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=35",
|
||||||
|
"-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=35",
|
||||||
|
"-DCYD_SCREEN_FONT=lv_font_montserrat_14",
|
||||||
|
"-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_10",
|
||||||
|
"-DCYD_SCREEN_SIDEBAR_SIZE_PX=40",
|
||||||
|
"-DCYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY=1",
|
||||||
|
"-DCYD_SCREEN_DISABLE_TOUCH_CALIBRATION=1"
|
||||||
|
],
|
||||||
|
"f_cpu": "240000000L",
|
||||||
|
"f_flash": "40000000L",
|
||||||
|
"flash_mode": "dio",
|
||||||
|
"mcu": "esp32",
|
||||||
|
"variant": "esp32"
|
||||||
|
},
|
||||||
|
"connectivity": [
|
||||||
|
"wifi",
|
||||||
|
"bluetooth",
|
||||||
|
"ethernet",
|
||||||
|
"can"
|
||||||
|
],
|
||||||
|
"debug": {
|
||||||
|
"openocd_board": "esp-wroom-32.cfg"
|
||||||
|
},
|
||||||
|
"frameworks": [
|
||||||
|
"arduino",
|
||||||
|
"espidf"
|
||||||
|
],
|
||||||
|
"name": "esp32-2432S032C-SD",
|
||||||
|
"upload": {
|
||||||
|
"flash_size": "4MB",
|
||||||
|
"maximum_ram_size": 327680,
|
||||||
|
"maximum_size": 4194304,
|
||||||
|
"require_upload_port": true,
|
||||||
|
"speed": 460800
|
||||||
|
},
|
||||||
|
"url": "https://www.aliexpress.com/item/1005006224494145.html",
|
||||||
|
"vendor": "Sunton"
|
||||||
|
}
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
"arduino",
|
"arduino",
|
||||||
"espidf"
|
"espidf"
|
||||||
],
|
],
|
||||||
"name": "esp32-8048S043C",
|
"name": "esp32-8048S043C-SD",
|
||||||
"upload": {
|
"upload": {
|
||||||
"flash_size": "16MB",
|
"flash_size": "16MB",
|
||||||
"maximum_ram_size": 327680,
|
"maximum_ram_size": 327680,
|
||||||
|
|||||||
@@ -43,11 +43,14 @@ lib_deps =
|
|||||||
bblanchon/ArduinoJson@^7.0.0
|
bblanchon/ArduinoJson@^7.0.0
|
||||||
plageoj/UrlEncode@^1.0.1
|
plageoj/UrlEncode@^1.0.1
|
||||||
|
|
||||||
[env:esp32-3248S035C-smartdisplay]
|
[env:esp32-3248S035C-SD]
|
||||||
board = esp32-3248S035C-smartdisplay
|
board = esp32-3248S035C-smartdisplay
|
||||||
|
|
||||||
[env:esp32-2432S028R-smartdisplay]
|
[env:esp32-2432S028R-SD]
|
||||||
board = esp32-2432S028R-smartdisplay
|
board = esp32-2432S028R-smartdisplay
|
||||||
|
|
||||||
[env:esp32-8048S043C-smartdisplay]
|
[env:esp32-8048S043C-SD]
|
||||||
board = esp32-8048S043C-smartdisplay
|
board = esp32-8048S043C-smartdisplay
|
||||||
|
|
||||||
|
[env:esp32-2432S032C-SD]
|
||||||
|
board = esp32-2432S032C-smartdisplay
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
#ifdef CYD_SCREEN_DRIVER_ESP32_2432S028R
|
#ifdef CYD_SCREEN_DRIVER_ESP32_2432S028R
|
||||||
#include "../screen_driver.h"
|
#include "../screen_driver.h"
|
||||||
|
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
#error "Vertical screen not supported with the ESP32_2432S028R driver"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <TFT_eSPI.h>
|
#include <TFT_eSPI.h>
|
||||||
#include "../../conf/global_config.h"
|
#include "../../conf/global_config.h"
|
||||||
@@ -81,7 +85,6 @@ void screen_setup()
|
|||||||
|
|
||||||
tft.setRotation(global_config.rotateScreen ? 3 : 1);
|
tft.setRotation(global_config.rotateScreen ? 3 : 1);
|
||||||
tft.fillScreen(TFT_BLACK);
|
tft.fillScreen(TFT_BLACK);
|
||||||
set_screen_brightness();
|
|
||||||
set_invert_display();
|
set_invert_display();
|
||||||
|
|
||||||
touchscreen_spi.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
|
touchscreen_spi.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
#ifdef CYD_SCREEN_DRIVER_ESP32_3248S035C
|
#ifdef CYD_SCREEN_DRIVER_ESP32_3248S035C
|
||||||
|
#include "../screen_driver.h"
|
||||||
|
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
#error "Vertical screen not supported with the ESP32_3248S035C driver"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
#include <TAMC_GT911.h>
|
#include <TAMC_GT911.h>
|
||||||
@@ -111,7 +116,6 @@ void screen_setup()
|
|||||||
ledcAttachPin(TFT_BL, 0);
|
ledcAttachPin(TFT_BL, 0);
|
||||||
tft.setRotation(global_config.rotateScreen ? 3 : 1);
|
tft.setRotation(global_config.rotateScreen ? 3 : 1);
|
||||||
tft.fillScreen(TFT_BLACK);
|
tft.fillScreen(TFT_BLACK);
|
||||||
set_screen_brightness();
|
|
||||||
set_invert_display();
|
set_invert_display();
|
||||||
LED_init();
|
LED_init();
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ void screen_setBrightness(byte brightness)
|
|||||||
smartdisplay_lcd_set_backlight(brightness / 255.0f);
|
smartdisplay_lcd_set_backlight(brightness / 255.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_invert_display(){
|
void set_invert_display()
|
||||||
|
{
|
||||||
lv_obj_invalidate(lv_scr_act());
|
lv_obj_invalidate(lv_scr_act());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,6 +34,23 @@ void lv_screen_intercept(_lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_col
|
|||||||
original_screen_driver(disp_drv, area, color_p);
|
original_screen_driver(disp_drv, area, color_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ROTATION_INVERTED
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
#define ROTATION_INVERTED LV_DISP_ROT_180
|
||||||
|
#else
|
||||||
|
#define ROTATION_INVERTED LV_DISP_ROT_270
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ROTATION_NORMAL
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
#define ROTATION_NORMAL LV_DISP_ROT_NONE
|
||||||
|
#else
|
||||||
|
#define ROTATION_NORMAL LV_DISP_ROT_90
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
void screen_setup()
|
void screen_setup()
|
||||||
{
|
{
|
||||||
smartdisplay_init();
|
smartdisplay_init();
|
||||||
@@ -44,7 +62,7 @@ void screen_setup()
|
|||||||
}
|
}
|
||||||
#endif // CYD_SCREEN_DISABLE_INVERT_COLORS
|
#endif // CYD_SCREEN_DISABLE_INVERT_COLORS
|
||||||
|
|
||||||
lv_disp_set_rotation(lv_disp_get_default(), (global_config.rotateScreen) ? LV_DISP_ROT_270 : LV_DISP_ROT_90);
|
lv_disp_set_rotation(lv_disp_get_default(), (global_config.rotateScreen) ? ROTATION_INVERTED : ROTATION_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // CYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY
|
#endif // CYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY
|
||||||
@@ -25,13 +25,14 @@ void lv_touch_intercept_calibration(lv_indev_drv_t *indev_driver, lv_indev_data_
|
|||||||
original_touch_driver(indev_driver, data);
|
original_touch_driver(indev_driver, data);
|
||||||
|
|
||||||
if (data->state == LV_INDEV_STATE_PR){
|
if (data->state == LV_INDEV_STATE_PR){
|
||||||
point[0] = data->point.x;
|
lv_coord_t local_point[] = {data->point.x, data->point.y};
|
||||||
point[1] = data->point.y;
|
|
||||||
|
|
||||||
while (data->state == LV_INDEV_STATE_PR){
|
while (data->state == LV_INDEV_STATE_PR){
|
||||||
original_touch_driver(indev_driver, data);
|
original_touch_driver(indev_driver, data);
|
||||||
delay(20);
|
delay(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
point[0] = local_point[0];
|
||||||
|
point[1] = local_point[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
data->state = LV_INDEV_STATE_REL;
|
data->state = LV_INDEV_STATE_REL;
|
||||||
@@ -102,6 +103,8 @@ void lv_do_calibration(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delay(300);
|
||||||
|
|
||||||
lv_coord_t x1 = point[0];
|
lv_coord_t x1 = point[0];
|
||||||
lv_coord_t y1 = point[1];
|
lv_coord_t y1 = point[1];
|
||||||
point[0] = 0;
|
point[0] = 0;
|
||||||
@@ -267,6 +270,7 @@ void lv_setup()
|
|||||||
|
|
||||||
screen_timer_setup();
|
screen_timer_setup();
|
||||||
screen_timer_start();
|
screen_timer_start();
|
||||||
|
set_screen_brightness();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_screen_asleep()
|
bool is_screen_asleep()
|
||||||
|
|||||||
@@ -79,7 +79,13 @@ static void btn_click_macros(lv_event_t * e){
|
|||||||
void create_button(const char* icon, const char* name, lv_event_cb_t button_click, lv_event_cb_t label_update, lv_obj_t * root){
|
void create_button(const char* icon, const char* name, lv_event_cb_t button_click, lv_event_cb_t label_update, lv_obj_t * root){
|
||||||
lv_obj_t* btn = lv_btn_create(root);
|
lv_obj_t* btn = lv_btn_create(root);
|
||||||
lv_obj_set_flex_grow(btn, 1);
|
lv_obj_set_flex_grow(btn, 1);
|
||||||
|
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
lv_obj_set_height(btn, CYD_SCREEN_SIDEBAR_SIZE_PX);
|
||||||
|
#else
|
||||||
lv_obj_set_width(btn, CYD_SCREEN_SIDEBAR_SIZE_PX);
|
lv_obj_set_width(btn, CYD_SCREEN_SIDEBAR_SIZE_PX);
|
||||||
|
#endif
|
||||||
|
|
||||||
lv_obj_add_style(btn, &nav_button_style, 0);
|
lv_obj_add_style(btn, &nav_button_style, 0);
|
||||||
if (button_click != NULL)
|
if (button_click != NULL)
|
||||||
lv_obj_add_event_cb(btn, button_click, LV_EVENT_CLICKED, NULL);
|
lv_obj_add_event_cb(btn, button_click, LV_EVENT_CLICKED, NULL);
|
||||||
@@ -101,10 +107,18 @@ void nav_buttons_setup(unsigned char active_panel){
|
|||||||
lv_obj_clear_flag(lv_scr_act(), LV_OBJ_FLAG_SCROLLABLE);
|
lv_obj_clear_flag(lv_scr_act(), LV_OBJ_FLAG_SCROLLABLE);
|
||||||
|
|
||||||
lv_obj_t * root_panel = lv_create_empty_panel(lv_scr_act());
|
lv_obj_t * root_panel = lv_create_empty_panel(lv_scr_act());
|
||||||
|
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
lv_obj_set_size(root_panel, CYD_SCREEN_WIDTH_PX, CYD_SCREEN_SIDEBAR_SIZE_PX);
|
||||||
|
lv_obj_align(root_panel, LV_ALIGN_BOTTOM_LEFT, 0, 0);
|
||||||
|
lv_layout_flex_row(root_panel, LV_FLEX_ALIGN_START, 0, 0);
|
||||||
|
#else
|
||||||
lv_obj_set_size(root_panel, CYD_SCREEN_SIDEBAR_SIZE_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(root_panel, CYD_SCREEN_SIDEBAR_SIZE_PX, CYD_SCREEN_HEIGHT_PX);
|
||||||
lv_obj_align(root_panel, LV_ALIGN_TOP_LEFT, 0, 0);
|
lv_obj_align(root_panel, LV_ALIGN_TOP_LEFT, 0, 0);
|
||||||
lv_layout_flex_column(root_panel, LV_FLEX_ALIGN_START, 0, 0);
|
lv_layout_flex_column(root_panel, LV_FLEX_ALIGN_START, 0, 0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Files/Print
|
// Files/Print
|
||||||
create_button(LV_SYMBOL_COPY, "Idle", btn_click_files, update_printer_data_time, root_panel);
|
create_button(LV_SYMBOL_COPY, "Idle", btn_click_files, update_printer_data_time, root_panel);
|
||||||
|
|
||||||
@@ -118,7 +132,7 @@ void nav_buttons_setup(unsigned char active_panel){
|
|||||||
create_button(LV_SYMBOL_GPS, "Macro", btn_click_macros, NULL, root_panel);
|
create_button(LV_SYMBOL_GPS, "Macro", btn_click_macros, NULL, root_panel);
|
||||||
|
|
||||||
lv_obj_t * panel = lv_create_empty_panel(lv_scr_act());
|
lv_obj_t * panel = lv_create_empty_panel(lv_scr_act());
|
||||||
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_obj_align(panel, LV_ALIGN_TOP_RIGHT, 0, 0);
|
lv_obj_align(panel, LV_ALIGN_TOP_RIGHT, 0, 0);
|
||||||
|
|
||||||
switch (active_panel){
|
switch (active_panel){
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ void macros_panel_init(lv_obj_t* panel) {
|
|||||||
|
|
||||||
lv_obj_t * root_panel = lv_create_empty_panel(panel);
|
lv_obj_t * root_panel = lv_create_empty_panel(panel);
|
||||||
lv_obj_set_scrollbar_mode(root_panel, LV_SCROLLBAR_MODE_OFF);
|
lv_obj_set_scrollbar_mode(root_panel, LV_SCROLLBAR_MODE_OFF);
|
||||||
lv_obj_set_size(root_panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX - CYD_SCREEN_MIN_BUTTON_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
lv_obj_set_size(root_panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX - CYD_SCREEN_MIN_BUTTON_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
||||||
lv_obj_align(root_panel, LV_ALIGN_TOP_MID, 0, CYD_SCREEN_MIN_BUTTON_HEIGHT_PX + CYD_SCREEN_GAP_PX * 2);
|
lv_obj_align(root_panel, LV_ALIGN_TOP_MID, 0, CYD_SCREEN_MIN_BUTTON_HEIGHT_PX + CYD_SCREEN_GAP_PX * 2);
|
||||||
lv_layout_flex_column(root_panel);
|
lv_layout_flex_column(root_panel);
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ inline void root_panel_steppers_locked(lv_obj_t * root_panel){
|
|||||||
const auto width = CYD_SCREEN_PANEL_WIDTH_PX - CYD_SCREEN_GAP_PX * 2;
|
const auto width = CYD_SCREEN_PANEL_WIDTH_PX - CYD_SCREEN_GAP_PX * 2;
|
||||||
|
|
||||||
lv_obj_t * panel = lv_create_empty_panel(root_panel);
|
lv_obj_t * panel = lv_create_empty_panel(root_panel);
|
||||||
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_obj_set_style_pad_all(panel, CYD_SCREEN_GAP_PX, 0);
|
lv_obj_set_style_pad_all(panel, CYD_SCREEN_GAP_PX, 0);
|
||||||
lv_layout_flex_column(panel, LV_FLEX_ALIGN_SPACE_BETWEEN, 0, 0);
|
lv_layout_flex_column(panel, LV_FLEX_ALIGN_SPACE_BETWEEN, 0, 0);
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ inline void root_panel_steppers_locked(lv_obj_t * root_panel){
|
|||||||
|
|
||||||
inline void root_panel_steppers_unlocked(lv_obj_t * root_panel){
|
inline void root_panel_steppers_unlocked(lv_obj_t * root_panel){
|
||||||
lv_obj_t * panel = lv_create_empty_panel(root_panel);
|
lv_obj_t * panel = lv_create_empty_panel(root_panel);
|
||||||
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_obj_set_style_pad_all(panel, CYD_SCREEN_GAP_PX, 0);
|
lv_obj_set_style_pad_all(panel, CYD_SCREEN_GAP_PX, 0);
|
||||||
lv_layout_flex_column(panel, LV_FLEX_ALIGN_CENTER);
|
lv_layout_flex_column(panel, LV_FLEX_ALIGN_CENTER);
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ void print_panel_init(lv_obj_t* panel){
|
|||||||
lv_obj_set_style_radius(list, 0, 0);
|
lv_obj_set_style_radius(list, 0, 0);
|
||||||
lv_obj_set_style_border_width(list, 0, 0);
|
lv_obj_set_style_border_width(list, 0, 0);
|
||||||
lv_obj_set_style_bg_opa(list, LV_OPA_TRANSP, 0);
|
lv_obj_set_style_bg_opa(list, LV_OPA_TRANSP, 0);
|
||||||
lv_obj_set_size(list, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(list, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_obj_align(list, LV_ALIGN_CENTER, 0, 0);
|
lv_obj_align(list, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
|
||||||
FILESYSTEM_FILE* files = get_files(25);
|
FILESYSTEM_FILE* files = get_files(25);
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ void stats_panel_init(lv_obj_t* panel) {
|
|||||||
auto panel_width = CYD_SCREEN_PANEL_WIDTH_PX / 2 - CYD_SCREEN_GAP_PX * 3;
|
auto panel_width = CYD_SCREEN_PANEL_WIDTH_PX / 2 - CYD_SCREEN_GAP_PX * 3;
|
||||||
|
|
||||||
lv_obj_t * left_panel = lv_create_empty_panel(panel);
|
lv_obj_t * left_panel = lv_create_empty_panel(panel);
|
||||||
lv_obj_set_size(left_panel, panel_width, CYD_SCREEN_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
lv_obj_set_size(left_panel, panel_width, CYD_SCREEN_PANEL_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
||||||
lv_layout_flex_column(left_panel);
|
lv_layout_flex_column(left_panel);
|
||||||
lv_obj_set_flex_align(left_panel, LV_FLEX_ALIGN_SPACE_BETWEEN, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
|
lv_obj_set_flex_align(left_panel, LV_FLEX_ALIGN_SPACE_BETWEEN, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
|
||||||
lv_obj_align(left_panel, LV_ALIGN_TOP_LEFT, CYD_SCREEN_GAP_PX, CYD_SCREEN_GAP_PX);
|
lv_obj_align(left_panel, LV_ALIGN_TOP_LEFT, CYD_SCREEN_GAP_PX, CYD_SCREEN_GAP_PX);
|
||||||
@@ -244,7 +244,7 @@ void stats_panel_init(lv_obj_t* panel) {
|
|||||||
create_stat_text_block(left_panel, "Feedrate:", label_feedrate);
|
create_stat_text_block(left_panel, "Feedrate:", label_feedrate);
|
||||||
|
|
||||||
lv_obj_t * right_panel = lv_create_empty_panel(panel);
|
lv_obj_t * right_panel = lv_create_empty_panel(panel);
|
||||||
lv_obj_set_size(right_panel, panel_width, CYD_SCREEN_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
lv_obj_set_size(right_panel, panel_width, CYD_SCREEN_PANEL_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2);
|
||||||
lv_layout_flex_column(right_panel, LV_FLEX_ALIGN_CENTER);
|
lv_layout_flex_column(right_panel, LV_FLEX_ALIGN_CENTER);
|
||||||
lv_obj_align(right_panel, LV_ALIGN_TOP_RIGHT, -1 * CYD_SCREEN_GAP_PX, CYD_SCREEN_GAP_PX);
|
lv_obj_align(right_panel, LV_ALIGN_TOP_RIGHT, -1 * CYD_SCREEN_GAP_PX, CYD_SCREEN_GAP_PX);
|
||||||
|
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ static void keyboard_callback(lv_event_t * e){
|
|||||||
static void show_keyboard(lv_event_t * e){
|
static void show_keyboard(lv_event_t * e){
|
||||||
lv_obj_t * parent = lv_create_empty_panel(root_panel);
|
lv_obj_t * parent = lv_create_empty_panel(root_panel);
|
||||||
lv_obj_set_style_bg_opa(parent, LV_OPA_50, 0);
|
lv_obj_set_style_bg_opa(parent, LV_OPA_50, 0);
|
||||||
lv_obj_set_size(parent, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(parent, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_layout_flex_column(parent, LV_FLEX_ALIGN_SPACE_BETWEEN);
|
lv_layout_flex_column(parent, LV_FLEX_ALIGN_SPACE_BETWEEN);
|
||||||
|
|
||||||
lv_obj_t * empty_panel = lv_create_empty_panel(parent);
|
lv_obj_t * empty_panel = lv_create_empty_panel(parent);
|
||||||
@@ -261,7 +261,7 @@ void temp_panel_init(lv_obj_t * panel){
|
|||||||
edit_mode = false;
|
edit_mode = false;
|
||||||
|
|
||||||
lv_obj_t * root_temp_panel = lv_create_empty_panel(panel);
|
lv_obj_t * root_temp_panel = lv_create_empty_panel(panel);
|
||||||
lv_obj_set_size(root_temp_panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
|
lv_obj_set_size(root_temp_panel, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_PANEL_HEIGHT_PX);
|
||||||
lv_obj_align(root_temp_panel, LV_ALIGN_TOP_RIGHT, 0, 0);
|
lv_obj_align(root_temp_panel, LV_ALIGN_TOP_RIGHT, 0, 0);
|
||||||
lv_obj_set_style_pad_all(root_temp_panel, CYD_SCREEN_GAP_PX, 0);
|
lv_obj_set_style_pad_all(root_temp_panel, CYD_SCREEN_GAP_PX, 0);
|
||||||
lv_layout_flex_column(root_temp_panel);
|
lv_layout_flex_column(root_temp_panel);
|
||||||
@@ -293,7 +293,7 @@ void temp_panel_init(lv_obj_t * panel){
|
|||||||
lv_msg_subscribe_obj(DATA_PRINTER_DATA, chart, NULL);
|
lv_msg_subscribe_obj(DATA_PRINTER_DATA, chart, NULL);
|
||||||
|
|
||||||
lv_obj_t * single_screen_panel = lv_create_empty_panel(root_temp_panel);
|
lv_obj_t * single_screen_panel = lv_create_empty_panel(root_temp_panel);
|
||||||
lv_obj_set_size(single_screen_panel, element_width, CYD_SCREEN_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2 - CYD_SCREEN_GAP_PX / 2);
|
lv_obj_set_size(single_screen_panel, element_width, CYD_SCREEN_PANEL_HEIGHT_PX - CYD_SCREEN_GAP_PX * 2 - CYD_SCREEN_GAP_PX / 2);
|
||||||
lv_layout_flex_column(single_screen_panel);
|
lv_layout_flex_column(single_screen_panel);
|
||||||
|
|
||||||
lv_obj_t * temp_rows[2] = {0};
|
lv_obj_t * temp_rows[2] = {0};
|
||||||
|
|||||||
@@ -1,5 +1,18 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef CYD_SCREEN_VERTICAL
|
||||||
|
#ifndef CYD_SCREEN_WIDTH_PX
|
||||||
|
#define CYD_SCREEN_WIDTH_PX LCD_WIDTH
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CYD_SCREEN_HEIGHT_PX
|
||||||
|
#define CYD_SCREEN_HEIGHT_PX LCD_HEIGHT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define CYD_SCREEN_PANEL_HEIGHT_PX \
|
||||||
|
(CYD_SCREEN_HEIGHT_PX - CYD_SCREEN_SIDEBAR_SIZE_PX)
|
||||||
|
#define CYD_SCREEN_PANEL_WIDTH_PX CYD_SCREEN_WIDTH_PX
|
||||||
|
#else
|
||||||
#ifndef CYD_SCREEN_WIDTH_PX
|
#ifndef CYD_SCREEN_WIDTH_PX
|
||||||
#define CYD_SCREEN_WIDTH_PX LCD_HEIGHT
|
#define CYD_SCREEN_WIDTH_PX LCD_HEIGHT
|
||||||
#endif
|
#endif
|
||||||
@@ -8,8 +21,10 @@
|
|||||||
#define CYD_SCREEN_HEIGHT_PX LCD_WIDTH
|
#define CYD_SCREEN_HEIGHT_PX LCD_WIDTH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CYD_SCREEN_PANEL_HEIGHT_PX CYD_SCREEN_HEIGHT_PX
|
||||||
#define CYD_SCREEN_PANEL_WIDTH_PX \
|
#define CYD_SCREEN_PANEL_WIDTH_PX \
|
||||||
(CYD_SCREEN_WIDTH_PX - CYD_SCREEN_SIDEBAR_SIZE_PX)
|
(CYD_SCREEN_WIDTH_PX - CYD_SCREEN_SIDEBAR_SIZE_PX)
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
lv_event_cb_t event;
|
lv_event_cb_t event;
|
||||||
|
|||||||
2
ci.py
2
ci.py
@@ -1,6 +1,6 @@
|
|||||||
import subprocess, os, shutil, json
|
import subprocess, os, shutil, json
|
||||||
|
|
||||||
CYD_PORTS = ["esp32-3248S035C", "esp32-2432S028R", "esp32-8048S043C-smartdisplay"]
|
CYD_PORTS = ["esp32-3248S035C", "esp32-2432S028R", "esp32-2432S032C-SD", "esp32-8048S043C-SD"]
|
||||||
BASE_DIR = os.getcwd()
|
BASE_DIR = os.getcwd()
|
||||||
|
|
||||||
def get_manifest(base_path : str, device_name : str):
|
def get_manifest(base_path : str, device_name : str):
|
||||||
|
|||||||
Reference in New Issue
Block a user