Advanced Search

Search Results (Searched for: raspberry pi 3)

  • gene_weber
  • gene_weber's Avatar
15 Sep 2025 13:07
MESA 7C81, DIN Tray & Ribbon Cable was created by gene_weber

MESA 7C81, DIN Tray & Ribbon Cable

Category: User Exchange

7C81 RPI FPGA board
1.5" RPI GPIO cable for 7C80 and 7C81
DIN Tray 107MM X 102MMFor 7C81, 7I94, 7I94T

The Raspberry PI, standoffs, and fans are NOT included.

Works perfectly. Selling because I bought a MASSO 3G Touch.

$75 plus shipping.
 
 

 
  • unknown
  • unknown
14 Sep 2025 22:26
Replied by unknown on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

Quick question guys, are you having any issues when touching off ?
Similar to this
forum.linuxcnc.org/21-axis/57208-touch-off-ok-button-greyed-out
  • dskinne6
  • dskinne6
14 Sep 2025 07:18
Replied by dskinne6 on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

Now working, many thanks!
  • farmer_mike
  • farmer_mike
14 Sep 2025 04:59
Replied by farmer_mike on topic Getting (hopefully) close to an Rtelligent build

Getting (hopefully) close to an Rtelligent build

Category: EtherCAT

I halved the SDO values one more time and the servos are nice and quiet now. I will have to look at the HAL Oscilloscope to see how the tune is, but for now the tune is quiet and on scale.

Here are the files below. I used an ECT60 paired with a precision planetary gearbox for the Z axis of my milling machine. The X and Y axis are controlled by RS750E drives with a slight belt reduction.

Emergency stop button is wired into the ECT60 on input number 6. From the input of the ECT60, I mapped the E stop over to the HALUI emergency stop. Without the HALUI mapping, the drives would start back up as soon as the physical E stop was released. The limit switches and homing switches for the Z axis were straight forward.

Limit switches and homing switches for the RS750E drives were a little more complicated. I converted the drive input tags from s32 to u32 then bit sliced the u32 to break out the switches. I bet all the slicing could have been done in the XML file, but I could not figure that out.

When I first started the project, my plan was to run everything off of a laptop. I have since switched to a raspberry pi 4.

I still have a bit of work to do, but I want to thank everyone for their help so far.
###########################################################
#
# CIA 402 example snippet Hal
#
###########################################################

###########################################################
# Setup
###########################################################

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS


loadusr -W lcec_conf ethercat-conf.xml
#loadusr -W /home/cnc/linuxcnc/configs/linuxcnc-cia402-single/python_control.py

loadrt lcec
loadrt cia402 count=3
loadrt pid names=0-pid,1-pid,2-pid

loadrt bitslice count=6 personality=32,32,32,32,32,32
addf bitslice.0 servo-thread
addf bitslice.1 servo-thread
addf bitslice.2 servo-thread
addf bitslice.3 servo-thread
addf bitslice.4 servo-thread
addf bitslice.5 servo-thread

loadrt conv_s32_u32 count=6
addf conv-s32-u32.0 servo-thread
addf conv-s32-u32.1 servo-thread
addf conv-s32-u32.2 servo-thread
addf conv-s32-u32.3 servo-thread
addf conv-s32-u32.4 servo-thread
addf conv-s32-u32.5 servo-thread



###########################################################
# Functions servo-thread
###########################################################

addf lcec.read-all servo-thread
addf cia402.0.read-all servo-thread
addf cia402.1.read-all servo-thread
addf cia402.2.read-all servo-thread

addf motion-command-handler servo-thread
addf motion-controller servo-thread

addf 0-pid.do-pid-calcs servo-thread
addf 1-pid.do-pid-calcs servo-thread
addf 2-pid.do-pid-calcs servo-thread

addf cia402.0.write-all servo-thread
addf cia402.1.write-all servo-thread
addf cia402.2.write-all servo-thread
addf lcec.write-all servo-thread


#########################################
#nets
#########################################
net emc-enable => iocontrol.0.emc-enable-in
sets emc-enable 1

#config

 
#
# Joint 0
#
setp cia402.0.csp-mode 1
setp cia402.0.pos-scale 786432


#from servo(ethercat) to cia402
net 0-statusword      lcec.0.0.cia-statusword => cia402.0.statusword
net 0-opmode-display  lcec.0.0.opmode-display => cia402.0.opmode-display
net 0-drv-act-pos     lcec.0.0.actual-position => cia402.0.drv-actual-position
net 0-drv-act-velo    lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity

#from motion to cia

net 0-enable     <= joint.0.amp-enable-out => cia402.0.enable
net 0-amp-fault  => joint.0.amp-fault-in   <= cia402.0.drv-fault
net 0-pos-cmd    <= joint.0.motor-pos-cmd  => cia402.0.pos-cmd
net 0-pos-fb     => joint.0.motor-pos-fb   <= cia402.0.pos-fb


#from cia402 to servo(ethercat)
net 0-controlword         cia402.0.controlword => lcec.0.0.cia-controlword
net 0-modes-of-operation  cia402.0.opmode => lcec.0.0.opmode
net 0-drv-target-pos      cia402.0.drv-target-position => lcec.0.0.target-position
net 0-drv-target-velo     cia402.0.drv-target-velocity => lcec.0.0.target-velocity


net my-out-0 conv-s32-u32.0.in <= lcec.0.0.digitalinputs
net my-in-0 conv-s32-u32.0.out => bitslice.0.in
net my-bit-0 bitslice.0.out-00 joint.0.neg-lim-sw-in

net my-out-0 conv-s32-u32.1.in <= lcec.0.0.digitalinputs
net my-in-1 conv-s32-u32.1.out => bitslice.1.in
net my-bit-1 bitslice.1.out-01 joint.0.pos-lim-sw-in

net my-out-0 conv-s32-u32.2.in <= lcec.0.0.digitalinputs
net my-in-2 conv-s32-u32.2.out => bitslice.2.in
net my-bit-2 bitslice.2.out-02 joint.0.home-sw-in


#
# Joint 1
#
setp cia402.1.csp-mode 1
setp cia402.1.pos-scale -786432

#from servo(ethercat) to cia402
net 1-statusword      lcec.0.1.cia-statusword => cia402.1.statusword
net 1-opmode-display  lcec.0.1.opmode-display => cia402.1.opmode-display
net 1-drv-act-pos     lcec.0.1.actual-position => cia402.1.drv-actual-position
net 1-drv-act-velo    lcec.0.1.actual-velocity => cia402.1.drv-actual-velocity

#from cia402 to servo(ethercat)
net 1-controlword         cia402.1.controlword => lcec.0.1.cia-controlword
net 1-modes-of-operation  cia402.1.opmode => lcec.0.1.opmode
net 1-drv-target-pos      cia402.1.drv-target-position => lcec.0.1.target-position
net 1-drv-target-velo     cia402.1.drv-target-velocity => lcec.0.1.target-velocity

#from motion to cia
net 1-enable    <= joint.1.amp-enable-out => cia402.1.enable
net 1-amp-fault => joint.1.amp-fault-in   <= cia402.1.drv-fault
net 1-pos-cmd   <= joint.1.motor-pos-cmd  => cia402.1.pos-cmd
net 1-pos-fb    => joint.1.motor-pos-fb   <= cia402.1.pos-fb


net my-out-1 conv-s32-u32.3.in <= lcec.0.1.digitalinputs
net my-in-3 conv-s32-u32.3.out => bitslice.3.in
net my-bit-3 bitslice.3.out-00 joint.1.pos-lim-sw-in

net my-out-1 conv-s32-u32.4.in <= lcec.0.1.digitalinputs
net my-in-4 conv-s32-u32.4.out => bitslice.4.in
net my-bit-4 bitslice.4.out-01 joint.1.neg-lim-sw-in

net my-out-1 conv-s32-u32.5.in <= lcec.0.1.digitalinputs
net my-in-5 conv-s32-u32.5.out => bitslice.5.in
net my-bit-5 bitslice.5.out-02 joint.1.home-sw-in


#
# Joint 2
#
setp cia402.2.csp-mode 1
setp cia402.2.pos-scale 96000

#from servo(ethercat) to cia402
net 2-statusword      lcec.0.2.cia-statusword => cia402.2.statusword
net 2-opmode-display  lcec.0.2.opmode-display => cia402.2.opmode-display
net 2-drv-act-pos     lcec.0.2.actual-position => cia402.2.drv-actual-position
net 2-drv-act-velo    lcec.0.2.actual-velocity => cia402.2.drv-actual-velocity

#from cia402 to servo(ethercat)
net 2-controlword         cia402.2.controlword => lcec.0.2.cia-controlword
net 2-modes-of-operation  cia402.2.opmode => lcec.0.2.opmode
net 2-drv-target-pos      cia402.2.drv-target-position => lcec.0.2.target-position
net 2-drv-target-velo     cia402.2.drv-target-velocity => lcec.0.2.target-velocity

#from motion to cia
net 2-enable    <= joint.2.amp-enable-out => cia402.2.enable
net 2-amp-fault => joint.2.amp-fault-in   <= cia402.2.drv-fault
net 2-pos-cmd   <= joint.2.motor-pos-cmd  => cia402.2.pos-cmd
net 2-pos-fb    => joint.2.motor-pos-fb   <= cia402.2.pos-fb

net  2-CCW-limit lcec.0.2.in-3 => joint.2.neg-lim-sw-in
net  2-CW-limit lcec.0.2.in-4 => joint.2.pos-lim-sw-in
net  2-in-home lcec.0.2.in-5 => joint.2.home-sw-in
net  2-in-6 lcec.0.2.in-6 => halui.estop.activate


#net spindle_speed     spindle.0.speed-out => python_control.rpm_in
# This config file was created 2020-08-14 17:19:37.621705 by the update_ini script
# The original config files may be found in the /home/demo/linuxcnc/configs/et-3ax/et_3ax_CIA402.old directory

[EMC]
# The version string for this INI file.
VERSION = 1.1

MACHINE = EtherCAT Machine
DEBUG = 1

[DISPLAY]
DISPLAY = axis
EDITOR = gedit

#PYVCP = pyvcp_panel.xml

# places the pyvcp panel at the bottom of the Axis window
PYVCP_POSITION = RIGHT

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.100

# Path to help file
HELP_FILE =             doc/help.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1
# Prefix to be used
PROGRAM_PREFIX = /home/demo/linuxcnc/nc_files
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 0
INCREMENTS = 1in .5in .25in .125in .0625in .025in .05in
#INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
nc = /usr/bin/axis

[RS274NGC]

PARAMETER_FILE = linuxcnc.var

[EMCMOT]

EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD =  0
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.005

[HAL]
HALFILE = cia402.hal
#SHUTDOWN = shutdown.hal
HALUI = halui

[HALUI]

[TRAJ]

HOME = 16 12 7
COORDINATES = XYZ
LINEAR_UNITS = in
ANGULAR_UNITS = deg
DEFAULT_LINEAR_VELOCITY = .25
MAX_LINEAR_VELOCITY = .5
MIN_LINEAR_VELOCITY = .01
DEFAULT_ANGULAR_VELOCITY = 360
MAX_ANGULAR_VELOCITY = 720
POSITION_FILE = position.txt

[EMCIO]

# Name of IO controller program, e.g., iov2 has tool changer stuff
EMCIO =         iov2

CYCLE_TIME =    0.100

# tool table file
TOOL_TABLE =    cia402.tbl
TOOL_CHANGE_POSITION = 0 0 50.8
#RANDOM_TOOLCHANGER = 1


[KINS]
JOINTS = 3
KINEMATICS = trivkins kinstype=both coordinates=xyz


[AXIS_X]
MIN_LIMIT = 0.1
MAX_LIMIT = 17.9
MAX_VELOCITY = .5
MAX_ACCELERATION = 10
BACKLASH = 0.0000

[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = .5
MAX_ACCELERATION = 10

# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
# is this applicable for ethercat????
#STEPGEN_MAXVEL = 1.25
#STEPGEN_MAXACCEL = 1.25
SCALE = 1
FERROR = 200
MIN_FERROR = 50
MIN_LIMIT = 0
MAX_LIMIT = 18
HOME                    = 16
HOME_OFFSET                = 16
HOME_SEQUENCE            = 0

HOME_SEARCH_VEL = -.125
HOME_LATCH_VEL = -.125
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS        = NO





[AXIS_Y]
MIN_LIMIT = 0.1
MAX_LIMIT = 12.9
MAX_VELOCITY = .5
MAX_ACCELERATION = 10
BACKLASH = 0.0000


[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = .5
MAX_ACCELERATION = 10


# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
# is this applicable for ethercat????
#STEPGEN_MAXVEL = 1.25
#STEPGEN_MAXACCEL = 1.25
STEP_SCALE = 1
FERROR = 2
MIN_FERROR = 20
MIN_LIMIT = 0
MAX_LIMIT = 13

HOME                    = 12
HOME_OFFSET                = 12
HOME_SEQUENCE            = 1

HOME_SEARCH_VEL = .125
HOME_LATCH_VEL = .125
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS        = NO


[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = .5
MAX_ACCELERATION = 10
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
# is this applicable for ethercat????
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 1.25
STEP_SCALE = 1
FERROR = 200
MIN_FERROR = 20
MIN_LIMIT = 3.4
MAX_LIMIT = 8.1
HOME                    = 7
HOME_OFFSET                = 7
HOME_SEQUENCE            = 2

HOME_SEARCH_VEL = .125
HOME_LATCH_VEL = .125
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS    = NO



[AXIS_Z]
MIN_LIMIT = 3.5
MAX_LIMIT = 8
MAX_VELOCITY = .5
MAX_ACCELERATION = 10
BACKLASH = 0.0000

<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
     
    
  <slave idx="0" type="generic" vid="00000A88" pid="0a880013" configPdos="true">
   <!-- Joint 0 -->
   
  <sdoConfig idx="2009" subIdx="1"><sdoDataRaw data ="00 32"/></sdoConfig> <!-- position p gain default is 1000 -->
  <sdoConfig idx="2009" subIdx="2"><sdoDataRaw data ="00 08"/></sdoConfig> <!-- velocity p gain default is 256 -->
  <sdoConfig idx="2009" subIdx="3"><sdoDataRaw data ="00 01"/></sdoConfig> <!-- position i gain default is 200 -->
   
   
   <syncManager idx="0" dir="out"> </syncManager>
   <syncManager idx="1" dir="out"> </syncManager>
   <syncManager idx="2" dir="out">
    <pdo idx="1600">
     <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
     <pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
     <pdoEntry idx="60b8" subIdx="00" bitLen="16" halPin="touchprobefunction0" halType="bit"/>
    </pdo>
    <pdo idx="1601">
     <pdoEntry idx="6081" subIdx="00" bitLen="32" halPin="profile-velocity" halType="u32"/>
     <pdoEntry idx="6083" subIdx="00" bitLen="32" halPin="target-accel" halType="u32"/>
     <pdoEntry idx="6084" subIdx="00" bitLen="32" halPin="target-decel" halType="u32"/>
     <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
    </pdo>
    <pdo idx="1602">
     <pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
    </pdo>
   </syncManager>
   <syncManager idx="3" dir="in">
    <pdo idx="1a00">
     <pdoEntry idx="603f" subIdx="00" bitLen="16" halPin="errorcode" halType="bit"/>
     <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
     <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
     <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
     <pdoEntry idx="60b9" subIdx="00" bitLen="16" halPin="touchprobestat" halType="bit"/>
     <pdoEntry idx="60ba" subIdx="00" bitLen="32" halPin="touchprobe1pos" halType="s32"/>
     <pdoEntry idx="60fd" subIdx="00" bitLen="32" halPin="digitalinputs" halType="s32"/>
    </pdo>
    <pdo idx="1a01">
     <pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
    </pdo>
   </syncManager>
   <dcConf assignActivate="300" sync0Cycle="1000000"/>
  </slave>
 
 
  <slave idx="1" type="generic" vid="00000A88" pid="0a880013" configPdos="true">
   <!-- Joint 1 -->
   
     
   <sdoConfig idx="2009" subIdx="1"><sdoDataRaw data ="00 32"/></sdoConfig> <!-- position p gain default is 1000 -->
  <sdoConfig idx="2009" subIdx="2"><sdoDataRaw data ="00 08"/></sdoConfig> <!-- velocity p gain default is 256 -->
  <sdoConfig idx="2009" subIdx="3"><sdoDataRaw data ="00 01"/></sdoConfig> <!-- position i gain default is 200 -->
 
   
   <syncManager idx="0" dir="out"> </syncManager>
   <syncManager idx="1" dir="out"> </syncManager>
   <syncManager idx="2" dir="out">
    <pdo idx="1600">
     <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
     <pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
     <pdoEntry idx="60b8" subIdx="00" bitLen="16" halPin="touchprobefunction0" halType="bit"/>
    </pdo>
    <pdo idx="1601">
     <pdoEntry idx="6081" subIdx="00" bitLen="32" halPin="profile-velocity" halType="u32"/>
     <pdoEntry idx="6083" subIdx="00" bitLen="32" halPin="target-accel" halType="u32"/>
     <pdoEntry idx="6084" subIdx="00" bitLen="32" halPin="target-decel" halType="u32"/>
     <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
    </pdo>
    <pdo idx="1602">
     <pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
    </pdo>
   </syncManager>
   <syncManager idx="3" dir="in">
    <pdo idx="1a00">
     <pdoEntry idx="603f" subIdx="00" bitLen="16" halPin="errorcode" halType="bit"/>
     <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
     <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
     <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
     <pdoEntry idx="60b9" subIdx="00" bitLen="16" halPin="touchprobestat" halType="bit"/>
     <pdoEntry idx="60ba" subIdx="00" bitLen="32" halPin="touchprobe1pos" halType="s32"/>
     <pdoEntry idx="60fd" subIdx="00" bitLen="32" halPin="digitalinputs" halType="s32"/>
    </pdo>
    <pdo idx="1a01">
     <pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
    </pdo>
   </syncManager>
   <dcConf assignActivate="300" sync0Cycle="1000000"/>
  </slave>
 
     <!-- Joint 2 -->
    <slave idx="2" type="generic" vid="00000a88" pid="0a880002" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="88 13"/></sdoConfig>  <!-- Max motor current (5.0) -->
      <sdoConfig idx="2007" subIdx="3"><sdoDataRaw data ="01"/></sdoConfig>     <!-- Input 3 - CCW Limit -->
      <sdoConfig idx="2007" subIdx="4"><sdoDataRaw data ="02"/></sdoConfig>     <!-- Input 4 - CW Limit -->
      <sdoConfig idx="2007" subIdx="5"><sdoDataRaw data ="03"/></sdoConfig>     <!-- Input 5 - Home Function -->
      <sdoConfig idx="2007" subIdx="6"><sdoDataRaw data ="05"/></sdoConfig>     <!-- Input 6 - Emergency Stop -->
      <sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig>  <!-- Closed loop -->
      <sdoConfig idx="6098" subIdx="0"><sdoDataRaw data ="11 00"/></sdoConfig>  <!-- Home mode 17 -->
      <sdoConfig idx="607C" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig>  <!-- Home offset 0  -->
      <sdoConfig idx="609A" subIdx="0"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home accelleration 500 -->
      <sdoConfig idx="6099" subIdx="01"><sdoDataRaw data ="C4 09"/></sdoConfig>  <!-- Home fast speed 2500-->
      <sdoConfig idx="6099" subIdx="02"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home slow speed 500 -->
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <!-- Target Position -->
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <!-- Target Velocity -->
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
          <!-- Digtial Outputs (manufacturer's extension ECT86/ECT60)-->
          <pdoEntry idx="204A" subIdx="0" bitLen="16" halType="complex">
            <complexEntry bitLen="1" halPin="out-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="out-2" halType="bit"/>
            <complexEntry bitLen="14"/>
          </pdoEntry>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
          <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
          <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
          <!-- Digtial_inputs (cia402 compatible) -->
          <pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
            <complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-home" halType="bit"/>
            <complexEntry bitLen="13"/>
            <complexEntry bitLen="1" halPin="in-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-2" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-3" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-4" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-5" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-6" halType="bit"/>
            <complexEntry bitLen="10"/>
          </pdoEntry>          
        </pdo>
      </syncManager>
    </slave>
 
 
 
  </master>
</masters>

 
  • unknown
  • unknown
14 Sep 2025 02:12
Replied by unknown on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

Just received notification and confirmed am64 permissions for the packages have been corrected. Thanks to Andy
  • unknown
  • unknown
12 Sep 2025 08:33
Replied by unknown on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

I've emailed those that have access, one gentleman is away and can not check, the other gent is on the other side of world, I'm In Australia he is US based, so we will just need to wait for answers.
  • dskinne6
  • dskinne6
12 Sep 2025 07:17
Replied by dskinne6 on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

I have the same issue with RPI5
  • unknown
  • unknown
10 Sep 2025 22:46
Replied by unknown on topic Installing 2.9.5 on Raspberry Pi 5

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

Taking an educated guess, it could be a permission issue, using the link you provided and removing the filename gets a directory listing in a browser, 403 is there when trying to download, other files are accessible.
Hopefully Andy will become aware of this, one option might be to access either the mailing lists, I'm banned due to comments on the origins of Code of Conducts and implementor, or GitHub.
  • richcolvin
  • richcolvin's Avatar
10 Sep 2025 19:19 - 10 Sep 2025 19:21
Installing 2.9.5 on Raspberry Pi 5 was created by richcolvin

Installing 2.9.5 on Raspberry Pi 5

Category: Installing LinuxCNC

When trying to install the update for 2.9.5 on a Raspberry Pi, I receive a security error when attempting to fetch The error is:

Forbidden
You don't have permission to access this resource.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
  • unknown
  • unknown
10 Sep 2025 05:38
Replied by unknown on topic RPi 4B - Network File Share - nfs

RPi 4B - Network File Share - nfs

Category: Computers and Hardware

My guess is that it's trying to mount the nfs share before the wifi interface is up.
So you may have to look through dmesg to see when the nfs share is being mounted and when the wifi interface is being brought up.
Do you have any issues trying to mount the share after the wifi network is up ?

There may be a way to do it via systemd that waits for the wifi network to come up, I've got a couple of ones that turn off the power related stuff for wifi, but only after the interface is up. Might be able to use the same mechanism to mount the shares once that interface is up.

I'd suggest this isn't a issue related to the Raspberry Pi platform but any situation where an nfs or samba share is automounted and the required interface isn't up at that time.
  • electrosteam
  • electrosteam
10 Sep 2025 04:36
RPi 4B - Network File Share - nfs was created by electrosteam

RPi 4B - Network File Share - nfs

Category: Computers and Hardware

Trying to get nfs between workstation and mill.
Posted here hoping the RPi developers may have a solution.

nfs server - workstation: hp desktop ubuntu 24.04.
nfs client - mill: RPi 4B 4GB LC 2.9.4.
 
wifi is working fine.
sftp between the stations without issue.

nfs works after a manual mount on the client.
Cannot get nfs to mount automatically at start up.

The /etc/fstab file is populated (to the best of my searching).
Tried a couple of web suggestions, but no solution yet.

Looked through the startup log:
    - "mount.nfs: Network is unreachable".

Tried several web suggestions, including increasing the wait time.

Did some searching on the Raspberry Forum without success.

When I issue a terminal command "mount' after starting LC, there is a response about an old version and to use "systemctl-daemon reload".
After reboot, entered 'systemctl-daemon reload', got 'command not found'.
Tried 'systemctl daemon-reload', accepted without success.

Any suggestions getting the mount at start-up ?

John.
  • oodanner
  • oodanner
08 Sep 2025 18:50

Remora - Rpi Software Stepping Using External Microcontroller via SPI

Category: Computers and Hardware

On the bright side I figured out what my problem was. I had followed the documentation with recommended the preconfigured xpatria raspberry pi build and that did make getting everything up and running easy but, I didn't think to git clone the newer Remora developments since that image was released so I was running the older halcompiled remora-spi which I'm sure now was causing me issues. Now that I have pulled the most recent Remora version and compiled remora-spi again with halcompile like the docuementation says to do, although I noticed that in an earlier post it was mentioned that you no longer need the SPI_clk_div=32 after the loadrt remora-spi component in the HAL file but, mine wouldn't come out of estop until I added that back into the line. I also had a grounding issue and some EMI issues that collectively were causing my spindle to throw errors and after that and the correct version of firmware on the Octopus and most recent Remora branch then it looks like I'm good now.:-)
  • emresensoy
  • emresensoy
08 Sep 2025 15:23

SOLVED - VNC Server problem on Raspberry Pi 5 4GB - LinuxCNC official image

Category: General LinuxCNC Questions

If you try to connect remotely via VNC after logging in with your username from the console, you'll get a gray screen. You'll need to log out from console.
  • andypugh
  • andypugh's Avatar
08 Sep 2025 13:15
LinuxCNC 2.9.5 has been released was created by andypugh

LinuxCNC 2.9.5 has been released

Category: LinuxCNC Announcements

LinuxCNC 2.9.5 has been released.

This is mainly a bugfix release, but includes a new modbus driver for
the Mesa UART (update/replacement for mesa_modbus with more
flexibility and configurability)

Packages for 2.9-uspace for amd64 (PC) for Debian Buster, Bullseye,
Bookworm and Trixie and for arm64 (Raspberry Pi 4/5) for Buster and
Bookworm have been added to the linuxcnc repository.
If you installed from one of our live images or Pi SD-card images then
the update should be available immediately.

If you  installed into a normally-installed Debian from the Debian
repositories then hopefully the new version can be queued up for the
next point release. If you can't wait then it is possible to add the
LinuxCNC repositories to the apt sources. One way to do this and
install the security keys is via the shell script here:
linuxcnc.org/docs/stable/html/getting-st...th_preempt_rt_kernel

At the moment the live-image installer and SD card images will install
2.9.4 but update should be trivial (and possibly automatic)

RTAI is still supported, but in the short term building from source is
likely to be the most expedient way to get 2.9.5 on that platform.

Highlights:

 * Backport new hm2_modbus driver to 2.9 branch.
 * Fix probe contact bounce triggering error during decel phase

Abridged list of other updates.

 * gmoccapy: change text to icons of undo/redo buttons to fit window size
 * tests: save.1 test removed. It's been skipped for 19 years.
 * halui: on startup, set the first configured axis as 'is-selected'
instead of X
 * halui: Don't create 'halui.axis.'- pins for unconfigured axes
 * qtvcp versa probe: remember setting of auto skew/zero buttons we reopened
 * PyVCP test: result file formatting fixes (#3551)
 * stepconf -fix human input names in wrong order
 * Tests: Add a test for PyVCP - Specifically Issue #3538
 * Deprecate gantry.comp
 * Fix #3538 - "halparam" tag not working in PyVCP
 * tests: Add a test for spindle INI speed limits function
 * Fix a race; add a test to ensure the 'result' and 'stderr' files
are closed before continuing to run 'checkresult'.
 * Fix command-line directories acceptance by correct expansion.
 * Fix a race between setting the signal handlers and marking hal_ready().
 * Gladevcp: Update the .ui and .glade files in the sample configs to Gtk+3.0
 * clarify documentation on stat 'gcodes' and (spindle)'speed' attributes
 * Merge pull request #3460 from
Sigma1912/2.9-Fix-preview-update-not-respecting-active-wcs
 * Don't use  RS274NGC_STARTUP_CODE when updating the preview
 * Merge pull request #3454 from Sigma1912/2.9_Fix_issue_3447
 * Gmoccapy: Fix very large numbers for spindle speed and 'Vc' in the
gui when using G96
 * Gmoccapy: Fix 'spindle.0.speed-out' pins being reset to wrong value
when using G96
 * Split declaration/assignment with label because it is not accepted
by the compiler in Debian 10 and 11.
 * Fix invalid escape sequence warnings from halcompile and hal components.
 * Fix missing parity error definition
 * Merge pull request #3412 from BsAtHome/backport_2.9_fix_update-pktuart-v3
 * Update, fix and reorganize hostmot2 PktUART to support V3.
 * debian: Updated policy standard to 4.7.2
 * orient: Commit 79c0966 had an un-noticed effect on the behaviour of
M19 reported in issue #3389
 * ServoToGo: remove old weblinks that now redirect to a spam site
 * halui -fix spindle override using direct value.
 * gmoccapy: fix setting to disable "run from line"
 * halscope: set button left and right padding to 0 to allow smaller window size
 * docs: update halscope channel off function + update images
 * qtdragon_hd_vert -add a sample config for vertical layout.
 * qtvcp -qtdragon_hd_vert: add a vertical layout version
 * Merge pull request #3339 from NTULINUX/ntulinux/2.9-fixes
 * interp_o_word.cc: Insert almost-certainly-missing "breaks" addresses #3290
 * qtvcp -vismach config cleanup: gantry_5axis, millturn, vismach_fanuc_200f

The full changelog can be seen at
github.com/LinuxCNC/linuxcnc/blob/2.9/debian/changelog

As always, we couldn't do this without the contributions from the
community, so many thanks to:

Alec Ari
andronick83
Bertho Stultiens
CMorley
DauntlessAq
David
Hans Unzner
Petter Reinholdtsen
Rene Hopf
Sigma1912
Steffen Möller
 
  • oodanner
  • oodanner
07 Sep 2025 18:01 - 07 Sep 2025 19:05

Remora - Rpi Software Stepping Using External Microcontroller via SPI

Category: Computers and Hardware

I posted something I thought might be helpful since it seemed to fix my problem but, then it started happening again.  My SPI interface keeps getting reset as well and only when my spindle gets turned on.  I already created a shielded cable between the SPI connections. I thought messing with the base servo speed helped in the ini file at one point but, I just tried again and got the same microcontroller reset.  After that I have to reset the microcontroller before I get a good status signal for the SPI connection and I can toggle machine power once again and communications work as well.  I guess it could be interference on the SPI interface still but, I'm not sure how that is happening. EDIT:  I guess after creating a shielded SPI cable it did work for longer before getting an SPI reset.  I still had issues and I just put a piece of tin foil over no directly onto the raspberry pi4 GPIO pins and it looks like all of my errors are gone so maybe some EMI was getting into the raspberry pi pins and resetting the controller somehow?  I'm still testing to see if my problem is gone for good but, fingers crossed.
Displaying 121 - 135 out of 815 results.
Time to create page: 0.986 seconds
Powered by Kunena Forum