Advanced Search

Search Results (Searched for: )

  • smv
  • smv
07 Aug 2025 06:52

Request for Community Feedback on g-code++ (sterp) Integration with LinuxCNC

Category: Show Your Stuff

Hi everyone! I’ve recently been working on integrating g-code++ (a lightweight g-code interpreter inspired by the rs274ngc NIST g-code specification) into the LinuxCNC ecosystem. Before I submit a pull request, I’d like to get some community feedback so as to ensure that it fits well and is aligned with the project's direction.

Link to my original repo:  github.com/s-mv/gcode-plus-plus
Link to the LinuxCNC fork:  github.com/s-mv/linuxcnc/tree/s-mv/sterp (s-mv/sterp branch)
Demo video: 
What I’ve Done
  • Integrated g-code++ into the LinuxCNC environment.
  • Verified it works for 3-axis machines on LinuxCNC.
  • Documented the integration process and architecture.
  • Set up an ANTLR4-based parser for g-code interpretation.
Key features
  • Control flow: Support for
    while
    loops,
    for
    loops,
    if
    statements, imports,
    continue
    , and
    break.
  • g-code compatibility: Supports standard G-codes like G0, G1, G2, G3, G20, G21, G54, M3, M4, etc.
Feedback would be greatly appreciated, especially from people who have experience using g-code interpreters with LinuxCNC or have experience maintaining/debugging the project. Eager to make this integration as frictionless as possible so that it meets the needs of the community. Thanks in advance, and I’m looking forward to hearing your thoughts!

Best regards,
s-mv (Shreerang Vaidya)
  • dannym
  • dannym
07 Aug 2025 03:33
Replied by dannym on topic Bit length checking on top datum

Bit length checking on top datum

Category: General LinuxCNC Questions

So, is there a way to get the lowest Z the loaded file will go to?

I don't see anything like that in numbered params. AXIS shows it did a full sim of all the g-code upon loading, but AXIS is not G-code. Could AXIS evaluation be storedand made available to g-code somehow?
  • PCW
  • PCW's Avatar
07 Aug 2025 03:27
Replied by PCW on topic Using a 7i95T for 3 axis + handwheels

Using a 7i95T for 3 axis + handwheels

Category: Advanced Configuration

Its not easy to add a 3rd MPG to a 7I76E/7I76EU isolated I/O
But it would be easy to add 3 or 4 to the parallel expansion port
of a 7I76E,7I76EU,7I96,7I96S,7I95,7I95T etc as long as the MPG
just has 5V signals

Another easy way to add 4 MPG inputs to almost any card and simplify cabling
is to add a 7I73

 
  • MikkelRS
  • MikkelRS's Avatar
07 Aug 2025 03:09
Replied by MikkelRS on topic Using a 7i95T for 3 axis + handwheels

Using a 7i95T for 3 axis + handwheels

Category: Advanced Configuration

I have never run this sort of mill- it originally had 3 handwheels, one for each axis, i dont know the resolution of them, but i doubt they were 100ppr, im thinking more like 200-500 to do half thou or 2 tenth motion(assuming 1 rotation was .1"), at least thats what would make sense for me.

i have another question: can a 3rd mpg encoder be added to the firmware of a 7i76e?

Also thanks a lot for the help, and this forum. amazing place!
  • Benb
  • Benb's Avatar
07 Aug 2025 01:55
Replied by Benb on topic Switch relay in a defined x position

Switch relay in a defined x position

Category: Advanced Configuration

While your issue appears straightforward, I'm having difficulty grasping the logic control conditions. It would be nice if you hand draw the relevant parts of the system that might put things into prospective. And most importantly list the conditions for disabling the axis.
For example: if ((position < 900) && (position > 1600)) disable the axis (this a fictive example just for illustrations)
  • sivaraj
  • sivaraj
07 Aug 2025 01:44
Replied by sivaraj on topic Controlling existing motors with resolvers

Controlling existing motors with resolvers

Category: Driver Boards

www.kollmorgen.com/sites/default/files/p...9032002701_A_5.1.pdf
The Page-86 in above DMC2 drive manual gives general resolver specification recomended by drive

www.wittenstein.de/download/operating-manual-tpm-plus-en.pdf
The Page-36 in this manual has resolver specification used by Wittenstein motor

It uses Tamakawa Brushless resolver
www.tamagawa-seiki.com/products/resolver...martsyn-builtin.html
  • PCW
  • PCW's Avatar
07 Aug 2025 00:21 - 07 Aug 2025 01:23

Lichuan LC10E Ethercat Absolute - 10mm following error

Category: EtherCAT

This does not seem like a delay issue because at 10000 mm/m, a 4.5 mm error
represents about a 27 ms delay (54 servo thread invocations with a 2 KHz servo thread)


It looks like there is some kind of filter between the command and feedback,
it's not just delayed but seems to have bounded acceleration.  This  could
also be because the drive tuning.

It seems like it has poor position loop gain (large static error) but why is it oscillating?
Maybe too much velocity loop gain and not enough position loop gain?
 
  • andypugh
  • andypugh's Avatar
06 Aug 2025 23:42

Lichuan LC10E Ethercat Absolute - 10mm following error

Category: EtherCAT

I don't have any experience with EtherCAT, but I was just on another forum discussing the Marco Reps config and have the link in the clipboard.
forum.linuxcnc.org/ethercat/56545-step-b...shine-to-pi-5#331624
The "middle" attachment might contain useful tips. (though that is for Leadshine)
  • scotta
  • scotta's Avatar
06 Aug 2025 20:51

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Yes, add your end stops etc to the hal file e.g.:

net X-home remora.input.00 => joint.0.home-sw-in
net Y-home remora.input.01 => joint.1.home-sw-in
net Y-home remora.input.02 => joint.2.home-sw-in

This links the remora input hal pins to other hal pins. It's the basis of any LinuxCNC configuration. You can build quite complex logic by linking hal pins from different components.
  • RLA
  • RLA
06 Aug 2025 20:48
Replied by RLA on topic Calibration issue

Calibration issue

Category: General LinuxCNC Questions

Hi...sorry for delay...much distracted here...I am going to follow up on all points..

I have it pretty close now...after I finish a couple things I want to go back and check because it seemed that when I used calibration...changed scale value..then tested by jog and measure...ok..save...then run program...consistently got a substantial difference than the jog test which was at the lame total distance..did same process again without testing by jog and much better..I know sounds voodoish but I will try to replicate later this week..

Thanks so much for your help!!

Rick
  • SebastianM
  • SebastianM
06 Aug 2025 19:11 - 06 Aug 2025 22:01

"KeyError" suddenly appears after moving a limitswitch

Category: QtPyVCP

Update / Wednesday 5:52PM: 
finally found the root cause for this behavior.
Its line 25 in my pendant.hal

# --- ESTOP-EXT ---
net pendant-estop     <=  hm2_7i76e.0.7i76.0.0.input-29


when I comment it out, everything is fine. 

Now I just have to understand whats going on with this signal.

Regards
Sebastian

###############################

OK, I am one step closer.. I created a "virgin" configuration.. that worked fine and didnt show this error. Than I started copying my old config file by file into the new folder to narrow down when this error would be introduced.

And - believe it or not - it happens as soon as I include my pendant.hal file.

Here is a screencast. Its 100% reproducable.


As soon as "G54" is highlighted in the top left corner, everything is fine. When its "off", I always get this popup...

Does this make any sense to you?
this is my config.
github.com/SebastianMusser/LinuxCNC
  • michaelvdberghe
  • michaelvdberghe
06 Aug 2025 17:30
Replied by michaelvdberghe on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

so i dont understand how these correspond to physical pins on the remora board itself, do you still have to add those manualy in the code.
# estop and SPI comms enable and feedback

net user-enable-out <= iocontrol.0.user-enable-out => remora.enable
net user-request-enable <= iocontrol.0.user-request-enable => remora.reset
net remora-status <= remora.status => iocontrol.0.emc-enable-in


espacialy for the x-axis i dont see where the enable pin is or where the xp+, xp-, xd+,xd- are refferencd in the code here. i realy dot get it, the documentaion is not making sence.

# joint 0 setup (X axis)

setp remora.joint.0.scale [JOINT_0]SCALE
setp remora.joint.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL

net j0pos-cmd joint.0.motor-pos-cmd => remora.joint.0.pos-cmd
net j0pos-fb remora.joint.0.pos-fb => joint.0.motor-pos-fb
net j0enable joint.0.amp-enable-out => remora.joint.0.enable
  • heaven
  • heaven
06 Aug 2025 15:40
Replied by heaven on topic vibration at lowspeed.

vibration at lowspeed.

Category: Advanced Configuration

You are right  , i tried changing screen update and the vibration spikes up at the same rate.
My module is not real-time, it's a Python module and is built as an embedded tab of Lcnc. I dont think real-time is needed but i may need to find another way for it to not get affected by screen update.
 
  • konrad
  • konrad
06 Aug 2025 14:53
Replied by konrad on topic prevent jog limit error

prevent jog limit error

Category: General LinuxCNC Questions

I got it: the problem was that the [AXIS_X] section had the same settings as the [JOINT_0] section, basically setting the allowed range for the axis to the same range as the physical reachable positions. My corrected .ini values are now:

[AXIS_X]
MIN_LIMIT = 0
MAX_LIMIT = 455.0

[JOINT_0]
HOME = 0
MIN_LIMIT = -1
MAX_LIMIT = 455.3
HOME_OFFSET = -0.5

 
  • seuchato
  • seuchato
06 Aug 2025 14:44

M1xx: Controlling Relays (solenoids) from within axis MDI

Category: Advanced Configuration

Hi all
I was looking for a way to control my vacuum table's vacuum pump from within axis. After reading the manual, searching linuxcnc's forums, I realised others were probably struggling with similar tasks (myst, dust extraction, ...), too. I could not find a proof cooked recipe. Below, you'll find what I am ready to go with. It is a proof of concept at the time. However, and since I use same/similar components the same/similar way in home automation, I am positive, it works in the real harsh world. Teaser wanted?
 
The KDialog message box is being called by M100, this reads the relays statii and displays as shown

So: let's go, just a remark: the editor seems to be disfunct, so I use my own marking:
Ingredients:
=====================================================
* github.com/ondrej1024/crelay
* a crelay compatible USB relay controller card, I used this one: 
* some time
Setting stuff up:
=====================================================
* follow the installation intructions of ondrej, should you fail (like me) at the first step (git clone git://github.com/signal11/hidapi.git), do this instead:
git clone github.com/signal11/hidapi.git
* If you'd like to have access to your relays over LAN. you can set it up as follows:cat /etc/crelay.conf  which crelay
 /usr/local/bin/crelay
sudo echo "user ALL=(ALL) NOPASSWD:/path/to/other/comands, /usr/local/bin/crelay" > user 
Replace "user" with the very username you run linuxcnc, check itcrelay 1
crelay 1 is on

That was a success, now get familiar with crelay:
crelay -i

Detected relay cards:
                                        #
#1    Conrad USB 4-channel relay card (serial 00633CF4) 
crelay 1 on
crelay 1
crelay 1 is on

I guess there is no comment needed, ondrej's work is just perfect, isn't it?
So we can set relays from command line, as user "user" (cnc in my case) and read their status. Howto do it from within g-code?

M1xx comes handy:

=====================================================

Place a script similar to attached M100 into the directory specified in the .ini file's [DISPLAY] section under PROGRAM_PREFIX = /home/cnc/linuxcnc/configs/cnc0/macros

My path above needs to be changed to your definition.
Maybe, there is some rebooting and logging in/out/in required. I did not make notes on this.

Things to consider:

=====================================================
This approach is not for real time requiring tasks. However, I think, for these tasks:
* clamping stock via vacuum
* starting dust extraction
* and mybe even myst
real time is not required


Hope that helps someone else, too
greez
chris



 
Displaying 11386 - 11400 out of 17179 results.
Time to create page: 1.001 seconds
Powered by Kunena Forum