From 7bad09ebe14d90afadfc0b154422c899e9e8fe45 Mon Sep 17 00:00:00 2001 From: Sergey Date: Fri, 6 Nov 2020 12:22:32 +0300 Subject: [PATCH] Fix float print --- Marlin/Configuration_adv.h | 6 +++--- Marlin/src/core/serial.h | 9 +++++++-- Marlin/src/module/mks_wifi/mks_wifi_sd.cpp | 2 ++ Marlin/src/module/mks_wifi/mks_wifi_serial_out.cpp | 14 +++++++++----- Marlin/src/module/mks_wifi/mks_wifi_serial_out.h | 2 ++ 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 433b5412d7..dea6cca66a 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1612,9 +1612,9 @@ #define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way - //#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps - #define BABYSTEP_MULTIPLICATOR_Z 10 // (steps or mm) Steps or millimeter distance for each Z babystep - #define BABYSTEP_MULTIPLICATOR_XY 10 // (steps or mm) Steps or millimeter distance for each XY babystep + #define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps + #define BABYSTEP_MULTIPLICATOR_Z 0.01 // (steps or mm) Steps or millimeter distance for each Z babystep + //#define BABYSTEP_MULTIPLICATOR_XY 0.01 // (steps or mm) Steps or millimeter distance for each XY babystep #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) diff --git a/Marlin/src/core/serial.h b/Marlin/src/core/serial.h index d93f1961df..77711e31b1 100644 --- a/Marlin/src/core/serial.h +++ b/Marlin/src/core/serial.h @@ -58,7 +58,6 @@ extern uint8_t marlin_debug_flags; #else #define SERIAL_OUT(WHAT, V...) do{ \ if (!serial_port_index || serial_port_index == SERIAL_BOTH) (void)MYSERIAL0.WHAT(V); \ - if ( serial_port_index) (void)MYSERIAL1.WHAT(V); \ }while(0) #endif @@ -82,8 +81,14 @@ extern uint8_t marlin_debug_flags; #define SERIAL_ECHO(x) SERIAL_OUT(print, x) #endif +#if ENABLED(MKS_WIFI) +#define SERIAL_ECHO_F(V...) do{ \ + if (!serial_port_index || serial_port_index == SERIAL_BOTH ) SERIAL_OUT(print, V); \ + if ( serial_port_index) mks_wifi_print_f(V); \ +}while(0) +#else #define SERIAL_ECHO_F(V...) SERIAL_OUT(print, V) - +#endif #if ENABLED(MKS_WIFI) #define SERIAL_ECHOLN(x) do{ \ if (!serial_port_index || serial_port_index == SERIAL_BOTH ) SERIAL_OUT(println, x); \ diff --git a/Marlin/src/module/mks_wifi/mks_wifi_sd.cpp b/Marlin/src/module/mks_wifi/mks_wifi_sd.cpp index d9f10c064a..c23db1463c 100644 --- a/Marlin/src/module/mks_wifi/mks_wifi_sd.cpp +++ b/Marlin/src/module/mks_wifi/mks_wifi_sd.cpp @@ -199,6 +199,8 @@ void mks_wifi_start_file_upload(ESP_PROTOC_FRAME *packet){ while(dma_timeout-- > 0){ + iwdg_feed(); + if(DMA1->ISR & DMA_ISR_TCIF5){ DMA1->IFCR = DMA_IFCR_CGIF5|DMA_IFCR_CTEIF5|DMA_IFCR_CHTIF5|DMA_IFCR_CTCIF5; diff --git a/Marlin/src/module/mks_wifi/mks_wifi_serial_out.cpp b/Marlin/src/module/mks_wifi/mks_wifi_serial_out.cpp index ecd59553aa..09697d1267 100644 --- a/Marlin/src/module/mks_wifi/mks_wifi_serial_out.cpp +++ b/Marlin/src/module/mks_wifi/mks_wifi_serial_out.cpp @@ -16,6 +16,15 @@ void mks_wifi_print_var(uint8_t count, ...){ va_end(args); } +void mks_wifi_print_f(float f,uint8_t size){ + char str[20]; + char format[10]; + + sprintf(format,"%%0.%df",size); + sprintf(str,format,f); + mks_wifi_out_add((uint8_t *)str, strnlen((char *)str,ESP_PACKET_DATA_MAX_SIZE)); +} + // PRINT functions @@ -88,11 +97,6 @@ void mks_wifi_println(double f){ sprintf(str,"%.2f\n",f); mks_wifi_out_add((uint8_t *)str, strnlen((char *)str,ESP_PACKET_DATA_MAX_SIZE)); } -/* -void mks_wifi_println(int i){ - mks_wifi_println((int32)i); -} -*/ void mks_wifi_println(long int i){ mks_wifi_println((int32)i); } diff --git a/Marlin/src/module/mks_wifi/mks_wifi_serial_out.h b/Marlin/src/module/mks_wifi/mks_wifi_serial_out.h index de0db7d2be..f466b28dfe 100644 --- a/Marlin/src/module/mks_wifi/mks_wifi_serial_out.h +++ b/Marlin/src/module/mks_wifi/mks_wifi_serial_out.h @@ -11,6 +11,8 @@ void mks_wifi_print_var(uint8_t count, ...); +void mks_wifi_print_f(float f,uint8_t size); + void mks_wifi_print(const char *s); void mks_wifi_print(int32 i); void mks_wifi_print(uint32 i);