mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-20 21:23:25 +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(){
|
||||
tft.invertDisplay(get_current_printer_config()->invert_colors);
|
||||
tft.invertDisplay(global_config.printer_config[global_config.printer_index].invert_colors);
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
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])
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
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 h = (area->y2 - area->y1 + 1);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "../printer_integration.hpp"
|
||||
#include <HTTPClient.h>
|
||||
|
||||
class KlipperPrinter : public BasePrinter
|
||||
{
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "../ui/ui_utils.h"
|
||||
#include <Esp.h>
|
||||
#include "../ui/serial/serial_console.h"
|
||||
#include "printer_integration.hpp"
|
||||
|
||||
#ifndef CPU_FREQ_HIGH
|
||||
#define CPU_FREQ_HIGH 240
|
||||
@@ -255,7 +254,7 @@ void set_screen_timer_period()
|
||||
|
||||
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_color_t main_color = {0};
|
||||
ColorDefinition color_def = color_defs[config->color_scheme];
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
#include <HTTPClient.h>
|
||||
#include "core/data_setup.h"
|
||||
#include "ui_utils.h"
|
||||
#include "../core/macros_query.h"
|
||||
#include "panels/panel.h"
|
||||
#include "../core/http_client.h"
|
||||
#include "switch_printer.h"
|
||||
#include "macros.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)
|
||||
{
|
||||
strcpy(get_current_printer_config()->klipper_host, lv_textarea_get_text(hostEntry));
|
||||
get_current_printer_config()->klipper_port = atoi(lv_textarea_get_text(portEntry));
|
||||
strcpy(global_config.printer_config[global_config.printer_index].klipper_host, lv_textarea_get_text(hostEntry));
|
||||
global_config.printer_config[global_config.printer_index].klipper_port = atoi(lv_textarea_get_text(portEntry));
|
||||
|
||||
connection_status_t status = verify_ip();
|
||||
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();
|
||||
}
|
||||
else if (status == CONNECT_AUTH_REQUIRED)
|
||||
@@ -136,12 +134,13 @@ static void keyboard_event_auth_entry(lv_event_t * e) {
|
||||
int len = strlen(txt);
|
||||
if (len > 0)
|
||||
{
|
||||
get_current_printer_config()->auth_configured = true;
|
||||
strcpy(get_current_printer_config()->klipper_auth, txt);
|
||||
global_config.printer_config[global_config.printer_index].auth_configured = true;
|
||||
strcpy(global_config.printer_config[global_config.printer_index].klipper_auth, txt);
|
||||
|
||||
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();
|
||||
}
|
||||
else
|
||||
@@ -158,7 +157,7 @@ static void keyboard_event_auth_entry(lv_event_t * e) {
|
||||
|
||||
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_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_one_line(passEntry, true);
|
||||
|
||||
if (get_current_printer_config()->auth_configured)
|
||||
lv_textarea_set_text(passEntry, get_current_printer_config()->klipper_auth);
|
||||
if (global_config.printer_config[global_config.printer_index].auth_configured)
|
||||
lv_textarea_set_text(passEntry, global_config.printer_config[global_config.printer_index].klipper_auth);
|
||||
else
|
||||
lv_textarea_set_text(passEntry, "");
|
||||
|
||||
@@ -246,12 +245,12 @@ void show_ip_entry()
|
||||
}
|
||||
|
||||
void ip_init(){
|
||||
if (!get_current_printer_config()->ip_configured)
|
||||
if (!global_config.printer_config[global_config.printer_index].setup_complete)
|
||||
{
|
||||
show_ip_entry();
|
||||
}
|
||||
|
||||
while (!get_current_printer_config()->ip_configured)
|
||||
while (!global_config.printer_config[global_config.printer_index].setup_complete)
|
||||
{
|
||||
lv_handler();
|
||||
serial_console::run();
|
||||
|
||||
@@ -1,27 +1,17 @@
|
||||
#include "switch_printer.h"
|
||||
#include "../conf/global_config.h"
|
||||
#include "ui_utils.h"
|
||||
#include "../core/http_client.h"
|
||||
#include "../core/lv_setup.h"
|
||||
#include "../core/macros_query.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){
|
||||
lv_obj_t *btn = lv_event_get_target(e);
|
||||
PrinterConfiguration * config = (PrinterConfiguration*)lv_event_get_user_data(e);
|
||||
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)));
|
||||
}
|
||||
|
||||
@@ -48,19 +38,14 @@ void switch_printer_init() {
|
||||
PrinterConfiguration * config = &global_config.printer_config[i];
|
||||
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");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (config->ip_configured) {
|
||||
HTTPClient client;
|
||||
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);
|
||||
if (config->setup_complete) {
|
||||
lv_create_custom_menu_button(printer_name, parent, btn_switch_printer, "Switch", config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
#include "lvgl.h"
|
||||
|
||||
void switch_printer(int index);
|
||||
void switch_printer_init();
|
||||
lv_obj_t * draw_switch_printer_button();
|
||||
Reference in New Issue
Block a user