Advanced Search

Search Results (Searched for: )

  • 5_Zylinder
  • 5_Zylinder
20 Jul 2026 21:42
Replied by 5_Zylinder on topic Hurco BMC 30 AP

Hurco BMC 30 AP

Category: CNC Machines

We tried your suggestion, and the error message "G-Code error in axis.ngc" is now gone.

I did, however, forget to add the "TOP_LEVEL = 0" command. I'll add that now.

I wanted to execute the command "o<toolchange> call" in MDI mode. However, I received an error message referencing the tool change program sequence: "Named parameter #<tool_in_spindle> not defined." It seems to me that this parameter hasn't been declared yet, so the system can't locate it.

Perhaps you have a solution for this problem.
  • d12k6
  • d12k6
20 Jul 2026 21:35 - 20 Jul 2026 21:45

ColorCNC Colorlight 5A-75E/5A-75B as FPGA controller board

Category: Driver Boards

Hello all, I’ve been struggling for about two weeks to flash a bitstream onto my Colorlight board (V8.2) using an external Adafruit FT232H USB-to-GPIO/SPI/I2C board, but I keep running into JTAG initialization and IDCODE errors.

I'm hoping someone here might spot what I am missing in my setup. Here are the details of my configuration and what I've observed so far:
  • FT232H D0(TCK) - Colorlight TCK J27
  • FT232H D1(TDI) - Colorlight TDI J32
  • FT232H D2(TDO) - Colorlight TDO J30
  • FT232H D3(TMS) - Colorlight TMS J31
  • GND - Colorlight J34 (3V3 is not connected)
The Problem: When running openFPGALoader, the tool successfully communicates with the FT232H, but the JTAG initialization fails because it reads erratic, shifting IDCODEs (e.g., 0xfffffffd, 0xffffffe1, 0xfff11043, or random bit patterns) instead of the expected ECP5 IDCODE. Note: If I try to supply an external 3.3V to the VCORE pin of the FT232H, openFPGALoader immediately throws an Error: no device found. Leaving it unpowered/floating lets the FT232H enumerate, but yields unstable JTAG reads.

Commands:

sudo /opt/oss-cad-suite/bin/openFPGALoader -c ft232 --fpga-part LFE5U-25F --freq 100000 --write-flash /home/cnc/Desktop/LiteCNC/colorlight_pins/gateware/colorlight_5a_75b.bit 

write to flash 

Can't read iSerialNumber field from FTDI: considered as empty string 

Jtag frequency : requested 100.00KHz -> real 100.00KHz 

Open file DONE 

Parse file b3bdffff DONE 

mismatch between target's idcode and bitstream idcode bitstream has 0x41111043 hardware requires 0xf819bfff 
Error: Failed to program FPGA: std::exception

Questions: 
Has anyone successfully used an Adafruit FT232H to flash a Colorlight V8.2 board via JTAG?
To completely rule out any issues with my current .bit file (or potential synthesis/mapping mismatches), does anyone happen to have a known-working, minimal test bitstream (e.g., a simple blinky for the ECP5 LFE5U-25F / Colorlight 5A-75B) that I could use just to verify that the flash programming and execution works?Any advice or working command configurations would be greatly appreciated!
Thanks
  • PCW
  • PCW's Avatar
20 Jul 2026 21:10
Replied by PCW on topic Parallel Port - how to invert PWM value

Parallel Port - how to invert PWM value

Category: Installing LinuxCNC

If you had signed PWM hardware and you got minus full scale
instead of full scale with a full scale positive PWM value, then  yes,
inverting the PWM scale would fix the problem.

For unsigned PWM when 0% duty cycle PWM gives you full scale output
and 100% duty cycle gives you 0% output, you would need to digitally invert
the PWM pin (and this is the situation here AFAICT)
 
  • PCW
  • PCW's Avatar
20 Jul 2026 20:42
Replied by PCW on topic Jogwheels won´t jog

Jogwheels won´t jog

Category: Basic Configuration

Yes, the 7I97/7I97T have 8 dedicated MPG pins on the isolated inputs  (inputs 0 ..7)

The four MPG counter names are:

hm2_7i97.0.inmux.00.enc0-count
hm2_7i97.0.inmux.00.enc1-count
hm2_7i97.0.inmux.00.enc2-count
hm2_7i97.0.inmux.00.enc3-count

One advantage of the MPG encoders over the normal high speed encoders
is that the MPG encoders support the 1X mode, which means you get one increment
per click on standard 100 PPR MPG dials.
  • rodw
  • rodw's Avatar
20 Jul 2026 20:33
Replied by rodw on topic Jogwheels won´t jog

Jogwheels won´t jog

Category: Basic Configuration

There is also a good MPG example in the docs except in Mesa land, you don't use the encoder component
linuxcnc.org/docs/stable/html/examples/mpg.html
Not sure on the 7i97 but there are some dedicated MPG pins on the Mesa 7i76e (and for the 7i96 if you use the right bit file and give up some pins.
  • galmiklos
  • galmiklos
20 Jul 2026 19:49

"Probe Height of the current tool" button not active in versatool

Category: Qtvcp

I use LinuxCNC 2.9.8, and trying to use versatool to do manual tool change with a tool length sensor and a touch probe.

I do this sequence.

1. Defined tool 99, and load it: M6 T99,
2. Get a pop up window about manual tool change, install the probe in the spindle and press OK,
3. Go to the TLS by pressing the first button in the first row (Go to Tool Setter),
4. Measure the probe height by pressing the second button in the first row (Probe Tool Setter Z Height),
5. Jog above my stock (aluminum), and measure its height by pressing the button in the middle row (Probe Z Height of material),
6. Load a tool: M6 T3,
7. Get the pop up, install the tool and pressed OK

I can see the PROBE HT and BLOCK HT variables set, as seen in the screen shot below.

 

I would then expect to measure the tool height by pressing the first button in the bottom row (Probe Height of the current tool). But I can't, it is not active.

What else do I have to do to be able to measure the tool height?

 
  • Todd Zuercher
  • Todd Zuercher's Avatar
20 Jul 2026 19:11 - 20 Jul 2026 19:12
Replied by Todd Zuercher on topic Parallel Port - how to invert PWM value

Parallel Port - how to invert PWM value

Category: Installing LinuxCNC

Wouldn't the proper way to invert a PWM be to use a negative value for the PWM scale? (setp pwmgen.N.scale = negative value)
  • NWE
  • NWE's Avatar
20 Jul 2026 18:34

Ursviken Pullmax Optima 130 press brake retrofit with 4 axis backgage

Category: Show Your Stuff

Finally got back to this project last week. So it seems the big difficulty is the unique hydraulic configuration. The left and right side (axis Y1 and Y2) are servo valves tee'd from the pump. The flow divider is fully emulated electronically. In this case directly in LinuxCNC hal. I seem to have improved control at this point. More testing...
  • RotarySMP
  • RotarySMP's Avatar
20 Jul 2026 18:33

Gmoccapy tool table not accepting lathe tool angles...

Category: Gmoccapy

Thanks for your help on this.
Cheers,
Mark
  • tuxcnc
  • tuxcnc
20 Jul 2026 18:24
Replied by tuxcnc on topic lcncgui simple web based linuxcnc GUI

lcncgui simple web based linuxcnc GUI

Category: Other User Interfaces

One more little gray text on a gray background...
No, thank you.
  • klopp
  • klopp
20 Jul 2026 18:08

lcncgui simple web based linuxcnc GUI

Category: Other User Interfaces

Hey,

I’ve been building a new GUI for LinuxCNC called lcncgui (mainly for my own use) and figured I’d throw it out here. It's a browser based, more "modern" looking UI.

Why browser?

Qt and the classic GUI stuff work fine, but design-wise a browser UI just gives you a lot more room — layouts, touch stuff, dialogs, etc. feel way less constrained (and I'm also not really proficient with qt).

On older PCs this might be an issue, but anyone something somewhat modern like a raspberry pi will be fine.

How it works

Python backend talks to LinuxCNC, frontend talks to the backend over WebSockets. Same role as gmoccapy — set `DISPLAY = lcncgui` and you’re good.

Because it’s network-based, you could also open and control it on another device, e.g. an iPad on the same network.

Control

It’s mainly meant for external buttons / hotkeys (and HAL panel inputs). Softkeys, keyboard, and physical buttons all do the same things.

If you don’t have a panel, there’s a virtual button sidebar so you can still run everything from the screen.

Things that are different from the classic linuxcnc GUI

- Macros — stack operations in a queue (drill, helical bore, face mill, patterns, …), hit go, gets turned into real G-code and opened in the program editor
- G/M-code tooltips — hover/click a code and you get a short explanation instead of digging through the manual
- Tool table — more info than the usual `.tbl` stuff, plus cut presets (RPM, feeds, etc.) so you can set cutting data quickly
- Shutdown — close the GUI, or close it and shut down the PC cleanly afterward

Plus the usual jog/home, DRO, program editor, MDI, overrides, etc.

Still WIP

Some things are missing or half-done (no machine visualization yet, not every macro tile actually generates G-code yet, etc.). Expect rough edges. Also coding was assisted a lot by AI.

Looking for feedback — what feels useful, what’s annoying, what’s missing for real use.

Repo: github.com/salomom/lcncgui  
Install via release tarball + `install.sh`, no Node needed on the machine.
If you're running on an older machine, consider installing chromium as your default browser, as it's a bit more performative.

Happy to answer questions.

Cheers,  
Tim

  • tommylight
  • tommylight's Avatar
20 Jul 2026 17:04
Replied by tommylight on topic Gantry oxyfuel / plasma type machine from scratch

Gantry oxyfuel / plasma type machine from scratch

Category: General LinuxCNC Questions


Now recently I have visited some exhibition and I saw today most of industrial things are on EtherCAT.

Yes, it does seem so...


My plan is to make linuxcnc act as an master node, and send signals to the motion controller which will then through some adapters transform the signal to pulse/dir and send to the drives.

That would be redundant as LinuxCNC is the motion controller.
In short:
-buy a Mesa 7i96S and a THCAD
-a used Entrprise PC
-A network cable
-Wire, install LinuxCNC, start wiring drives and motors
-those drives will have to be set in position mode, hence 7i96S
-yeah, wiring, you will need very good quality shielded cables for everything as cables that long will collect a lot of interference, not very important for oxy cutting, but a mist for plasma cutting.
-....well, that is it.
  • PCW
  • PCW's Avatar
20 Jul 2026 16:52

7I96S isolated inputs (InM) stopped updating live — read fine at load, then froz

Category: Driver Boards

Very strange, Do the GPIO inputs work?
 (GPIO0..GPIO10 match INM0..INM10 on a 7I96S)
  • andreas0480
  • andreas0480
20 Jul 2026 16:41

7I96S isolated inputs (InM) stopped updating live — read fine at load, then froz

Category: Driver Boards

Hello,

I have a 7I96S that has developed a specific fault: the 11 isolated field inputs (TB3-01…11, the InM module) stopped updating during operation. They read the correct state once when the hostmot2 driver loads, and then freeze — actuating a switch or the E-stop no longer changes the value in software. The card's own input status LEDs do still follow the switches correctly.

Everything else on the card works normally: Ethernet comms are solid (no packet errors, no watchdog trips), all 5 stepgens drive motors correctly, PWM works.

Setup
- 7I96S, Smart Serial Firmware Version 43, BoardName MESA7I96 per mesaflash --readhmid
- LinuxCNC 2.9.10 (uspace), hostmot2 0.15, hm2_eth 0.2
- Raspberry Pi CM5, Debian 12, PREEMPT_RT kernel; card on a dedicated NIC at 192.168.1.121
- Standard 24 V field sensors; input common (TB3-12) tied to field 0 V

What I have established by testing
1. It worked, then stopped. Early on, inputs updated live (two limit inputs flipped TRUE→FALSE on halmeter when actuated). Later in the same session they froze and have not recovered.
2. Not comms/packet loss. With a stepgen commanded to move, stepgen.NN.position-fb updates live in the same read cycle that the InM inputs stay frozen. A lost/stale read packet would freeze position feedback too — it doesn't.
3. Not debounce. raw-input-NN (undebounced) is frozen as well, so the scan itself is not advancing (scan_rate/fast_scans/slow_scans at defaults).
4. Survives full cold power cycles. The card powers down completely with the Pi; it was fully powered off several times after the freeze and stayed frozen.
5. Firmware config intact. mesaflash --readhmid reads a complete, correct HostMot2 cM module (base 8500).
6. Adding hm2_7i96s.0.read-request to the servo thread did not change the behaviour.

Possible cause on my end: a contactor in the machine failed (fried) shortly before the inputs froze. Its coil ran on the 24V field power. I suspect a transient may have coupled into the input section via a shared ground.

My question: given the inputs read correctly at load but never update live, while thunctional and the firmware reads back intact — does this look like a damaged inputsection that needs repair/replacement, or is there something else I can test first?

Thank you,
Andreas
  • tuxcnc
  • tuxcnc
20 Jul 2026 16:26 - 20 Jul 2026 16:34
Replied by tuxcnc on topic Jogwheels won´t jog

Jogwheels won´t jog

Category: Basic Configuration

I corrected and tested it. A few words of explanation:
The 7i92 inputs are controlled by a short to ground. If none of the axis selection inputs is shorted to ground, then none of the axis moves, if one or several, the selected axes move.
I added the line "setp mux4.0.in3 0"
If both coefficient selection signals are shorted to ground, the axis will move, but at zero speed, so the effect will be the same as if no axis was selected. (You can change it to "setp mux4.0.in0 0", then there will be no movement when no selection input is shorted to ground).
I did this to have a wider selection of supported switches. It is possible that someone will have, for example, four axes and a four-position switch, then they would not be able to select the "no axis" option, which is necessary.
It is also worth mentioning how to control two inputs with a single-section switch.
You need to use diodes (anode for the input of the mesa, cathode for the switch). Then, a short circuit to ground of one input does not affect the status of the other inputs. I won't describe it in detail, if someone needs it, they will find it.
loadrt mux4
addf mux4.0 servo-thread

# For velocity mode, set to 1
# In velocity mode the axis stops when the dial is stopped
# even if that means the commanded motion is not completed,
# For position mode (the default), set to 0
# In position mode the axis will move exactly jog-scale
# units for each count, regardless of how long that might take,
setp axis.x.jog-vel-mode 1
setp axis.y.jog-vel-mode 1
setp axis.z.jog-vel-mode 0
setp joint.0.jog-vel-mode 1
setp joint.1.jog-vel-mode 1
setp joint.2.jog-vel-mode 0

# The Axis select inputs
net mpg-x joint.0.jog-enable axis.x.jog-enable <= hm2_7i92.0.gpio.033.in_not
net mpg-y joint.1.jog-enable axis.y.jog-enable <= hm2_7i92.0.gpio.032.in_not
net mpg-z joint.2.jog-enable axis.z.jog-enable <= hm2_7i92.0.gpio.031.in_not

# The inputs to the mux4 component
net scale1 mux4.0.sel0 <= hm2_7i92.0.gpio.030.in_not
net scale2 mux4.0.sel1 <= hm2_7i92.0.gpio.029.in_not

# This sets the scale that will be used based on the input to the mux4
setp mux4.0.in0 0.025
setp mux4.0.in1 0.0025
setp mux4.0.in2 0.00025
setp mux4.0.in3 0

# The output from the mux4 is sent to each axis jog scale
net mpg-scale mux4.0.out => axis.x.jog-scale axis.y.jog-scale axis.z.jog-scale
net mpg-scale => joint.0.jog-scale joint.1.jog-scale joint.2.jog-scale

# The encoder output counts to the axis. Only the selected axis will move.
net encoder-counts hm2_7i92.0.encoder.00.count => axis.x.jog-counts axis.y.jog-counts axis.z.jog-counts
net encoder-counts => joint.0.jog-counts joint.1.jog-counts joint.2.jog-counts
Displaying 76 - 90 out of 14279 results.
Time to create page: 0.395 seconds
Powered by Kunena Forum