Advanced Search

Search Results (Searched for: )

  • CopperHead
  • CopperHead
23 Dec 2024 17:56
CAD/CAM Software for designs was created by CopperHead

CAD/CAM Software for designs

Category: General LinuxCNC Questions

I'm not sure if i picked the right place for this, But i'm curious, there is a piece of software out that allows you to set a kerf width and nudge lines. to ensure you don't have your lines too thin during plasma cuts. I think Design Edge does this from Plasmacam but i'm wondering if there are any others that can do this as well?
  • gardenweazel
  • gardenweazel's Avatar
23 Dec 2024 17:39
Replied by gardenweazel on topic Inconsistent values from Versaprobe

Inconsistent values from Versaprobe

Category: Qtvcp

Sure.
The attached qt_auto_probe_tool.ngc file has been altered however, I can use the same file that comes with the master
and there are no differences in the outcome.

In the ini file the reference to this line was added by me per another thread here .
# This is the MAX Z travel to my spindle chuck without a tool.
Z_REF = -183.97

Of particular interest, is that after I add my probe tool Z offset, it gets removed somewhere during the procedure.
It was:  T99  P99  D+2.000000 Z0 ;3D Probe
It's now:  T99  P99  D+2.000000 ;3D Probe

Thanks for your help, can you share your probe NGC file?
 
  • beauxnez
  • beauxnez
23 Dec 2024 17:37

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

hello
i have an nvem card based on rt1052 but i can't flash it with st link, the card is not detected, i tried with a card with a stm32f401 and it is detected?
 
  • smc.collins
  • smc.collins
23 Dec 2024 17:32
Replied by smc.collins on topic Toolchanger HAL Component project

Toolchanger HAL Component project

Category: HAL Examples

I would like some feedback on this design.

component dynamic_sequence_executor "Dynamically executes sequences based on string input";

# Input text string
param rw string sequence "Sequence of operations (e.g., move1,macro1,carousel,move2,unlock1,marco2)";
param rw u32 max_steps "Maximum number of steps in any sequence";

# Virtual pins - we'll use a large set of pins that can be dynamically assigned
pin out bit virtual_start[100];
pin out bit virtual_stop[100];
pin out bit virtual_estop[100];
pin in bit virtual_status[100];

# State management
param rw u32 current_step "Current step in the sequence";
param rw u32 sequence_length "Number of steps in the sequence";
param rw bit running "Is the sequence currently running?";

# Function to process the sequence
function _;
function init;

license "GPL";
;;

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAX_VIRTUAL_STEPS 100 // Matches the pin array size
#define MAX_STEP_NAME 20 // Longest possible step name

char steps[MAX_VIRTUAL_STEPS][MAX_STEP_NAME];
int steps_count = 0;

struct StepMapping {
char name[MAX_STEP_NAME];
int index;
} step_mappings[MAX_VIRTUAL_STEPS];

int step_mapping_count = 0;

FUNCTION(_) {
if (!running) return;

if (current_step >= sequence_length) {
// Sequence finished
running = 0;
current_step = 0;
return;
}

char *current_step_name = steps[current_step];
int step_index = -1;

// Find the index of the current step in our mappings
for (int i = 0; i < step_mapping_count; i++) {
if (strcmp(step_mappings.name, current_step_name) == 0) {
step_index = step_mappings.index;
break;
}
}

if (step_index == -1) {
// Error: Step not found in mappings, you might want to handle this or log it
return;
}

// Control the step
virtual_start[step_index] = 1;
virtual_stop[step_index] = 0;
virtual_estop[step_index] = 0;

if (virtual_status[step_index]) { // If this step is complete
virtual_start[step_index] = 0;
current_step++;
}

// Emergency stop handling - check all steps
for (int i = 0; i < max_steps; i++) {
if (virtual_estop) {
running = 0;
current_step = 0;
// Reset all components to stop state
for (int j = 0; j < max_steps; j++) {
virtual_stop[j] = 1;
virtual_start[j] = 0;
}
break;
}
}
}

FUNCTION(init) {
// Parse the sequence string
char *token = strtok(sequence, ",");
steps_count = 0;
while (token != NULL && steps_count < MAX_VIRTUAL_STEPS) {
strcpy(steps[steps_count], token);

// Check if this step is already mapped, if not, add it
int found = 0;
for (int i = 0; i < step_mapping_count; i++) {
if (strcmp(step_mappings.name, token) == 0) {
found = 1;
break;
}
}
if (!found) {
strcpy(step_mappings[step_mapping_count].name, token);
step_mappings[step_mapping_count].index = step_mapping_count;
step_mapping_count++;
}

steps_count++;
token = strtok(NULL, ",");
}
sequence_length = steps_count;
current_step = 0;
running = 0;

// Set max_steps based on the number of steps in the sequence or use a default if not set
if (max_steps < steps_count) max_steps = steps_count;
}
  • tommylight
  • tommylight's Avatar
23 Dec 2024 16:05

ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play

Category: Computers and Hardware

You have to run halcompile from inside the folder where esp32udp.comp is located, something like
cd Downloads
if the file is inside Downloads folder.
  • Lcvette
  • Lcvette's Avatar
23 Dec 2024 16:04

Probe Basic - How does tool setter calculate ?

Category: QtPyVCP

depends completely on your machine setup, probe basic's stock tool setter functionality is designed for repeatable length tool holders where the tool length offset will repeat when the tool is loaded. think CAT40 or BT40 or TTS type tool holders. in this regard the probe will also have its own tool length offset. the tool setter is used for initial measuring of the tools and is designed to be stationary on the table with a known distance from the spindle nose (gage line) to the tool setter triggered height. when a tool is then measured its length offset will be the difference between the spindle noses (gage line) distance to the tool setter's triggered height and the height recorded when the inserted tool triggeres the tool setter. this give the tools an actual tool length offset in relation to the spindle nose.

when using the touch probe you would be probing with the tool length offset for the touch probe active. when the surface is probed and the probed point recorded, the work offset is zeroed. when the probe is removed from the spindle and its length offset cancelled, the new current distance of the spindle nose above the work origin will change.

this method is useful as it uses a non moving standard for the length offset measurement point, the spindle nose. this is more useful for machines with many tools that have stored length offsets in the tool table. with this method, if you crash a probe and need to replace the stylus, all of the other tools are not tied to the probe acting as a master tool which will now need remeasuring. instead the probes tool length offset is the only thing that must be updated and all other tools will have no impact to their recorded length offsets.

for routers with non repeatable tool lengths in yay an er collet for instance, this method does not work.

do please give us additional information about your machine setup so we can better understand which method would be best suited for you to implement.

thanks,

Chris
  • PCW
  • PCW's Avatar
23 Dec 2024 16:00

7i96s Flash for additional PWM and Wiring for laser

Category: Driver Boards

That looks close if the laser driver uses PWM and not 0 to 5V analog

Notes:

The STEP+ pin will start up in the high state so for safety you should use the STEP- pin
and invert the PWM output in the hal file. I would change the hal setup to:

# invert pwm output
setp hm2_7i96s.0.pwmgen.01.out0.invert_output true

# Set the PWM frequency (adjust based on laser specs)
setp hm2_7i96s.0.pwmgen.01.scale 5000 # Example: Scale to 5000 RPM for 0-5V lasers

# Link PWM output to motion spindle speed command
net laser-power motion.spindle-speed-out => hm2_7i96s.0.pwmgen.01.value

# Link PWM enable to motion spindle enable
net laser-enable motion.spindle-on => hm2_7i96s.0.pwmgen.01.enable

# Link motion spindle-on signal to a 7I96S SSR output pin
net laser-enable hm2_7i96s.0.ssr.00.out-00

(PWM channel 0 is for the analog spindle out on TB2 pins 22..24)



 
  • zmrdko
  • zmrdko's Avatar
23 Dec 2024 15:52

Probe Basic - How does tool setter calculate ?

Category: QtPyVCP

Probe is basically tool like any other - so it can have its offset as well.
So you can either measure the 3d probe at first and then, when you measure the actual tool, the difference is accounted for and you are good to go.

you are not right about the offset value of the tool - it is measured actually from the spindle, but it's not that important.

alternatively, you can measure x and y with probe and then change the tool for the first used and touch the top of the stock with it.
  • Lcvette
  • Lcvette's Avatar
23 Dec 2024 15:50
Replied by Lcvette on topic Probe Basic do not start

Probe Basic do not start

Category: QtPyVCP

glad you got it sorted!
  • Lcvette
  • Lcvette's Avatar
23 Dec 2024 15:47
Replied by Lcvette on topic To Probe Basic from Gmoccapy

To Probe Basic from Gmoccapy

Category: QtPyVCP

probably something simple being overlooked. just to verify, only one postgui hal file can be used in linuxcnc, so you need to make sure if you have one from the original config that you integrate it with the probe_basic_postgui.hal file, having multiple postgui hal files will result in the second in line not being loaded and or errors. just a sanity check to make sure you had done that!
  • B.Reilly01
  • B.Reilly01
23 Dec 2024 15:26
Replied by B.Reilly01 on topic Vertical Screen with ProbeBasic?

Vertical Screen with ProbeBasic?

Category: QtPyVCP

I have not yet, I did run an update and it totally mucked up the UI, so I don't know that it's configured the best. I can upload it, but it's purely experimental and likely broken.
  • JT
  • JT's Avatar
23 Dec 2024 14:21
Replied by JT on topic Flexible GUI Import Table

Flexible GUI Import Table

Category: Flex GUI

The python import section of the docs shows how to import a python file which you can have custom code. You can create your own widgets with object names that you can use in your python code.

gnipsel.com/linuxcnc/flexgui/python.html

The python code I use to open a file for an example is
github.com/jethornton/flexgui/blob/1.1.0...exgui/actions.py#L88
and
github.com/jethornton/flexgui/blob/1.1.0...gui/utilities.py#L45

JT
  • aikiaviator
  • aikiaviator
23 Dec 2024 14:21
Replied by aikiaviator on topic To Probe Basic from Gmoccapy

To Probe Basic from Gmoccapy

Category: QtPyVCP

Ok, so tried a fresh install per the installation instructions. And got all the way to the AXIS/Probe Basic test. Errors out due to SSerial connection issues on the 7i73. Tried both MESACT and pnccomf config settings and all failed. Checked the latency and through the roof. So did a reinstall of the gmmocapy iso, and connected all good again. No errors. So will try to do the files workaround first. I have a feeling it is something to do with USB/ethernet connections to the 7i96S and/or maybe serial settings on the SSerial. So will try setup on the files and see how hat goes. Should have tried that first. FYI: Old Dell Inspiron 5000 series. 8GB ram, USB 3.1. BTW, if people know what this issue is with the Probe Basic stable install setup, I can always try a new install again. Go it down pat now... :-)
  • JT
  • JT's Avatar
23 Dec 2024 14:14
Flex GUI Stylesheet Builder was created by JT

Flex GUI Stylesheet Builder

Category: Flex GUI

If you don't understand how to build a QSS stylesheet then Flex has the solution for you a stylesheet builder.



JT
  • timo
  • timo
23 Dec 2024 14:05
Replied by timo on topic Problem with stepper motor

Problem with stepper motor

Category: CNC Machines

That explains it. It starts to make sense, that it did not make sense:-).
Displaying 21211 - 21225 out of 21927 results.
Time to create page: 0.469 seconds
Powered by Kunena Forum