From a7b740e155a17a59bda64d40fb62d0cfe90fad5e Mon Sep 17 00:00:00 2001 From: Hanif Koh Date: Wed, 7 Oct 2026 18:31:15 +0800 Subject: [PATCH] Remove Duplicate Includes and the Dead GCodeSender Sources 46 files include the same header twice at file scope, outside any #if, 66 times in all: Model.cpp included Model.hpp twice, Utils.hpp and twice, seven GUI headers and twice. The second include of each is removed. GCodeSender.cpp and GCodeSender.hpp have been commented out of libslic3r/CMakeLists.txt since 2022 and their only two includes are commented out as well. Both files go, with the commented lines, and the CMake entry for SLA/SupportTreeIGL.cpp, a file that no longer exists. --- src/libslic3r/CAD/CadDocument.cpp | 1 - src/libslic3r/CMakeLists.txt | 3 - src/libslic3r/CutSurface.cpp | 1 - src/libslic3r/Emboss.cpp | 1 - src/libslic3r/Format/STEP.cpp | 1 - src/libslic3r/GCode.cpp | 1 - src/libslic3r/GCode/FanMover.cpp | 2 - src/libslic3r/GCodeSender.cpp | 580 ------------------ src/libslic3r/GCodeSender.hpp | 81 --- src/libslic3r/Geometry/MedialAxis.cpp | 1 - src/libslic3r/Model.cpp | 1 - src/libslic3r/Model.hpp | 1 - src/libslic3r/Shape/TextShape.cpp | 1 - src/libslic3r/Utils.hpp | 2 - src/slic3r/GUI/AmsMappingPopup.hpp | 2 - src/slic3r/GUI/AmsWidgets.hpp | 3 - src/slic3r/GUI/Auxiliary.hpp | 3 - src/slic3r/GUI/BBLStatusBar.hpp | 1 - src/slic3r/GUI/BBLStatusBarBind.hpp | 1 - src/slic3r/GUI/BBLStatusBarPrint.hpp | 1 - src/slic3r/GUI/BBLStatusBarSend.hpp | 1 - src/slic3r/GUI/BaseTransparentDPIFrame.cpp | 1 - src/slic3r/GUI/BindDialog.cpp | 1 - src/slic3r/GUI/BonjourDialog.cpp | 1 - src/slic3r/GUI/Calibration.hpp | 2 - src/slic3r/GUI/ConfigManipulation.cpp | 1 - src/slic3r/GUI/DeviceCore/DevFilaSystem.h | 1 - src/slic3r/GUI/DeviceManager.cpp | 1 - src/slic3r/GUI/GLTexture.cpp | 1 - src/slic3r/GUI/GUI.cpp | 1 - src/slic3r/GUI/GUI_App.cpp | 2 - src/slic3r/GUI/HintNotification.cpp | 1 - src/slic3r/GUI/ImGuiWrapper.cpp | 1 - src/slic3r/GUI/MainFrame.cpp | 1 - src/slic3r/GUI/ModelMall.cpp | 1 - src/slic3r/GUI/Monitor.cpp | 1 - src/slic3r/GUI/Monitor.hpp | 3 - src/slic3r/GUI/NetworkTestDialog.cpp | 1 - src/slic3r/GUI/PresetBundleDialog.cpp | 1 - src/slic3r/GUI/PrintHostDialogs.cpp | 1 - src/slic3r/GUI/ProgressStatusBar.hpp | 1 - src/slic3r/GUI/ReleaseNote.hpp | 3 - src/slic3r/GUI/SelectMachine.hpp | 2 - src/slic3r/GUI/SelectMachinePop.hpp | 2 - src/slic3r/GUI/SendToPrinter.hpp | 2 - src/slic3r/GUI/Tab.cpp | 3 - src/slic3r/Utils/CalibUtils.cpp | 2 - src/slic3r/Utils/EmbossStyleManager.cpp | 3 - src/slic3r/Utils/PresetUpdater.cpp | 1 - .../libslic3r/test_preset_bundle_loading.cpp | 1 - 50 files changed, 732 deletions(-) delete mode 100644 src/libslic3r/GCodeSender.cpp delete mode 100644 src/libslic3r/GCodeSender.hpp diff --git a/src/libslic3r/CAD/CadDocument.cpp b/src/libslic3r/CAD/CadDocument.cpp index 391ff56a87..ef8e21a5d0 100644 --- a/src/libslic3r/CAD/CadDocument.cpp +++ b/src/libslic3r/CAD/CadDocument.cpp @@ -83,7 +83,6 @@ #include #include #include -#include #include #include #include diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 6cfb813227..3a48513357 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -261,8 +261,6 @@ set(lisbslic3r_sources GCode/PreciseSeam.cpp GCode/PreciseSeam.hpp GCode/PreciseSeamInternal.hpp - #GCodeSender.cpp - #GCodeSender.hpp GCode/SmallAreaInfillFlowCompensator.cpp GCode/SmallAreaInfillFlowCompensator.hpp GCode/SpiralVase.cpp @@ -447,7 +445,6 @@ set(lisbslic3r_sources SLA/SupportTreeBuildsteps.hpp SLA/SupportTree.cpp SLA/SupportTree.hpp - #SLA/SupportTreeIGL.cpp SLA/SupportTreeMesher.cpp SLA/SupportTreeMesher.hpp SlicesToTriangleMesh.cpp diff --git a/src/libslic3r/CutSurface.cpp b/src/libslic3r/CutSurface.cpp index cf5bd119f4..e98811c157 100644 --- a/src/libslic3r/CutSurface.cpp +++ b/src/libslic3r/CutSurface.cpp @@ -2589,7 +2589,6 @@ void priv::create_face_types(FaceTypeMap &map, } #include -#include bool priv::clip_cut(SurfacePatch &cut, CutMesh clipper) { CutMesh& tm = cut.mesh; diff --git a/src/libslic3r/Emboss.cpp b/src/libslic3r/Emboss.cpp index 2506c26f61..3a44ef4407 100644 --- a/src/libslic3r/Emboss.cpp +++ b/src/libslic3r/Emboss.cpp @@ -15,7 +15,6 @@ #include "Emboss.hpp" #include #include -#include #include #include #include diff --git a/src/libslic3r/Format/STEP.cpp b/src/libslic3r/Format/STEP.cpp index 57d8e44157..962c4cffb9 100644 --- a/src/libslic3r/Format/STEP.cpp +++ b/src/libslic3r/Format/STEP.cpp @@ -55,7 +55,6 @@ #include "TDataStd_Name.hxx" #include "BRepBuilderAPI_Transform.hxx" #include "TopExp_Explorer.hxx" -#include "TopExp_Explorer.hxx" #include "BRep_Tool.hxx" #include "BRepTools.hxx" #include diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 7317676240..844ac8da1e 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -43,7 +43,6 @@ #include "Print.hpp" #include "Utils.hpp" #include "ClipperUtils.hpp" -#include "libslic3r.h" #include "LocalesUtils.hpp" #include "libslic3r/format.hpp" #include "Time.hpp" diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp index 3fc85828ec..d303cbbac6 100644 --- a/src/libslic3r/GCode/FanMover.cpp +++ b/src/libslic3r/GCode/FanMover.cpp @@ -27,8 +27,6 @@ #include "../PrintConfig.hpp" #include "../Utils.hpp" #include "Print.hpp" -#include "libslic3r/PrintConfig.hpp" -#include "libslic3r/libslic3r.h" #include #include diff --git a/src/libslic3r/GCodeSender.cpp b/src/libslic3r/GCodeSender.cpp deleted file mode 100644 index 275dd61a79..0000000000 --- a/src/libslic3r/GCodeSender.cpp +++ /dev/null @@ -1,580 +0,0 @@ -#include "GCodeSender.hpp" -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(__APPLE__) || defined(__OpenBSD__) -#include -#endif -#ifdef __APPLE__ -#include -#include -#endif -#ifdef __linux__ -#include -#include -#include "/usr/include/asm-generic/ioctls.h" - -/* The following definitions are kindly borrowed from: - /usr/include/asm-generic/termbits.h - Unfortunately we cannot just include that one because - it would redefine the "struct termios" already defined - the already included by Boost.ASIO. */ -#define K_NCCS 19 -struct termios2 { - tcflag_t c_iflag; - tcflag_t c_oflag; - tcflag_t c_cflag; - tcflag_t c_lflag; - cc_t c_line; - cc_t c_cc[K_NCCS]; - speed_t c_ispeed; - speed_t c_ospeed; -}; -#define BOTHER CBAUDEX - -#endif - -//#define DEBUG_SERIAL -#ifdef DEBUG_SERIAL -#include -#include -std::fstream fs; -#endif - -#define KEEP_SENT 20 - -namespace Slic3r { - -GCodeSender::GCodeSender() - : io(), serial(io), can_send(false), sent(0), open(false), error(false), - connected(false), queue_paused(false) -{ -#ifdef DEBUG_SERIAL - std::srand(std::time(nullptr)); -#endif -} - -GCodeSender::~GCodeSender() -{ - this->disconnect(); -} - -bool -GCodeSender::connect(std::string devname, unsigned int baud_rate) -{ - this->disconnect(); - - this->set_error_status(false); - try { - this->serial.open(devname); - - this->serial.set_option(boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::odd)); - this->serial.set_option(boost::asio::serial_port_base::character_size(boost::asio::serial_port_base::character_size(8))); - this->serial.set_option(boost::asio::serial_port_base::flow_control(boost::asio::serial_port_base::flow_control::none)); - this->serial.set_option(boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one)); - this->set_baud_rate(baud_rate); - - this->serial.close(); - this->serial.open(devname); - this->serial.set_option(boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none)); - - // set baud rate again because set_option overwrote it - this->set_baud_rate(baud_rate); - this->open = true; - this->reset(); - } catch (boost::system::system_error &) { - this->set_error_status(true); - return false; - } - - // a reset firmware expect line numbers to start again from 1 - this->sent = 0; - this->last_sent.clear(); - - /* Initialize debugger */ -#ifdef DEBUG_SERIAL - fs.open("serial.txt", std::fstream::out | std::fstream::trunc); -#endif - - // this gives some work to the io_service before it is started - // (post() runs the supplied function in its thread) - this->io.post(boost::bind(&GCodeSender::do_read, this)); - - // start reading in the background thread - boost::thread t(boost::bind(&boost::asio::io_service::run, &this->io)); - this->background_thread.swap(t); - - // always send a M105 to check for connection because firmware might be silent on connect - //FIXME Vojtech: This is being sent too early, leading to line number synchronization issues, - // from which the GCodeSender never recovers. - // this->send("M105", true); - - return true; -} - -void -GCodeSender::set_baud_rate(unsigned int baud_rate) -{ - try { - // This does not support speeds > 115200 - this->serial.set_option(boost::asio::serial_port_base::baud_rate(baud_rate)); - } catch (boost::system::system_error &) { - boost::asio::serial_port::native_handle_type handle = this->serial.native_handle(); - -#if __APPLE__ - termios ios; - ::tcgetattr(handle, &ios); - ::cfsetspeed(&ios, baud_rate); - speed_t newSpeed = baud_rate; - ioctl(handle, IOSSIOSPEED, &newSpeed); - ::tcsetattr(handle, TCSANOW, &ios); -#elif __linux__ - termios2 ios; - if (ioctl(handle, TCGETS2, &ios)) - printf("Error in TCGETS2: %s\n", strerror(errno)); - ios.c_ispeed = ios.c_ospeed = baud_rate; - ios.c_cflag &= ~CBAUD; - ios.c_cflag |= BOTHER | CLOCAL | CREAD; - ios.c_cc[VMIN] = 1; // Minimum of characters to read, prevents eof errors when 0 bytes are read - ios.c_cc[VTIME] = 1; - if (ioctl(handle, TCSETS2, &ios)) - printf("Error in TCSETS2: %s\n", strerror(errno)); - -#elif __OpenBSD__ - struct termios ios; - ::tcgetattr(handle, &ios); - ::cfsetspeed(&ios, baud_rate); - if (::tcsetattr(handle, TCSAFLUSH, &ios) != 0) - printf("Failed to set baud rate: %s\n", strerror(errno)); -#else - //throw Slic3r::InvalidArgument("OS does not currently support custom bauds"); -#endif - } -} - -void -GCodeSender::disconnect() -{ - if (!this->open) return; - this->open = false; - this->connected = false; - this->io.post(boost::bind(&GCodeSender::do_close, this)); - this->background_thread.join(); - this->io.reset(); - /* - if (this->error_status()) { - throw(boost::system::system_error(boost::system::error_code(), - "Error while closing the device")); - } - */ - -#ifdef DEBUG_SERIAL - fs << "DISCONNECTED" << std::endl << std::flush; - fs.close(); -#endif -} - -bool -GCodeSender::is_connected() const -{ - return this->connected; -} - -bool -GCodeSender::wait_connected(unsigned int timeout) const -{ - using namespace boost::posix_time; - ptime t0 = second_clock::local_time() + seconds(timeout); - while (!this->connected) { - if (second_clock::local_time() > t0) return false; - boost::this_thread::sleep(boost::posix_time::milliseconds(100)); - } - return true; -} - -size_t -GCodeSender::queue_size() const -{ - boost::lock_guard l(this->queue_mutex); - return this->queue.size(); -} - -void -GCodeSender::pause_queue() -{ - boost::lock_guard l(this->queue_mutex); - this->queue_paused = true; -} - -void -GCodeSender::resume_queue() -{ - { - boost::lock_guard l(this->queue_mutex); - this->queue_paused = false; - } - this->send(); -} - -void -GCodeSender::purge_queue(bool priority) -{ - boost::lock_guard l(this->queue_mutex); - if (priority) { - // clear priority queue - std::list empty; - std::swap(this->priqueue, empty); - } else { - // clear queue - std::queue empty; - std::swap(this->queue, empty); - this->queue_paused = false; - } -} - -// purge log and return its contents -std::vector -GCodeSender::purge_log() -{ - boost::lock_guard l(this->log_mutex); - std::vector retval; - retval.reserve(this->log.size()); - while (!this->log.empty()) { - retval.push_back(this->log.front()); - this->log.pop(); - } - return retval; -} - -std::string -GCodeSender::getT() const -{ - boost::lock_guard l(this->log_mutex); - return this->T; -} - -std::string -GCodeSender::getB() const -{ - boost::lock_guard l(this->log_mutex); - return this->B; -} - -void -GCodeSender::do_close() -{ - this->set_error_status(false); - boost::system::error_code ec; - this->serial.cancel(ec); - if (ec) this->set_error_status(true); - this->serial.close(ec); - if (ec) this->set_error_status(true); -} - -void -GCodeSender::set_error_status(bool e) -{ - boost::lock_guard l(this->error_mutex); - this->error = e; -} - -bool -GCodeSender::error_status() const -{ - boost::lock_guard l(this->error_mutex); - return this->error; -} - -void -GCodeSender::do_read() -{ - // read one line - boost::asio::async_read_until( - this->serial, - this->read_buffer, - '\n', - boost::bind( - &GCodeSender::on_read, - this, - boost::asio::placeholders::error, - boost::asio::placeholders::bytes_transferred - ) - ); -} - -void -GCodeSender::on_read(const boost::system::error_code& error, - size_t bytes_transferred) -{ - this->set_error_status(false); - if (error) { - #ifdef __APPLE__ - if (error.value() == 45) { - // OS X bug: http://osdir.com/ml/lib.boost.asio.user/2008-08/msg00004.html - this->do_read(); - return; - } - #endif - - // printf("ERROR: [%d] %s\n", error.value(), error.message().c_str()); - // error can be true even because the serial port was closed. - // In this case it is not a real error, so ignore. - if (this->open) { - this->do_close(); - this->set_error_status(true); - } - return; - } - - std::istream is(&this->read_buffer); - std::string line; - std::getline(is, line); - if (!line.empty()) { -#ifdef DEBUG_SERIAL - fs << "<< " << line << std::endl << std::flush; -#endif - - // note that line might contain \r at its end - // parse incoming line - if (!this->connected - && (boost::starts_with(line, "start") - || boost::starts_with(line, "Grbl ") - || boost::starts_with(line, "ok") - || boost::contains(line, "T:"))) { - this->connected = true; - { - boost::lock_guard l(this->queue_mutex); - this->can_send = true; - } - this->send(); - } else if (boost::starts_with(line, "ok")) { - { - boost::lock_guard l(this->queue_mutex); - this->can_send = true; - } - this->send(); - } else if (boost::istarts_with(line, "resend") // Marlin uses "Resend: " - || boost::istarts_with(line, "rs")) { - // extract the first number from line - boost::algorithm::trim_left_if(line, !boost::algorithm::is_digit()); - size_t toresend = boost::lexical_cast(line.substr(0, line.find_first_not_of("0123456789"))); - -#ifdef DEBUG_SERIAL - fs << "!! line num out of sync: toresend = " << toresend << ", sent = " << sent << ", last_sent.size = " << last_sent.size() << std::endl; -#endif - - if (toresend > this->sent - this->last_sent.size() && toresend <= this->sent) { - { - boost::lock_guard l(this->queue_mutex); - - const auto lines_to_resend = this->sent - toresend + 1; -#ifdef DEBUG_SERIAL - fs << "!! resending " << lines_to_resend << " lines" << std::endl; -#endif - // move the unsent lines to priqueue - this->priqueue.insert( - this->priqueue.begin(), // insert at the beginning - this->last_sent.begin() + this->last_sent.size() - lines_to_resend, - this->last_sent.end() - ); - - // we can empty last_sent because it's not useful anymore - this->last_sent.clear(); - - // start resending with the requested line number - this->sent = toresend - 1; - this->can_send = true; - } - this->send(); - } else { - printf("Cannot resend %zu (oldest we have is %zu)\n", toresend, this->sent - this->last_sent.size()); - } - } else if (boost::starts_with(line, "wait")) { - // ignore - } else { - // push any other line into the log - boost::lock_guard l(this->log_mutex); - this->log.push(line); - } - - // parse temperature info - { - size_t pos = line.find("T:"); - if (pos != std::string::npos && line.size() > pos + 2) { - // we got temperature info - boost::lock_guard l(this->log_mutex); - this->T = line.substr(pos+2, line.find_first_not_of("0123456789.", pos+2) - (pos+2)); - - pos = line.find("B:"); - if (pos != std::string::npos && line.size() > pos + 2) { - // we got bed temperature info - this->B = line.substr(pos+2, line.find_first_not_of("0123456789.", pos+2) - (pos+2)); - } - } - } - } - this->do_read(); -} - -void -GCodeSender::send(const std::vector &lines, bool priority) -{ - // append lines to queue - { - boost::lock_guard l(this->queue_mutex); - for (std::vector::const_iterator line = lines.begin(); line != lines.end(); ++line) { - if (priority) { - this->priqueue.push_back(*line); - } else { - this->queue.push(*line); - } - } - } - this->send(); -} - -void -GCodeSender::send(const std::string &line, bool priority) -{ - // append line to queue - { - boost::lock_guard l(this->queue_mutex); - if (priority) { - this->priqueue.push_back(line); - } else { - this->queue.push(line); - } - } - this->send(); -} - -void -GCodeSender::send() -{ - this->io.post(boost::bind(&GCodeSender::do_send, this)); -} - -void -GCodeSender::do_send() -{ - boost::lock_guard l(this->queue_mutex); - - // printer is not connected or we're still waiting for the previous ack - if (!this->can_send) return; - - std::string line; - while (!this->priqueue.empty() || (!this->queue.empty() && !this->queue_paused)) { - if (!this->priqueue.empty()) { - line = this->priqueue.front(); - this->priqueue.pop_front(); - } else { - line = this->queue.front(); - this->queue.pop(); - } - - // strip comments - size_t comment_pos = line.find_first_of(';'); - if (comment_pos != std::string::npos) - line.erase(comment_pos, std::string::npos); - boost::algorithm::trim(line); - - // if line is not empty, send it - if (!line.empty()) break; - // if line is empty, process next item in queue - } - if (line.empty()) return; - - // compute full line - ++ this->sent; -#ifndef DEBUG_SERIAL - const auto line_num = this->sent; -#else - // In DEBUG_SERIAL mode, test line re-synchronization by sending bad line number 1/4 of the time - const auto line_num = std::rand() < RAND_MAX/4 ? 0 : this->sent; -#endif - std::string full_line = "N" + boost::lexical_cast(line_num) + " " + line; - - // calculate checksum - int cs = 0; - for (std::string::const_iterator it = full_line.begin(); it != full_line.end(); ++it) - cs = cs ^ *it; - - // write line to device - full_line += "*"; - full_line += boost::lexical_cast(cs); - full_line += "\n"; - -#ifdef DEBUG_SERIAL - fs << ">> " << full_line << std::flush; -#endif - - this->last_sent.push_back(line); - this->can_send = false; - - while (this->last_sent.size() > KEEP_SENT) { - this->last_sent.pop_front(); - } - - // we can't supply boost::asio::buffer(full_line) to async_write() because full_line is on the - // stack and the buffer would lose its underlying storage causing memory corruption - std::ostream os(&this->write_buffer); - os << full_line; - boost::asio::async_write(this->serial, this->write_buffer, boost::bind(&GCodeSender::on_write, this, boost::asio::placeholders::error, - boost::asio::placeholders::bytes_transferred)); -} - -void -GCodeSender::on_write(const boost::system::error_code& error, - size_t bytes_transferred) -{ - this->set_error_status(false); - if (error) { - if (this->open) { - this->do_close(); - this->set_error_status(true); - } - return; - } - - this->do_send(); -} - -void -GCodeSender::set_DTR(bool on) -{ -#if defined(_WIN32) && !defined(__SYMBIAN32__) - boost::asio::serial_port_service::native_handle_type handle = this->serial.native_handle(); - if (on) - EscapeCommFunction(handle, SETDTR); - else - EscapeCommFunction(handle, CLRDTR); -#else - int fd = this->serial.native_handle(); - int status; - ioctl(fd, TIOCMGET, &status); - if (on) - status |= TIOCM_DTR; - else - status &= ~TIOCM_DTR; - ioctl(fd, TIOCMSET, &status); -#endif -} - -void -GCodeSender::reset() -{ - set_DTR(false); - std::this_thread::sleep_for(std::chrono::milliseconds(200)); - set_DTR(true); - std::this_thread::sleep_for(std::chrono::milliseconds(200)); - set_DTR(false); - std::this_thread::sleep_for(std::chrono::milliseconds(500)); -} - -} // namespace Slic3r diff --git a/src/libslic3r/GCodeSender.hpp b/src/libslic3r/GCodeSender.hpp deleted file mode 100644 index e9f97e2a29..0000000000 --- a/src/libslic3r/GCodeSender.hpp +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef slic3r_GCodeSender_hpp_ -#define slic3r_GCodeSender_hpp_ - -#include "libslic3r.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace Slic3r { - -namespace asio = boost::asio; - -class GCodeSender : private boost::noncopyable { - public: - GCodeSender(); - ~GCodeSender(); - bool connect(std::string devname, unsigned int baud_rate); - void send(const std::vector &lines, bool priority = false); - void send(const std::string &s, bool priority = false); - void disconnect(); - bool error_status() const; - bool is_connected() const; - bool wait_connected(unsigned int timeout = 3) const; - size_t queue_size() const; - void pause_queue(); - void resume_queue(); - void purge_queue(bool priority = false); - std::vector purge_log(); - std::string getT() const; - std::string getB() const; - void set_DTR(bool on); - void reset(); - - private: - asio::io_service io; - asio::serial_port serial; - boost::thread background_thread; - boost::asio::streambuf read_buffer, write_buffer; - bool open; // whether the serial socket is connected - bool connected; // whether the printer is online - bool error; - mutable boost::mutex error_mutex; - - // this mutex guards queue, priqueue, can_send, queue_paused, sent, last_sent - mutable boost::mutex queue_mutex; - std::queue queue; - std::list priqueue; - bool can_send; - bool queue_paused; - size_t sent; - std::deque last_sent; - - // this mutex guards log, T, B - mutable boost::mutex log_mutex; - std::queue log; - std::string T, B; - - void set_baud_rate(unsigned int baud_rate); - void set_error_status(bool e); - void do_send(); - void on_write(const boost::system::error_code& error, size_t bytes_transferred); - void do_close(); - void do_read(); - void on_read(const boost::system::error_code& error, size_t bytes_transferred); - void send(); -}; - -} // namespace Slic3r - -#endif /* slic3r_GCodeSender_hpp_ */ diff --git a/src/libslic3r/Geometry/MedialAxis.cpp b/src/libslic3r/Geometry/MedialAxis.cpp index 9d05ec9867..6fa22eb336 100644 --- a/src/libslic3r/Geometry/MedialAxis.cpp +++ b/src/libslic3r/Geometry/MedialAxis.cpp @@ -1,7 +1,6 @@ #include #include "MedialAxis.hpp" -#include #include #include #include diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 39993895b0..75c4b65ed1 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -22,7 +22,6 @@ #include "Format/AssimpImport.hpp" #include "ClipperUtils.hpp" #include "Exception.hpp" -#include "Model.hpp" #include "ModelArrange.hpp" #include "Arrange.hpp" #include "Geometry.hpp" diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 9c6967371c..4bb1794b46 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -18,7 +18,6 @@ #include "TriangleMesh.hpp" #include "CustomGCode.hpp" #include "calib.hpp" -#include "enum_bitmask.hpp" #include "TextConfiguration.hpp" #include "EmbossShape.hpp" #include "TriangleSelector.hpp" diff --git a/src/libslic3r/Shape/TextShape.cpp b/src/libslic3r/Shape/TextShape.cpp index dd7ca3f119..15d6744f45 100644 --- a/src/libslic3r/Shape/TextShape.cpp +++ b/src/libslic3r/Shape/TextShape.cpp @@ -44,7 +44,6 @@ #include "TDataStd_Name.hxx" #include "BRepBuilderAPI_Transform.hxx" #include "TopExp_Explorer.hxx" -#include "TopExp_Explorer.hxx" #include "BRep_Tool.hxx" #include "Font_BRepFont.hxx" #include "Font_BRepTextBuilder.hxx" diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index 29adae1b74..24ebe9a337 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -25,8 +25,6 @@ #include #include #include -#include -#include #include #include diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp index f86b2a4497..90cf86bf57 100644 --- a/src/slic3r/GUI/AmsMappingPopup.hpp +++ b/src/slic3r/GUI/AmsMappingPopup.hpp @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -30,7 +29,6 @@ #include #include #include -#include #include #include "GUI_Utils.hpp" diff --git a/src/slic3r/GUI/AmsWidgets.hpp b/src/slic3r/GUI/AmsWidgets.hpp index 24f3f781b2..0c3c726b0c 100644 --- a/src/slic3r/GUI/AmsWidgets.hpp +++ b/src/slic3r/GUI/AmsWidgets.hpp @@ -19,20 +19,17 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include #include #include -#include #include diff --git a/src/slic3r/GUI/Auxiliary.hpp b/src/slic3r/GUI/Auxiliary.hpp index 4f25aab439..01ad99f648 100644 --- a/src/slic3r/GUI/Auxiliary.hpp +++ b/src/slic3r/GUI/Auxiliary.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -36,14 +35,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include diff --git a/src/slic3r/GUI/BBLStatusBar.hpp b/src/slic3r/GUI/BBLStatusBar.hpp index 1ff2fd6f0f..829c7445d7 100644 --- a/src/slic3r/GUI/BBLStatusBar.hpp +++ b/src/slic3r/GUI/BBLStatusBar.hpp @@ -8,7 +8,6 @@ #include #include #include -#include #include "Jobs/ProgressIndicator.hpp" diff --git a/src/slic3r/GUI/BBLStatusBarBind.hpp b/src/slic3r/GUI/BBLStatusBarBind.hpp index b1b06b60b6..f9c217b504 100644 --- a/src/slic3r/GUI/BBLStatusBarBind.hpp +++ b/src/slic3r/GUI/BBLStatusBarBind.hpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include "Jobs/ProgressIndicator.hpp" diff --git a/src/slic3r/GUI/BBLStatusBarPrint.hpp b/src/slic3r/GUI/BBLStatusBarPrint.hpp index bc82d80068..9780b7f24a 100644 --- a/src/slic3r/GUI/BBLStatusBarPrint.hpp +++ b/src/slic3r/GUI/BBLStatusBarPrint.hpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include "Jobs/ProgressIndicator.hpp" diff --git a/src/slic3r/GUI/BBLStatusBarSend.hpp b/src/slic3r/GUI/BBLStatusBarSend.hpp index 1c4b267c6f..cedab29e1d 100644 --- a/src/slic3r/GUI/BBLStatusBarSend.hpp +++ b/src/slic3r/GUI/BBLStatusBarSend.hpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include "Jobs/ProgressIndicator.hpp" diff --git a/src/slic3r/GUI/BaseTransparentDPIFrame.cpp b/src/slic3r/GUI/BaseTransparentDPIFrame.cpp index c9e4e4b76e..50fa700ec6 100644 --- a/src/slic3r/GUI/BaseTransparentDPIFrame.cpp +++ b/src/slic3r/GUI/BaseTransparentDPIFrame.cpp @@ -18,7 +18,6 @@ #include #include #include -#include "Widgets/Button.hpp" #include "CapsuleButton.hpp" namespace Slic3r::GUI { struct IntEvent; } diff --git a/src/slic3r/GUI/BindDialog.cpp b/src/slic3r/GUI/BindDialog.cpp index 2f1283b790..60dd64bb57 100644 --- a/src/slic3r/GUI/BindDialog.cpp +++ b/src/slic3r/GUI/BindDialog.cpp @@ -46,7 +46,6 @@ #include "libslic3r/Model.hpp" #include "libslic3r/Polygon.hpp" #include "MainFrame.hpp" -#include "GUI_App.hpp" #include "Plater.hpp" #include "Jobs/BoostThreadWorker.hpp" #include "Jobs/PlaterWorker.hpp" diff --git a/src/slic3r/GUI/BonjourDialog.cpp b/src/slic3r/GUI/BonjourDialog.cpp index 566441c64f..914597fe40 100644 --- a/src/slic3r/GUI/BonjourDialog.cpp +++ b/src/slic3r/GUI/BonjourDialog.cpp @@ -29,7 +29,6 @@ #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/format.hpp" -#include "slic3r/Utils/Bonjour.hpp" #include "slic3r/GUI/Widgets/DialogButtons.hpp" diff --git a/src/slic3r/GUI/Calibration.hpp b/src/slic3r/GUI/Calibration.hpp index c5318f818b..cc07b1452d 100644 --- a/src/slic3r/GUI/Calibration.hpp +++ b/src/slic3r/GUI/Calibration.hpp @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -24,7 +23,6 @@ #include #include #include -#include #include #include "GUI_Utils.hpp" diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index df00a6a8b5..62ae955ab6 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -1,4 +1,3 @@ -// #include "libslic3r/GCodeSender.hpp" #include "ConfigManipulation.hpp" #include "I18N.hpp" #include "GUI_App.hpp" diff --git a/src/slic3r/GUI/DeviceCore/DevFilaSystem.h b/src/slic3r/GUI/DeviceCore/DevFilaSystem.h index 27dc238e9e..b843eba4b3 100644 --- a/src/slic3r/GUI/DeviceCore/DevFilaSystem.h +++ b/src/slic3r/GUI/DeviceCore/DevFilaSystem.h @@ -15,7 +15,6 @@ #include #include #include -#include #include #include diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 30e7282c0e..c1c357a2d5 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -11,7 +11,6 @@ #include "GUI_App.hpp" #include "DeviceErrorDialog.hpp" #include "Plater.hpp" -#include "GUI_App.hpp" #include "ReleaseNote.hpp" #include #include diff --git a/src/slic3r/GUI/GLTexture.cpp b/src/slic3r/GUI/GLTexture.cpp index 4cdb17dd28..f83dd1f854 100644 --- a/src/slic3r/GUI/GLTexture.cpp +++ b/src/slic3r/GUI/GLTexture.cpp @@ -46,7 +46,6 @@ #include "nanosvg/nanosvgrast.h" #include "libslic3r/Utils.hpp" -#include "GUI_App.hpp" #include #include #include diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 7de994960e..e376bfc097 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -50,7 +50,6 @@ #include "AboutDialog.hpp" #include "MsgDialog.hpp" #include "Plater.hpp" -#include "format.hpp" #include "WebUserLoginDialog.hpp" diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 11cde7e5f2..66362cf213 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -172,12 +172,10 @@ #include "libslic3r/Utils.hpp" #include "libslic3r/Model.hpp" -#include "libslic3r/I18N.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/InstanceLock.hpp" #include "libslic3r/Thread.hpp" #include "libslic3r/miniz_extension.hpp" -#include "libslic3r/Utils.hpp" #include "slic3r/plugin/PluginManager.hpp" #include "slic3r/plugin/host/PluginHostUi.hpp" #include "slic3r/plugin/PythonInterpreter.hpp" diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp index 433a829c29..1ad5903dea 100644 --- a/src/slic3r/GUI/HintNotification.cpp +++ b/src/slic3r/GUI/HintNotification.cpp @@ -11,7 +11,6 @@ #include "libslic3r/Config.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Preset.hpp" -#include "libslic3r/Config.hpp" #include "libslic3r/PrintConfig.hpp" #include diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 5728ad5697..7def86aaeb 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -66,7 +66,6 @@ #include #include #include "OpenGLManager.hpp" -#include "GUI_App.hpp" namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index c882667d90..84b702d7e5 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -113,7 +113,6 @@ #include "MsgDialog.hpp" #include "Notebook.hpp" #include "GUI_Factories.hpp" -#include "GUI_ObjectList.hpp" #include "NotificationManager.hpp" #include "MarkdownTip.hpp" #include "NetworkTestDialog.hpp" diff --git a/src/slic3r/GUI/ModelMall.cpp b/src/slic3r/GUI/ModelMall.cpp index e8b08f7e02..f0d708640d 100644 --- a/src/slic3r/GUI/ModelMall.cpp +++ b/src/slic3r/GUI/ModelMall.cpp @@ -21,7 +21,6 @@ #include "wx/evtloop.h" #include "MainFrame.hpp" -#include "GUI_App.hpp" #include "Plater.hpp" using json = nlohmann::json; diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index b23c5ab468..4e7bae328d 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -45,7 +45,6 @@ #include "MainFrame.hpp" #include "MediaPlayCtrl.h" #include "MediaFilePanel.h" -#include "Plater.hpp" #include "BindDialog.hpp" #include "DeviceCore/DevManager.h" diff --git a/src/slic3r/GUI/Monitor.hpp b/src/slic3r/GUI/Monitor.hpp index ce7fcf0570..613a1f1ac7 100644 --- a/src/slic3r/GUI/Monitor.hpp +++ b/src/slic3r/GUI/Monitor.hpp @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -31,14 +30,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include diff --git a/src/slic3r/GUI/NetworkTestDialog.cpp b/src/slic3r/GUI/NetworkTestDialog.cpp index caff68b39e..54c0f11cf0 100644 --- a/src/slic3r/GUI/NetworkTestDialog.cpp +++ b/src/slic3r/GUI/NetworkTestDialog.cpp @@ -4,7 +4,6 @@ #include "libslic3r/Utils.hpp" #include "GUI.hpp" #include "GUI_App.hpp" -#include "I18N.hpp" #include "libslic3r_version.h" #include "slic3r/Utils/Http.hpp" #include "libslic3r/AppConfig.hpp" diff --git a/src/slic3r/GUI/PresetBundleDialog.cpp b/src/slic3r/GUI/PresetBundleDialog.cpp index c067d99c28..3c97d94525 100644 --- a/src/slic3r/GUI/PresetBundleDialog.cpp +++ b/src/slic3r/GUI/PresetBundleDialog.cpp @@ -30,7 +30,6 @@ #include "MainFrame.hpp" #include #include -#include #include using json = nlohmann::json; diff --git a/src/slic3r/GUI/PrintHostDialogs.cpp b/src/slic3r/GUI/PrintHostDialogs.cpp index 2e8047cf72..fbb803859c 100644 --- a/src/slic3r/GUI/PrintHostDialogs.cpp +++ b/src/slic3r/GUI/PrintHostDialogs.cpp @@ -79,7 +79,6 @@ #include "libslic3r_version.h" #include "wxExtensions.hpp" -#include #include "libslic3r/Preset.hpp" #include "libslic3r/PresetBundle.hpp" #include "slic3r/GUI/Widgets/Button.hpp" diff --git a/src/slic3r/GUI/ProgressStatusBar.hpp b/src/slic3r/GUI/ProgressStatusBar.hpp index 79343d51df..069d2131f1 100644 --- a/src/slic3r/GUI/ProgressStatusBar.hpp +++ b/src/slic3r/GUI/ProgressStatusBar.hpp @@ -4,7 +4,6 @@ #include #include #include -#include #include "Jobs/ProgressIndicator.hpp" diff --git a/src/slic3r/GUI/ReleaseNote.hpp b/src/slic3r/GUI/ReleaseNote.hpp index 1234d59c60..fbb01ac0ee 100644 --- a/src/slic3r/GUI/ReleaseNote.hpp +++ b/src/slic3r/GUI/ReleaseNote.hpp @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -32,10 +31,8 @@ #include #include #include -#include #include #include -#include #include #include "AmsMappingPopup.hpp" diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index 31ce752a2e..30ca78130c 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -38,7 +37,6 @@ #include #include #include -#include #include #include diff --git a/src/slic3r/GUI/SelectMachinePop.hpp b/src/slic3r/GUI/SelectMachinePop.hpp index 37dcd98ac4..bfbed88867 100644 --- a/src/slic3r/GUI/SelectMachinePop.hpp +++ b/src/slic3r/GUI/SelectMachinePop.hpp @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -29,7 +28,6 @@ #include #include #include -#include #include #include diff --git a/src/slic3r/GUI/SendToPrinter.hpp b/src/slic3r/GUI/SendToPrinter.hpp index fad825713b..4c1e2cf935 100644 --- a/src/slic3r/GUI/SendToPrinter.hpp +++ b/src/slic3r/GUI/SendToPrinter.hpp @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -33,7 +32,6 @@ #include #include #include -#include #include #include diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 143025399f..97f2357ce3 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1,4 +1,3 @@ -// #include "libslic3r/GCodeSender.hpp" //#include "slic3r/Utils/Serial.hpp" #include "Tab.hpp" #include "PresetHints.hpp" @@ -102,8 +101,6 @@ #include "Widgets/MultiNozzleSync.hpp" #include "Widgets/SwitchButton.hpp" #include "Widgets/TabCtrl.hpp" -#include "Widgets/ComboBox.hpp" -#include "Search.hpp" #include "BedShapeDialog.hpp" #include "libslic3r/GCode/Thumbnails.hpp" #include "WipeTowerDialog.hpp" diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 2a4ca8c05a..c1fda01b42 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -20,8 +20,6 @@ #include "../GUI/DeviceCore/DevConfig.h" #include "../GUI/DeviceCore/DevExtruderSystem.h" #include "../GUI/DeviceCore/DevManager.h" -#include "../GUI/DeviceCore/DevStorage.h" -#include "libslic3r/FlushVolCalc.hpp" #include "../GUI/Plater.hpp" #include #include "slic3r/GUI/Jobs/Worker.hpp" diff --git a/src/slic3r/Utils/EmbossStyleManager.cpp b/src/slic3r/Utils/EmbossStyleManager.cpp index d873b40cf3..61daab2f77 100644 --- a/src/slic3r/Utils/EmbossStyleManager.cpp +++ b/src/slic3r/Utils/EmbossStyleManager.cpp @@ -365,7 +365,6 @@ void StyleManager::init_trunc_names(float max_width) { #include "slic3r/GUI/Plater.hpp" // for get DPI -#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/MainFrame.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" @@ -554,8 +553,6 @@ bool StyleManager::set_wx_font(const wxFont &wx_font, std::unique_ptr return true; } -#include -#include "WxFontUtils.hpp" #include "fast_float/fast_float.h" // StylesSerializable diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index 344a5f881c..6e498fb718 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -48,7 +48,6 @@ #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/UpdateDialogs.hpp" -#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/format.hpp" #include "slic3r/GUI/NotificationManager.hpp" diff --git a/tests/libslic3r/test_preset_bundle_loading.cpp b/tests/libslic3r/test_preset_bundle_loading.cpp index e2ff2a2322..c61ca91027 100644 --- a/tests/libslic3r/test_preset_bundle_loading.cpp +++ b/tests/libslic3r/test_preset_bundle_loading.cpp @@ -24,7 +24,6 @@ #include "test_utils.hpp" -#include #include #include #include