Cross-platform GUI for FluidNC: SVG → G-code, live DRO, jogging, macros, auto-restore after power loss
This is the C++ wxWidgets conversion of the original Python-based FluidNC_gCodeSender. The conversion is currently in progress, focusing on improved performance, lower memory usage, and enhanced thread safety.
# Install dependencies via vcpkg (recommended)
vcpkg install wxwidgets nlohmann-json
# Configure and build
cmake -B build-win -S . -DCMAKE_TOOLCHAIN_FILE=[path-to-vcpkg]/scripts/buildsystems/vcpkg.cmake
cmake --build build-win --config Release
# Install dependencies
sudo apt-get install libwxgtk3.0-gtk3-dev nlohmann-json3-dev cmake build-essential
# Build
cmake -B build-linux -S .
cmake --build build-linux
The application maintains the same configuration format as the Python version for seamless migration:
config/settings.json
- Main application configurationconfig/recovery.json
- Auto-saved state for crash recovery{
"telnet": {
"host": "192.168.1.100",
"port": 23,
"connect_retries": 3,
"retry_interval_s": 2
},
"window_geometry": [100, 100, 1200, 800],
"aui_layout": {
"perspective": "layout0|name=setup;caption=;state=..."
},
"gcode_history": [
"G0 X10 Y10",
"$H",
"G1 X0 Y0 F1000"
]
}
cp -r config/ config_backup/
The conversion follows the original Python code structure while modernizing with C++ best practices. Key areas needing attention:
BSD 3-Clause License (same as original Python version)
Copyright © 2025 FluidNC gCode Sender Project. All rights reserved.