Advanced Search

Search Results (Searched for: )

  • unknown
  • unknown
14 Mar 2025 06:52
Replied by unknown on topic SCATECH EV1616DN - Example config

SCATECH EV1616DN - Example config

Category: EtherCAT

The hal_parport driver creates the pins & such and also talks directly to the parallel port hardware. I'm not sure if want you do is possible. I would imagine it would require a very special real time driver. I would also guess you wouldn't get any extra performance over using a parallel port as the step & direction timings would be created by the Linuxcnc software.
  • medicusdkfz
  • medicusdkfz's Avatar
14 Mar 2025 05:58 - 15 Mar 2025 10:49
Replied by medicusdkfz on topic scurve trajectory planner

scurve trajectory planner

Category: General LinuxCNC Questions

A great thank you to the team and testers! This is gonna be a big milestone for LCNC…

Well, well done!

Pierre
  • darrylb123
  • darrylb123
14 Mar 2025 05:48
Replied by darrylb123 on topic SCATECH EV1616DN - Example config

SCATECH EV1616DN - Example config

Category: EtherCAT

I just got a SCATECH EV1616DN module with the view of using it instead of parports. I have the hal operating the module.
I used github.com/pklopping/linuxcnc-ethercat-b...asic_digital_outputs for reference.
I'm lost as to how to integrate this back into a linuxcnc hal file generated by stepconf.
I assumed that I could simply change the parport references to lcec but, for example' there are no -reset pins etc.
Can you point me at an example of a compete configuration using ethercat?
  • unknown
  • unknown
14 Mar 2025 04:01
Replied by unknown on topic 7i95 randomly throws error with raspi b

7i95 randomly throws error with raspi b

Category: Driver Boards

I think PCW was referring to the power supply for the mesa card.

You may also be experiencing issues with the RPi4 ethernet powering down, this is a much talked about issue.
If you look at the RPi sticky under installing Linuxcnc the very last post discusses this issue with a link to some trouble shooting.
  • Nathan40
  • Nathan40
14 Mar 2025 03:06
Replied by Nathan40 on topic 7i95 randomly throws error with raspi b

7i95 randomly throws error with raspi b

Category: Driver Boards

It is a raspi 4 8 gb version. I tried with a changed power supply and after few hours it again reset. Upon pressing the reset button the axis showed no movement. However, after restarting linuxcnc it started working fine.
  • cmorley
  • cmorley
14 Mar 2025 01:51
Replied by cmorley on topic Qtvcp Development Discussions

Qtvcp Development Discussions

Category: Qtvcp

Well keep us in the loop with your updates. If you are rapidly changing things then maybe wait a bit for inclusion - unless you are interested in on going linuxcnc development?
  • vre
  • vre
14 Mar 2025 00:57 - 14 Mar 2025 09:59
Replied by vre on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

This is the reason for crazy data readings on encoders ?
I make now a config that encoder.count and encoder.velocity goes crazy to see if it stops by setting update-hz to non zero

Yes problem of noise in encoders resolves by non zero value to update-hz
verified by different configs that produced random data to different encoders.
All random data stop to encoders if update-hz is non zero but stop and modbus device to work.
 
  • PCW
  • PCW's Avatar
14 Mar 2025 00:55
Replied by PCW on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

Yes, this is a long known bug, never set the update rate to 0.
  • PCW
  • PCW's Avatar
14 Mar 2025 00:53
Replied by PCW on topic Spindle PID RPM oscillates under load

Spindle PID RPM oscillates under load

Category: Advanced Configuration

Since the units of maxerror are RPM, I would start with say 25 or 50
(.001 RPM as you found will simply operate as open loop)

Also limiting the rate of change of commanded RPM (with the limit component)
will reduce overshoot
 
  • vre
  • vre
14 Mar 2025 00:50 - 14 Mar 2025 00:54
Replied by vre on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

Seems to be related also to this
forum.linuxcnc.org/27-driver-boards/5432...v2d-firmware?start=0

If after startup set update-hz to 0.0001 or something non zero problem seem to stops..
Is this division by zero bug?

#define MAX_MSG_LEN 16 // may be increased if necessary to max 251
#define DEBUG 2
static const hm2_modbus_chan_descriptor_t channels = {
/* {TYPE, FUNC, ADDR, COUNT, pin_name} */
{HAL_BIT, 2, 0x0000, 32, "in"},
{HAL_BIT, 15, 0x0000, 32, "out"},
// {HAL_U32, 6, 0x00FE, 1, "setbaud"},
// {HAL_U32, 3, 0x00FE, 1, "baud"},
};


 
  • PCW
  • PCW's Avatar
14 Mar 2025 00:41
Replied by PCW on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

Can you also include the exact .mod file that you are using?

 
  • royka
  • royka
13 Mar 2025 23:42

Kernel 6.12 with PREEMPT_RT patches enabled - yet POSIX non-realtime (LM22.1)

Category: Installing LinuxCNC

I don't run debian 10, but Bookworm and actually use a rk3588 sbc which works very reliable. But here is the 6.12 kernel for x86 I've used before: drive.google.com/drive/folders/16Xlry00L...SlwznPLv?usp=sharing

But you can also download some from Debian, 6.13:
packages.debian.org/experimental/amd64/l...13-rt-amd64/download

And others:
packages.debian.org/search?keywords=linux-image-rt
  • tsaG
  • tsaG
13 Mar 2025 23:22
Replied by tsaG on topic ATC Tool Rack implementation gesucht

ATC Tool Rack implementation gesucht

Category: Deutsch

Thanks! That is already a great place to start! I will have a look at it. In the meantime, I came up with my own code (thanks Chatgpt). However, when executing it I get the error "Unknown word starting with f" in the GUI. However, without any hint to any line in the code. It seems I have to open linuxcnc via console and active the debug mode to see it?

This is my code for now. More work tomorrow.
%
(MSG, --- Start of toolchange.ngc ---)

o<toolchange> sub

    (MSG, --- Toolchange Subroutine Entry ---)

    ; ------------------------------------------------------------------
    ; A) Named parameters (populated by stdglue.py / M6 prolog):
    ;    #<selected_tool>, #<tool_in_spindle>,
    ;    #<selected_pocket>, #<current_pocket>,
    ;    #<atc_z_tool_change_height>, #<atc_z_tool_clearance_height>, etc.
    ; ------------------------------------------------------------------

    (MSG, Selected tool = #<selected_tool>)
    (MSG, Tool in spindle = #<tool_in_spindle>)
    (MSG, Selected pocket = #<selected_pocket>)
    (MSG, Current pocket = #<current_pocket>)

    ; ------------------------------------------------------------------
    ; B) Check if a tool change is actually needed
    ; ------------------------------------------------------------------
    IF [#<selected_tool> EQ #<tool_in_spindle>] THEN
        (MSG, Tool #<tool_in_spindle> is already loaded. No change needed.)
        M99
    END-IF

    ; ------------------------------------------------------------------
    ; C) Stop the spindle
    ; ------------------------------------------------------------------
    M5  ; no spindle orientation (M19) requested

    ; ------------------------------------------------------------------
    ; D) Rack coordinates (adjust as needed for your machine)
    ; ------------------------------------------------------------------
    #<rack_x>      = 1123
    #<rack_y_base> = 164
    #<rack_y_pitch> = 50

    ; We comment these out so they are NOT overwritten (assuming INI defines them):
    ; #<atc_z_tool_change_height>    = -80
    ; #<atc_z_tool_clearance_height> = 0

    ; Move Z to clearance
    G53 G0 Z[#<atc_z_tool_clearance_height>]

    ; ------------------------------------------------------------------
    ; E) Drop off the old tool (#<tool_in_spindle>) in #<current_pocket>
    ; ------------------------------------------------------------------
    IF [#<tool_in_spindle> GT 0] THEN

        ; 1) Y coordinate for the current pocket
        #<old_pocket_y> = [#<rack_y_base> + ([#<current_pocket>] - 1) * #<rack_y_pitch>]

        ; 2) Move to that pocket in machine coords (G53)
        G53 G0 X[#<rack_x>] Y[#<old_pocket_y>]

        ; 3) Lower Z to the tool-change height
        G53 G0 Z[#<atc_z_tool_change_height>]

        ; 4) Unclamp (M64 P2) to release old tool
        (MSG, Unclamping old tool with M64 P2)
        M64 P2
        G4 P1  ; dwell 1 second, adjust as needed

        ; 5) Move back up to clearance
        G53 G0 Z[#<atc_z_tool_clearance_height>]

        ; 6) Update the pocket table (#4001..#4024)
        #<pocket_index> = [4000 + #<current_pocket>]
        #[#<pocket_index>] = #<tool_in_spindle>
    END-IF

    ; ------------------------------------------------------------------
    ; F) Pick up the new tool (#<selected_tool>) from #<selected_pocket>
    ; ------------------------------------------------------------------
    IF [#<selected_tool> GT 0] THEN

        ; 1) Optional check: does pocket #<selected_pocket> hold #<selected_tool>?
        #<pocket_index> = [4000 + #<selected_pocket>]
        IF [#[#<pocket_index>] NE #<selected_tool>] THEN
            (MSG, *** WARNING: Pocket #<selected_pocket> does not match tool #<selected_tool>!)
        END-IF

        ; 2) Compute Y coordinate for the selected pocket
        #<new_pocket_y> = [#<rack_y_base> + ([#<selected_pocket>] - 1) * #<rack_y_pitch>]

        ; 3) Move to that pocket
        G53 G0 X[#<rack_x>] Y[#<new_pocket_y>]

        ; 4) Lower Z to the tool-change height
        G53 G0 Z[#<atc_z_tool_change_height>]

        ; 5) Clamp (M65 P2) to pick up the new tool
        (MSG, Clamping new tool with M65 P2)
        M65 P2
        G4 P1  ; dwell 1 second, adjust as needed

        ; 6) Return to clearance
        G53 G0 Z[#<atc_z_tool_clearance_height>]

        ; 7) This pocket is now empty
        #[#<pocket_index>] = 0
    END-IF

    ; ------------------------------------------------------------------
    ; G) The spindle now has the new tool
    ; ------------------------------------------------------------------
    #<tool_in_spindle> = #<selected_tool>

    ; ------------------------------------------------------------------
    ; H) Tell LinuxCNC the new tool is active & load offset
    ; ------------------------------------------------------------------
    M61 Q[#<selected_tool>]     ; set active tool to #<selected_tool>
    G43 H[#<selected_tool>]     ; load that tool's offset from table

    ; ------------------------------------------------------------------
    ; I) Return to caller
    ; ------------------------------------------------------------------
    M99

o<toolchange> endsub

M2

(MSG, --- End of toolchange.ngc ---)
%
  • tommylight
  • tommylight's Avatar
13 Mar 2025 22:55
Replied by tommylight on topic ATC Tool Rack implementation gesucht

ATC Tool Rack implementation gesucht

Category: Deutsch

LinuxCNC config picker from the main menu, then Sample configurations>sim>axis>remap>rack toolchange as shown in picture.
That will also copy the files to your LinuxCNC configs folder so you can edit and test as much as you like. :)
  • ihavenofish
  • ihavenofish
13 Mar 2025 22:55
Displaying 8296 - 8310 out of 24547 results.
Time to create page: 0.340 seconds
Powered by Kunena Forum