Skip to content

Linuxcnc interface gui based on halcommands and emc-nml messages, can read and visualise gcode

License

Notifications You must be signed in to change notification settings

xutingjie168/qt_c_linuxcnc_interface_gui

 
 

Repository files navigation

QT_C++_Linuxcnc_interface_gui

Linuxcnc interface gui based on halcommands and emc-nml messages, can read and visualise gcode For information only. Not ready to use in real time applications!

Example : alt text

To use :

  1. clone and download linuxcnc. install as rip. how to install, follow this guide : https://forum.linuxcnc.org/27-driver-boards/35591-beckhoff-ethercat-64-with-bit-linuxcnc-how-to-install#121471

  2. Start linuxcnc as rip. and select config axis_mm. select => create destop icon.

  3. Copy the compiled qt executable file into the linux bin folder "../linuxcnc/bin/" or make a symbolic link.

  4. Modify the axis_mm.ini file "../inuxcnc/configs/sim/axis/axis_mm.ini and replace in the file :

Name of display program, e.g., axis DISPLAY = QT_Lcnc_interface

Axes sections --------------- [AXIS_X] MIN_LIMIT = -10000 MAX_LIMIT = 10000

Joints sections ------------- [JOINT_0] MIN_LIMIT = -10000 MAX_LIMIT = 10000

  1. modify in the file ../QT_Lcnc_interface/display/variable.cpp

std::string nmlfile="/home/user/linuxcnc/configs/common/linuxcnc.nml";

To your path :

std::string nmlfile="/yourdirecory/linuxcnc/configs/common/linuxcnc.nml";

  1. start linuxcnc axis_mm config and start the qt application.

Comments :

  1. The program read's gcode with "G0" for reading "g0" you have to expand or modity ./QT_Lcnc_interface/gcode/parse_gcode.h
  2. Some gui commands are emc-nml commands. It looks like linuxcnc has a overflow after some time trough the emc-nml calls. Solution may be free memory, deallocation etc.
  3. Replacing emc-nml commands with halui read and write operations that are available, will solve this problem at tab 2 quickly, is what i suspect.
  4. Have fun with playing around with the program !!

Future goal :

I think to write a new motion controller in c++ including a kernel module to acces ethercat hardware and do real time motion operations. Have looked into the linuxcnc source code for several day's now, and i am not happy how some things are done.

About

Linuxcnc interface gui based on halcommands and emc-nml messages, can read and visualise gcode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.1%
  • QMake 4.3%
  • C 0.6%