Advanced Search

Search Results (Searched for: )

  • Lcvette
  • Lcvette's Avatar
01 May 2025 12:56
Replied by Lcvette on topic QtPyVCP designer plugin fails

QtPyVCP designer plugin fails

Category: QtPyVCP

great!
  • langdons
  • langdons
01 May 2025 12:37 - 01 May 2025 12:40
Replied by langdons on topic Segmentation fault

Segmentation fault

Category: General LinuxCNC Questions

Do not ever run an OS from a USB key long-term.

The flash memory will wear out and the bandwidth will be limited b/c USB only has 1 unidirectional dataline.

It cannot read and write simultaneously.

USB 3.0 and greater fixes the bandwidth issue, but the weardown of the flash memory is still very problematic.

I recommend you install Ventoy to a USB, download an ISO of LinuxCNC from the downloads page, and install to an HDD from that.

Chrome downloads files slowly for some reason, use Firefox, curl, wget, or JDownloader to avoid waiting all day.

You can reduce latency by setting the CPU governor to performance.
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor > /dev/null

I prefer Ubuntu's GRUB to Debian's.

(the Debian version is ugly)
  • DarkPhoinix
  • DarkPhoinix
01 May 2025 12:36
Replied by DarkPhoinix on topic [SOLVED]linuxcnc Latency test ambiguous results

[SOLVED]linuxcnc Latency test ambiguous results

Category: General LinuxCNC Questions

 28:          0          0          0         18  IR-PCI-MSI 360448-edge      mei_me
 cat /etc/modprobe.d/mei*
blacklist mei
blacklist mei_hdcp
blacklist mei_me

Very nice next blacklisted intel backdoor! six windows of youtube no junction error!! But nest use rustdesk error coming 
 
  • langdons
  • langdons
01 May 2025 12:31
Replied by langdons on topic Segmentation fault

Segmentation fault

Category: General LinuxCNC Questions

.exe = Windows.

On a Unix-like filesystem, files must be marked exucutable to be executed.

It's a security thing.

Chmod +x will mark a file as executable.
  • Aciera
  • Aciera's Avatar
01 May 2025 12:19 - 01 May 2025 12:29

Is there a bug in the carousel component or am I doing it wrong ATC Denford

Category: Advanced Configuration

I once helped a user who needed to get a ATC turret working that used a stepper and needed to lock the tool by rotating backwards against a pawl (which I _think_ is what yours does):


To get this working we modified a component called 'toolchanger'. The final version is attached here:
forum.linuxcnc.org/38-general-linuxcnc-q...lved?start=80#188377
  • Aciera
  • Aciera's Avatar
01 May 2025 12:14 - 03 May 2025 04:55

Is there a bug in the carousel component or am I doing it wrong ATC Denford

Category: Advanced Configuration

Looking at these sections in 'carousel.comp' makes met think that the reverse action does not work in 'counts' mode :

if (rev_pulse > 0){
motor_fwd = 0;
motor_rev = 1;
motor_vel = rev_dc;
timer = rev_pulse;
state = 3;
[snip]
case 3: // timed reverse pulse
timer -= fperiod;
if (timer > 0) return;


Note that there is nothing changing 'counts_target'.
  • Grotius
  • Grotius's Avatar
01 May 2025 12:12
Replied by Grotius on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

@Pcw,

Thanks for reporting this.  For now i will keep this in mind, and will test this later on.

The [TRAJ] section is responsible for setting the planners max-acceleration values.
The planner doesn't look at the individual joint max acceleration values. Maybe that is causing trouble.

@All,

Ok, for the cia-402 component i made a home sequence intrusion in the homemod.so component.
It basicly enables external homing, and not triggering following error etc during this procedure.
All is done with a few hal pins.

When using the servo's internal home sequence the lcnc home sequence can now be done by a connecting a few hal pins.

For each joint, you can activate the cia-402 home sequence.
In this way, a non cia-axis, can be homed by lcnc's original method as usual.
 

1. You can set pin for enabling the cia-402 internal servo drive home sequence.
Set this flag "setp" in the .hal file after you load the cia component for example.

2. The cia-402 recieves a home command from homemod.so
Connect the cia-402 home command pin (input) -> homemod home-drive (output)

3. The cia-402 servo pos feebback is passed to the homemod.so when the servo is homing and changing position.
Connect the cia-402 pos-feedbak (output) -> homemod.so pos-fb

4. When the cia-402 drive is homed, it updates a flag in homemod.so wich set homed = 1.
Connect the cia-402 is homed flag (output) -> homemod.so drive-is-homed.

libhome

source code intrusion

Sinds i have no cia hardware, i tested this ok in a linuxcnc simulation config.
  • Spyderbreath
  • Spyderbreath's Avatar
01 May 2025 11:52
Replied by Spyderbreath on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Wow, yes that does help immensely. Fortunately I was up early enough this morning to retrieve the hardware from the trash before the truck came down the road to hall it away. Unfortunately, not before I ordered a 7I96S, but I'll find a use for the both of them as I have a Emco 120P to retrofit after I get this mill up and running.

The info in 3. is the first time I have seen any reference to that file.

About 8. ? The post that Daz made if you are referring to this one - forum.linuxcnc.org/18-computer/44828-rem...rd?start=2140#327240 - is for an EC300, not an NVEM. From what I am seeing I will need to follow to the letter up to step 8, then use the nvem-rt1052.txt instead of the ec300-rt1052.txt linked to in that post. Is that correct?
  • tommylight
  • tommylight's Avatar
01 May 2025 11:28
Replied by tommylight on topic comparing to Grbl, or FluidNC

comparing to Grbl, or FluidNC

Category: Milling Machines

One aspect that I did not see mentioned is the time delay between inputs and action on some of the systems.

I did mention LinuxCNC is real time systems, so there is no delay, maybe 1-3ms normally.
But your explanation is much easier to understand. :)
  • DarkPhoinix
  • DarkPhoinix
01 May 2025 11:27
Replied by DarkPhoinix on topic [SOLVED]linuxcnc Latency test ambiguous results

[SOLVED]linuxcnc Latency test ambiguous results

Category: General LinuxCNC Questions

this is my situation of IRQ.
I try yesterday morning to move some irq to cpu 0 and 1 but no success.
#!/bin/bash

# Funzione per spostare un IRQ su una specifica CPU core
sposta_irq_su_core() {
  local irq_number="$1"
  local cpu_core="$2"
  local affinity_file="/proc/irq/${irq_number}/smp_affinity_list"

  if [ -f "$affinity_file" ]; then
    echo "$cpu_core" > "$affinity_file"
    echo "IRQ $irq_number spostato sul core $cpu_core."
  else
    echo "Errore: il file di affinità per l'IRQ $irq_number non esiste."
  fi
}

# Ottieni la lista degli IRQ
irqs=$(ls /proc/irq)

# Definisci i core target
core0=0
core1=1

echo "Tentativo di spostare gli IRQ sui core $core0 e $core1..."

# Itera attraverso gli IRQ e distribuiscili sui core 0 e 1
counter=0
for irq in $irqs; do
  if [[ "$irq" =~ ^[0-9]+$ ]]; then # Verifica che sia un numero (IRQ)
    if (( counter % 2 == 0 )); then
      sposta_irq_su_core "$irq" "$core0"
    else
      sposta_irq_su_core "$irq" "$core1"
    fi
    ((counter++))
  fi
done

echo "Operazione completata."
           CPU0       CPU1       CPU2       CPU3
  8:          0          0          0          0  IR-IO-APIC   8-edge      rtc0
  9:          0          0          0          0  IR-IO-APIC   9-fasteoi   acpi
 17:        466          0          0          0  IR-IO-APIC  17-fasteoi   snd_hda_intel:card0
 18:          5          0          0          0  IR-IO-APIC  18-fasteoi   i801_smbus
 23:          0        112          0          0  IR-IO-APIC  23-fasteoi   ehci_hcd:usb1, ehci_hcd:usb2
 24:          0          0          0          0  DMAR-MSI   0-edge      dmar0
 26:          0          0      13810          0  IR-PCI-MSI 1572864-edge      enp3s0
 27:          0          0      10628          0  IR-PCI-MSI 512000-edge      ahci[0000:00:1f.2]
 28:          0          0          0         18  IR-PCI-MSI 360448-edge      mei_me
 29:          0      26402          0          0  IR-PCI-MSI 524288-edge      nvkm
NMI:          2          2          0          0   Non-maskable interrupts
LOC:     176373     127559        836        484   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:          2          2          0          0   Performance monitoring interrupts
IWI:        612        299        410          7   IRQ work interrupts
RTR:          0          0          0          0   APIC ICR read retries
RES:       7385       8439          2          0   Rescheduling interrupts
CAL:       2871       3192       1850       1849   Function call interrupts
TLB:         81         69          0          0   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
DFR:          0          0          0          0   Deferred Error APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:          2          3          3          3   Machine check polls
ERR:          0
MIS:          0
PIN:          0          0          0          0   Posted-interrupt notification event
NPI:          0          0          0          0   Nested posted-interrupt event
PIW:          0          0          0          0   Posted-interrupt wakeup event
situation next your script of network card:
 26:          0          0      39646       4301  IR-PCI-MSI 1572864-edge      enp3s0

Thanks for help !!!
  • tommylight
  • tommylight's Avatar
01 May 2025 11:24

Can someone explain how squaring is handled on dual motor linear axis?

Category: CNC Machines

Pictures?
LinuxCNC can do gantry squaring, so that is easy, but i have no idea what you mean by coupler there.
  • Shaypo
  • Shaypo
01 May 2025 11:24
Segmentation fault was created by Shaypo

Segmentation fault

Category: General LinuxCNC Questions

Hi folks,
I'm a hobby CNC enthusiast, working for a couple of years now with a self built CNC machine. My setup includes an old pc using a PCI card to connect via a parallel port to a 3axis tb6560 controller. my spindle is the 2.2KW with the HY VFD.
This setup worked perfectly until it didn't. For some reason every time I tried to open gmail the computer crashed completely (lost power all together). I decided to replace the USB stick holding the Linux installation with a new (and bigger) one.
I have successfully (I think) installed the rtai kernel and linuxcnc, the old issue was resolved, my latency test looks great and I can control the motors while in the Stepconf Wizard.
The Problem is after I finish setting the configuration and trying to open the launch icon, first I get a message that it is not .exe. when I hit launch anyway is shows the linuxcnc logo as aspects and then crashes with the attached report.

I would appreciate any help on the subject, I already wasted crazy amouny of time trying to get my setup running.
Thanks.
 
  • Adam Maszynotwór
  • Adam Maszynotwór's Avatar
01 May 2025 11:11 - 01 May 2025 11:13

Is there a bug in the carousel component or am I doing it wrong ATC Denford

Category: Advanced Configuration

Below is the translated and polished version of your analysis, ready to be posted on the LinuxCNC forum. It retains all the technical details, observations, and context while being concise and clear for the community. I've formatted it to fit a typical forum post structure, focusing on your issue with the carousel component and the lack of reverse motion in REV_TIME.Forum Post: Lack of Reverse Motion in carousel Component (counts Mode, rev-pulse)Title: No Reverse Motion in carousel Component with counts Mode and rev-pulseBody:Hello everyone,Thank you for the help so far. I'm working on a toolchanger carousel with 8 pockets, driven by a stepper motor (1600 steps/rev, scale=200) in LinuxCNC (version [insert your version, e.g., 2.9.2]). I'm using the carousel component in counts mode (encoding=counts, dir=1) with a physical homing sensor on parport.0.pin-10-in. Homing works correctly, but subsequent M6 tool changes fail to perform the reverse motion (rev-pulse=2.0), even though carousel.0.motor-rev changes state. Below, I've analyzed the carousel component's source code to understand how the reverse motion (for locking) should work and why it’s not generating pulses on parport.0.pin-08-out in REV_TIME with stepgen in position mode (step_type=0).Analysis of Reverse Motion Mechanism1. Documentation on rev-pulseFrom the carousel component documentation:text
Copy
pin in float rev-pulse """The duration in seconds for which a ratchet changer (Boxford, Emco) should pulse the reverse pin to lock the holder""";
text
Copy
For tool changers which lock the carousel against a stop the \fBrev-pulse\fR pin can be set to a non-zero value. The motor-rev pin will then be set for this many seconds at the completion of the tool search and at the same time the reverse duty/cycle velocity value will be sent to the motor-vel pin.
Interpretation:
  • rev-pulse defines the duration (in seconds) that the motor-rev pin is active (TRUE) to perform a reverse motion to lock the carousel (e.g., for ratchet-type changers like Boxford or Emco).
  • During this time, motor-vel is set to rev-dc (reverse velocity), suggesting the reverse motion is intended for velocity control (e.g., DC motors or stepgen in velocity mode).
  • The documentation does not mention updating counts-target in REV_TIME, which is critical for counts mode with stepgen in position mode.
My Configuration:
  • carousel.0.rev-pulse=2.0 (2 seconds of reverse motion).
  • carousel.0.rev-dc=-0.5 (reverse velocity, 50% of max velocity).
  • stepgen.2.maxvel=80 (80 pulses/second).
  • encoding=counts, dir=1 (unidirectional carousel).
  • stepgen.2 in position mode (step_type=0), driven by carousel.0.counts-target.
Expectation:
  • After reaching the target pocket (e.g., T1 M6), the carousel should perform a reverse motion for 2 seconds, generating pulses on parport.0.pin-08-out (e.g., 80 pulses, calculated as 2.0 * 80 * 0.5).
2. Source Code Analysis – How Reverse Motion is ImplementedI analyzed the carousel.comp source code to understand how reverse motion is handled, focusing on the REV_TIME state.Transition to REV_TIMEReverse motion is initiated in the MOVE state (state 2) when the carousel reaches the target pocket (current_position == mod_pocket):c
Copy
case 2: // moving if ((current_position != mod_pocket) && enable){ deb = debounce; return; } else if (deb-- > 0) { return; } if (rev_pulse > 0){ motor_fwd = 0; motor_rev = 1; motor_vel = rev_dc; timer = rev_pulse; state = 3; } else if (decel_time > 0) { // stop and prepare for alignment motor_vel = 0; timer = decel_time; state = 5; } else { motor_fwd = 0; motor_rev = 0; motor_vel = hold_dc; active = 0; if (enable && current_position == mod_pocket) ready = 1; state = 9; } break;
What happens:
  • If rev_pulse > 0 (in my case, 2.0), the component:
    • Sets motor-fwd=0, motor-rev=1 (activates reverse direction, seen on parport.0.pin-09-out).
    • Sets motor-vel=rev-dc (in my case, -0.5 for reverse velocity).
    • Initializes the timer to rev-pulse (2.0 seconds).
    • Transitions to REV_TIME (state 3).
  • Key Issue: It does not update counts-target, which drives stepgen.2.position-cmd in position mode.
REV_TIME StateThe REV_TIME state (state 3) handles the reverse motion:c
Copy
case 3: // timed reverse pulse timer -= fperiod; if (timer > 0) return; state = 9; motor_fwd = 0; motor_rev = 0; motor_vel = hold_dc; active = 0; if (enable) ready = 1; break;
What happens:
  • The timer counts down rev-pulse (2.0 seconds) in thread cycles (fperiod, typically 1 ms in the servo thread).
  • During this time, motor-rev=1 and motor-vel=rev-dc (set in the MOVE state) remain active.
  • When the timer expires (timer <= 0):
    • Motion stops: motor-fwd=0, motor-rev=0, motor-vel=hold-dc (likely 0 in my case).
    • Sets active=0 and ready=1 (signals tool change completion).
    • Transitions to WAIT_ENABLE_FALSE (state 9).
  • Key Issue: There is no update to counts-target in REV_TIME, so stepgen.2 in position mode does not receive a new target position, resulting in no pulses on parport.0.pin-08-out.
counts Mode and Position HandlingIn counts mode (inst_code='C'), the position is calculated based on counts from stepgen.2.counts:c
Copy
case 'C': // encoder or stepgen counts. new_pos = current_position; if (homed){ int c; int t; int w = width / 2; c = (counts - base_counts); t = floor(((float)c + w) / scale); if (c >= (t * scale - w) && c <= (t * scale + w)) { new_pos = 1 + (t % inst_pockets); if (new_pos < 1) new_pos += inst_pockets; } align_pin = (c % scale <= 2 && c % scale >= -2); }
  • counts-target is updated in the DIR_CHOOSE state (state 1) for forward motion:
    c
    Copy
    counts_target += (mod_pocket - current_position) * scale;
  • In REV_TIME, counts-target remains unchanged, so stepgen.2.position-cmd equals stepgen.2.position-fb, resulting in no pulses.
Velocity vs. Position Mode
  • The documentation suggests motor-vel and motor-rev are primarily for velocity control (e.g., DC motors or stepgen in velocity mode, step_type=1).
  • In my setup, stepgen.2 is in position mode (step_type=0), where motion depends on the difference between position-cmd and position-fb, and motor-vel is ignored.
  • This explains why motor-rev=1 and motor-vel=-0.5 do not generate pulses – stepgen.2 waits for a change in position-cmd (i.e., carousel.0.counts-target).
3. Expected Behavior of Reverse MotionBased on the code and documentation, the reverse motion (rev-pulse) is designed as:
  • A timed reverse pulse: After reaching the pocket, the component sets motor-rev=1 and motor-vel=rev-dc for rev-pulse seconds (2.0 seconds).
  • Intended for ratchet-type changers where reverse motion locks the carousel against a mechanical stop (e.g., a pawl).
  • Assumes motion control via motor-vel and motor-rev, suitable for:
    • DC motors (with PWM).
    • stepgen in velocity mode (velocity-cmd).
    • Carousels with position sensors where the exact number of pulses is not critical.
  • In counts mode with stepgen in position mode, reverse motion does not occur because counts-target is not updated in REV_TIME.
4. Why It Fails in My SetupMy observations confirm the issue:
  • carousel.0.motor-rev changes to TRUE, and carousel.0.motor-vel to -0.5 in REV_TIME.
  • However, stepgen.2.position-cmd, stepgen.2.position-fb, and carousel.0.counts remain unchanged.
  • No pulses are generated on parport.0.pin-08-out because stepgen.2 in position mode does not receive a new position-cmd value.
Questions for the Community
  1. Is the carousel component in counts mode supposed to update counts-target in REV_TIME to enable reverse motion in position mode? If not, how should reverse motion be configured?
  2. Has anyone used the carousel component in counts mode with rev-pulse for a stepper-driven carousel? If so, could you share your configuration?
  3. Would modifying the carousel component to update counts-target in REV_TIME (e.g., based on rev-pulse, rev-dc, and maxvel) be a reasonable solution, or is there a better approach?
  • Adam Maszynotwór
  • Adam Maszynotwór's Avatar
01 May 2025 11:05

Is there a bug in the carousel component or am I doing it wrong ATC Denford

Category: Advanced Configuration

dir=2 is for a revolver of this type
i.e. working in two directions and blocked mechanically or in a way other than changing the direction of rotation. generally dir=2 works. if I set it, the magazine rotates in two directions and looks for the shortest path to the tool.

by the way, I will add a fragment of the analysis that GROK did based on github.com/LinuxCNC/linuxcnc/blob/v2.9.2...onents/carousel.comp
Displaying 1186 - 1200 out of 26468 results.
Time to create page: 0.295 seconds
Powered by Kunena Forum