From c7f806ff807b589920573d44badcb814589957eb Mon Sep 17 00:00:00 2001 From: Sergey Date: Wed, 27 Apr 2022 12:21:09 +0300 Subject: [PATCH] Fix PID autotune --- Marlin/src/module/mks_wifi/mks_wifi.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Marlin/src/module/mks_wifi/mks_wifi.cpp b/Marlin/src/module/mks_wifi/mks_wifi.cpp index 5f67399344..d7efcf484e 100644 --- a/Marlin/src/module/mks_wifi/mks_wifi.cpp +++ b/Marlin/src/module/mks_wifi/mks_wifi.cpp @@ -354,15 +354,33 @@ uint16_t mks_wifi_build_packet(uint8_t *packet, ESP_PROTOC_FRAME *esp_frame){ void mks_wifi_send(uint8_t *packet, uint16_t size){ + static uint32_t error_flag=0; + uint32_t timeout; + /* + Если уже был выход по превышению ожидания и место + очереди так и не освободилось, сразу выход. + */ + + if(error_flag == 1){ + if(MYSERIAL2.availableForWrite()==0){ + return; + }else{ + error_flag = 0; + } + } + for( uint32_t i=0; i < (uint32_t)(size+1); i++){ + timeout = 0xaffffff; while(MYSERIAL2.availableForWrite()==0){ - safe_delay(10); + --timeout; + if(!timeout){ + error_flag=1; + return; + }; } MYSERIAL2.write(packet[i]); } - - safe_delay(5); } #else void mks_wifi_out_add(uint8_t *data, uint32_t size){