mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-21 05:33:24 +00:00
:)
This commit is contained in:
@@ -67,7 +67,7 @@ void screen_lv_touchRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_invert_display(){
|
void set_invert_display(){
|
||||||
tft.invertDisplay(get_current_printer_config()->invert_colors);
|
tft.invertDisplay(global_config.printer_config[global_config.printer_index].invert_colors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void screen_setup()
|
void screen_setup()
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ void screen_lv_touchRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
|
|||||||
|
|
||||||
void set_invert_display()
|
void set_invert_display()
|
||||||
{
|
{
|
||||||
tft.invertDisplay(get_current_printer_config()->invert_colors);
|
tft.invertDisplay(global_config.printer_config[global_config.printer_index].invert_colors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_LED_color(uint8_t rgbVal[3])
|
void set_LED_color(uint8_t rgbVal[3])
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ void set_invert_display()
|
|||||||
|
|
||||||
void lv_screen_intercept(_lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
|
void lv_screen_intercept(_lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
|
||||||
{
|
{
|
||||||
if (get_current_printer_config()->invert_colors) {
|
if (global_config.printer_config[global_config.printer_index].invert_colors) {
|
||||||
uint32_t w = (area->x2 - area->x1 + 1);
|
uint32_t w = (area->x2 - area->x1 + 1);
|
||||||
uint32_t h = (area->y2 - area->y1 + 1);
|
uint32_t h = (area->y2 - area->y1 + 1);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../printer_integration.hpp"
|
#include "../printer_integration.hpp"
|
||||||
|
#include <HTTPClient.h>
|
||||||
|
|
||||||
class KlipperPrinter : public BasePrinter
|
class KlipperPrinter : public BasePrinter
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
#include "../ui/ui_utils.h"
|
#include "../ui/ui_utils.h"
|
||||||
#include <Esp.h>
|
#include <Esp.h>
|
||||||
#include "../ui/serial/serial_console.h"
|
#include "../ui/serial/serial_console.h"
|
||||||
#include "printer_integration.hpp"
|
|
||||||
|
|
||||||
#ifndef CPU_FREQ_HIGH
|
#ifndef CPU_FREQ_HIGH
|
||||||
#define CPU_FREQ_HIGH 240
|
#define CPU_FREQ_HIGH 240
|
||||||
@@ -255,7 +254,7 @@ void set_screen_timer_period()
|
|||||||
|
|
||||||
void set_color_scheme()
|
void set_color_scheme()
|
||||||
{
|
{
|
||||||
PrinterConfiguration *config = get_current_printer()->printer_config;
|
PrinterConfiguration *config = &global_config.printer_config[global_config.printer_index];
|
||||||
lv_disp_t *dispp = lv_disp_get_default();
|
lv_disp_t *dispp = lv_disp_get_default();
|
||||||
lv_color_t main_color = {0};
|
lv_color_t main_color = {0};
|
||||||
ColorDefinition color_def = color_defs[config->color_scheme];
|
ColorDefinition color_def = color_defs[config->color_scheme];
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
#include <HTTPClient.h>
|
#include <HTTPClient.h>
|
||||||
#include "core/data_setup.h"
|
#include "core/data_setup.h"
|
||||||
#include "ui_utils.h"
|
#include "ui_utils.h"
|
||||||
#include "../core/macros_query.h"
|
|
||||||
#include "panels/panel.h"
|
#include "panels/panel.h"
|
||||||
#include "../core/http_client.h"
|
|
||||||
#include "switch_printer.h"
|
#include "switch_printer.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
#include "../core/lv_setup.h"
|
#include "../core/lv_setup.h"
|
||||||
@@ -101,13 +99,13 @@ static void keyboard_event_ip_entry(lv_event_t * e) {
|
|||||||
}
|
}
|
||||||
else if (code == LV_EVENT_READY)
|
else if (code == LV_EVENT_READY)
|
||||||
{
|
{
|
||||||
strcpy(get_current_printer_config()->klipper_host, lv_textarea_get_text(hostEntry));
|
strcpy(global_config.printer_config[global_config.printer_index].klipper_host, lv_textarea_get_text(hostEntry));
|
||||||
get_current_printer_config()->klipper_port = atoi(lv_textarea_get_text(portEntry));
|
global_config.printer_config[global_config.printer_index].klipper_port = atoi(lv_textarea_get_text(portEntry));
|
||||||
|
|
||||||
connection_status_t status = verify_ip();
|
connection_status_t status = verify_ip();
|
||||||
if (status == CONNECT_OK)
|
if (status == CONNECT_OK)
|
||||||
{
|
{
|
||||||
get_current_printer_config()->ip_configured = true;
|
global_config.printer_config[global_config.printer_index].ip_configured = true;
|
||||||
write_global_config();
|
write_global_config();
|
||||||
}
|
}
|
||||||
else if (status == CONNECT_AUTH_REQUIRED)
|
else if (status == CONNECT_AUTH_REQUIRED)
|
||||||
@@ -136,12 +134,13 @@ static void keyboard_event_auth_entry(lv_event_t * e) {
|
|||||||
int len = strlen(txt);
|
int len = strlen(txt);
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
get_current_printer_config()->auth_configured = true;
|
global_config.printer_config[global_config.printer_index].auth_configured = true;
|
||||||
strcpy(get_current_printer_config()->klipper_auth, txt);
|
strcpy(global_config.printer_config[global_config.printer_index].klipper_auth, txt);
|
||||||
|
|
||||||
if (verify_ip() == CONNECT_OK)
|
if (verify_ip() == CONNECT_OK)
|
||||||
{
|
{
|
||||||
get_current_printer_config()->ip_configured = true;
|
global_config.printer_config[global_config.printer_index].ip_configured = true;
|
||||||
|
global_config.printer_config[global_config.printer_index].setup_complete = true;
|
||||||
write_global_config();
|
write_global_config();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -158,7 +157,7 @@ static void keyboard_event_auth_entry(lv_event_t * e) {
|
|||||||
|
|
||||||
void show_auth_entry()
|
void show_auth_entry()
|
||||||
{
|
{
|
||||||
get_current_printer_config()->klipper_auth[32] = 0;
|
global_config.printer_config[global_config.printer_index].klipper_auth[32] = 0;
|
||||||
lv_obj_clean(lv_scr_act());
|
lv_obj_clean(lv_scr_act());
|
||||||
|
|
||||||
lv_obj_t * root = lv_create_empty_panel(lv_scr_act());
|
lv_obj_t * root = lv_create_empty_panel(lv_scr_act());
|
||||||
@@ -180,8 +179,8 @@ void show_auth_entry()
|
|||||||
lv_textarea_set_max_length(passEntry, 32);
|
lv_textarea_set_max_length(passEntry, 32);
|
||||||
lv_textarea_set_one_line(passEntry, true);
|
lv_textarea_set_one_line(passEntry, true);
|
||||||
|
|
||||||
if (get_current_printer_config()->auth_configured)
|
if (global_config.printer_config[global_config.printer_index].auth_configured)
|
||||||
lv_textarea_set_text(passEntry, get_current_printer_config()->klipper_auth);
|
lv_textarea_set_text(passEntry, global_config.printer_config[global_config.printer_index].klipper_auth);
|
||||||
else
|
else
|
||||||
lv_textarea_set_text(passEntry, "");
|
lv_textarea_set_text(passEntry, "");
|
||||||
|
|
||||||
@@ -246,12 +245,12 @@ void show_ip_entry()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ip_init(){
|
void ip_init(){
|
||||||
if (!get_current_printer_config()->ip_configured)
|
if (!global_config.printer_config[global_config.printer_index].setup_complete)
|
||||||
{
|
{
|
||||||
show_ip_entry();
|
show_ip_entry();
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!get_current_printer_config()->ip_configured)
|
while (!global_config.printer_config[global_config.printer_index].setup_complete)
|
||||||
{
|
{
|
||||||
lv_handler();
|
lv_handler();
|
||||||
serial_console::run();
|
serial_console::run();
|
||||||
|
|||||||
@@ -1,27 +1,17 @@
|
|||||||
#include "switch_printer.h"
|
#include "switch_printer.h"
|
||||||
#include "../conf/global_config.h"
|
#include "../conf/global_config.h"
|
||||||
#include "ui_utils.h"
|
#include "ui_utils.h"
|
||||||
#include "../core/http_client.h"
|
|
||||||
#include "../core/lv_setup.h"
|
#include "../core/lv_setup.h"
|
||||||
#include "../core/macros_query.h"
|
|
||||||
#include "../core/screen_driver.h"
|
#include "../core/screen_driver.h"
|
||||||
#include "../core/data_setup.h"
|
|
||||||
|
|
||||||
void switch_printer(int index)
|
|
||||||
{
|
|
||||||
set_printer_config_index(index);
|
|
||||||
set_color_scheme();
|
|
||||||
set_invert_display();
|
|
||||||
printer.slicer_estimated_print_time_s = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void btn_switch_printer(lv_event_t *e){
|
static void btn_switch_printer(lv_event_t *e){
|
||||||
lv_obj_t *btn = lv_event_get_target(e);
|
lv_obj_t *btn = lv_event_get_target(e);
|
||||||
PrinterConfiguration * config = (PrinterConfiguration*)lv_event_get_user_data(e);
|
PrinterConfiguration * config = (PrinterConfiguration*)lv_event_get_user_data(e);
|
||||||
int index = config - global_config.printer_config;
|
int index = config - global_config.printer_config;
|
||||||
|
|
||||||
switch_printer(index);
|
global_config_set_printer(index);
|
||||||
|
set_color_scheme();
|
||||||
|
set_invert_display();
|
||||||
lv_obj_del(lv_obj_get_parent(lv_obj_get_parent(btn)));
|
lv_obj_del(lv_obj_get_parent(lv_obj_get_parent(btn)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,19 +38,14 @@ void switch_printer_init() {
|
|||||||
PrinterConfiguration * config = &global_config.printer_config[i];
|
PrinterConfiguration * config = &global_config.printer_config[i];
|
||||||
const char* printer_name = (config->printer_name[0] == 0) ? config->klipper_host : config->printer_name;
|
const char* printer_name = (config->printer_name[0] == 0) ? config->klipper_host : config->printer_name;
|
||||||
|
|
||||||
if (config == get_current_printer_config() && config->ip_configured)
|
if (i == global_config.printer_index && config->setup_complete)
|
||||||
{
|
{
|
||||||
lv_create_custom_menu_label(printer_name, parent, "Active");
|
lv_create_custom_menu_label(printer_name, parent, "Active");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config->ip_configured) {
|
if (config->setup_complete) {
|
||||||
HTTPClient client;
|
lv_create_custom_menu_button(printer_name, parent, btn_switch_printer, "Switch", config);
|
||||||
configure_http_client(client, get_full_url("/printer/objects/query?webhooks&print_stats&virtual_sdcard", config), true, 1000);
|
|
||||||
|
|
||||||
|
|
||||||
int httpCode = client.GET();
|
|
||||||
lv_create_custom_menu_button(printer_name, parent, btn_switch_printer, (httpCode == 200) ? "Switch" : "Offline", config);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
|
||||||
void switch_printer(int index);
|
|
||||||
void switch_printer_init();
|
void switch_printer_init();
|
||||||
lv_obj_t * draw_switch_printer_button();
|
lv_obj_t * draw_switch_printer_button();
|
||||||
Reference in New Issue
Block a user