Advanced Search

Search Results (Searched for: )

  • Gusgus
  • Gusgus
18 Sep 2025 19:04

Remora - Rpi Software Stepping Using External Microcontroller via SPI

Category: Computers and Hardware

Hello once again!

I haven't really been active but we got to testing once again and now I have encountered another issue I don't understand. 

So now we get movement and stable connection to the octopus, we got an spi cable with shielding and that worked wonders, thank you tommylight for the suggestion and thanks Scotta for all the help. 

The issue we are encountering now is that we have x y1 y2 and z, but we only get movement from x and y1, y2 and z are completely unresponsive, we have eliminated the drivers and their wiring since if we connect the y2 and z terminals to the x and y1 outputs on the octopus we get movement from them.

We have them wired to the octopus' Motor 4, 5, 6, and 7 ports, which are decleared in the following config:
[color=#d4d4d4]{[/color][color=#9cdcfe]"Board"[/color][color=#d4d4d4]: [/color][color=#ce9178]"BIGTREETECH Octopus Pro"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Modules"[/color][color=#d4d4d4]:[[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Reset Pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Reset pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PC_15"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"eStop"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"eStop"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_12"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PWM"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Spindle"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"SP[i]"[/color][color=#d4d4d4]: [/color][color=#b5cea8]3[/color][color=#d4d4d4],[/color][color=#9cdcfe]"PWM Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PB_0"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"PWM Max"[/color][color=#d4d4d4]: [/color][color=#b5cea8]255[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Hardware PWM"[/color][color=#d4d4d4]: [/color][color=#ce9178]"True"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Variable Freq"[/color][color=#d4d4d4]: [/color][color=#ce9178]"True"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Period SP[i]"[/color][color=#d4d4d4]: [/color][color=#b5cea8]1[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Period us"[/color][color=#d4d4d4]: [/color][color=#b5cea8]200[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Base"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Stepgen"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"X - Joint 0 step generator"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Joint Number"[/color][color=#d4d4d4]: [/color][color=#b5cea8]0[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Step Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PF_9"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Direction Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PF_10"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Enable Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_2"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Base"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Stepgen"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Y1 - Joint 1 step generator"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Joint Number"[/color][color=#d4d4d4]: [/color][color=#b5cea8]1[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Step Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PC_13"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Direction Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PF_0"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Enable Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PF_1"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Base"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Stepgen"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Y2 - Joint 1 step generator"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Joint Number"[/color][color=#d4d4d4]: [/color][color=#b5cea8]1[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Step Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PE_2"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Direction Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PE_3"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Enable Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PD_4"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Base"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Stepgen"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Z - Joint 2 step generator"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Joint Number"[/color][color=#d4d4d4]: [/color][color=#b5cea8]2[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Step Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PE_6"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Direction Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PA_14"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Enable Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PE_0"[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Digital Pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"X min"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_6"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Mode"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Input"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Data Bit"[/color][color=#d4d4d4]: [/color][color=#b5cea8]0[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Digital Pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Y min"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_9"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Mode"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Input"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Data Bit"[/color][color=#d4d4d4]: [/color][color=#b5cea8]1[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Digital Pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Z min"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_10"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Mode"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Input"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Data Bit"[/color][color=#d4d4d4]: [/color][color=#b5cea8]2[/color][color=#d4d4d4]},[/color][color=#d4d4d4]{[/color][color=#9cdcfe]"Thread"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Servo"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Type"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Digital Pin"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Comment"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Probe"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Pin"[/color][color=#d4d4d4]: [/color][color=#ce9178]"PG_11"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Mode"[/color][color=#d4d4d4]: [/color][color=#ce9178]"Input"[/color][color=#d4d4d4],[/color][color=#9cdcfe]"Data Bit"[/color][color=#d4d4d4]: [/color][color=#b5cea8]3[/color][color=#d4d4d4]}[/color][color=#d4d4d4]][/color][color=#d4d4d4]}[/color]

We are running this in our .ini file:
[color=#6a9955]# Basic LinuxCNC config for testing of Remora firmware[/color] [color=#d4d4d4][EMC][/color][color=#569cd6]MACHINE[/color][color=#d4d4d4] = Remora-XYZ[/color][color=#569cd6]DEBUG[/color][color=#d4d4d4] = 0[/color][color=#569cd6]VERSION[/color][color=#d4d4d4] = 1.1[/color] [color=#d4d4d4][DISPLAY][/color][color=#569cd6]DISPLAY[/color][color=#d4d4d4] = axis[/color][color=#569cd6]EDITOR[/color][color=#d4d4d4] = gedit[/color][color=#569cd6]POSITION_OFFSET[/color][color=#d4d4d4] = RELATIVE[/color][color=#569cd6]POSITION_FEEDBACK[/color][color=#d4d4d4] = ACTUAL[/color][color=#569cd6]ARCDIVISION[/color][color=#d4d4d4] = 64[/color][color=#569cd6]GRIDS[/color][color=#d4d4d4] = 10mm 20mm 50mm 100mm[/color][color=#569cd6]MAX_FEED_OVERRIDE[/color][color=#d4d4d4] = 1.2[/color][color=#569cd6]MIN_SPINDLE_OVERRIDE[/color][color=#d4d4d4] = 0.5[/color][color=#569cd6]MAX_SPINDLE_OVERRIDE[/color][color=#d4d4d4] = 1.2[/color][color=#569cd6]DEFAULT_LINEAR_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MIN_LINEAR_VELOCITY[/color][color=#d4d4d4] = 0[/color][color=#569cd6]MAX_LINEAR_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]DEFAULT_ANGULAR_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MIN_ANGULAR_VELOCITY[/color][color=#d4d4d4] = 0[/color][color=#569cd6]MAX_ANGULAR_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]INTRO_GRAPHIC[/color][color=#d4d4d4] = linuxcnc.gif[/color][color=#569cd6]INTRO_TIME[/color][color=#d4d4d4] = 5[/color][color=#569cd6]PROGRAM_PREFIX[/color][color=#d4d4d4] = ~/linuxcnc/nc_files[/color][color=#569cd6]INCREMENTS[/color][color=#d4d4d4] = 50mm 10mm 5mm 1mm .5mm .1mm .05mm .01mm[/color] [color=#d4d4d4][KINS][/color][color=#569cd6]JOINTS[/color][color=#d4d4d4] = 3[/color][color=#6a9955]#KINEMATICS =trivkins coordinates=XYZ kinstype=BOTH[/color][color=#569cd6]KINEMATICS[/color][color=#d4d4d4] =trivkins [/color][color=#569cd6]coordinates[/color][color=#d4d4d4]=XYZ[/color] [color=#d4d4d4][FILTER][/color][color=#569cd6]PROGRAM_EXTENSION[/color][color=#d4d4d4] = .py Python Script[/color][color=#569cd6]py[/color][color=#d4d4d4] = python[/color] [color=#d4d4d4][TASK][/color][color=#569cd6]TASK[/color][color=#d4d4d4] = milltask[/color][color=#569cd6]CYCLE_TIME[/color][color=#d4d4d4] = 0.010[/color] [color=#d4d4d4][RS274NGC][/color][color=#569cd6]PARAMETER_FILE[/color][color=#d4d4d4] = linuxcnc.var[/color] [color=#d4d4d4][EMCMOT][/color][color=#569cd6]EMCMOT[/color][color=#d4d4d4] = motmod[/color][color=#569cd6]COMM_TIMEOUT[/color][color=#d4d4d4] = 1.0[/color][color=#569cd6]COMM_WAIT[/color][color=#d4d4d4] = 0.010[/color][color=#569cd6]BASE_PERIOD[/color][color=#d4d4d4] = 0[/color][color=#569cd6]SERVO_PERIOD[/color][color=#d4d4d4] = 5000000[/color] [color=#d4d4d4][HAL][/color][color=#569cd6]HALFILE[/color][color=#d4d4d4] = remora-xyz.hal[/color][color=#569cd6]POSTGUI_HALFILE[/color][color=#d4d4d4] = postgui_call_list.hal[/color] [color=#d4d4d4][TRAJ][/color][color=#569cd6]COORDINATES[/color][color=#d4d4d4] = X Y Z [/color][color=#569cd6]LINEAR_UNITS[/color][color=#d4d4d4] = mm[/color][color=#569cd6]ANGULAR_UNITS[/color][color=#d4d4d4] = degree[/color][color=#569cd6]CYCLE_TIME[/color][color=#d4d4d4] = 0.010[/color][color=#569cd6]DEFAULT_LINEAR_VELOCITY[/color][color=#d4d4d4] = 4.17[/color][color=#569cd6]MAX_LINEAR_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]NO_FORCE_HOMING[/color][color=#d4d4d4] = 1 [/color] [color=#d4d4d4][EMCIO][/color][color=#569cd6]EMCIO[/color][color=#d4d4d4] = io[/color][color=#569cd6]CYCLE_TIME[/color][color=#d4d4d4] = 0.100[/color][color=#569cd6]TOOL_TABLE[/color][color=#d4d4d4] = tool.tbl[/color] [color=#6a9955]#*** AXIS_X *******************************[/color][color=#d4d4d4][AXIS_X][/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 287.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -0.001[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 1080.0[/color] [color=#d4d4d4][JOINT_0][/color][color=#569cd6]TYPE[/color][color=#d4d4d4] = LINEAR[/color][color=#569cd6]HOME[/color][color=#d4d4d4] = 0.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -0.001[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 1080.0[/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 287.0[/color][color=#569cd6]STEPGEN_MAXACCEL[/color][color=#d4d4d4] = 1000.0[/color][color=#569cd6]SCALE[/color][color=#d4d4d4] = 100.0[/color][color=#569cd6]FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]MIN_FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]HOME_OFFSET[/color][color=#d4d4d4] = 0.000000[/color][color=#569cd6]HOME_SEARCH_VEL[/color][color=#d4d4d4] = -45.000000[/color][color=#569cd6]HOME_LATCH_VEL[/color][color=#d4d4d4] = -2.500000[/color][color=#569cd6]HOME_SEQUENCE[/color][color=#d4d4d4] = 1[/color][color=#6a9955]#******************************************[/color] [color=#6a9955]#*** AXIS_Y *******************************[/color][color=#d4d4d4][AXIS_Y][/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 287.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -0.001[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 950.0[/color] [color=#d4d4d4][JOINT_1][/color][color=#569cd6]TYPE[/color][color=#d4d4d4] = LINEAR[/color][color=#569cd6]HOME[/color][color=#d4d4d4] = 0.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -0.001[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 950.0[/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 28.7[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 287.0[/color][color=#569cd6]STEPGEN_MAXACCEL[/color][color=#d4d4d4] = 1000.0[/color][color=#569cd6]SCALE[/color][color=#d4d4d4] = 100.0[/color][color=#569cd6]FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]MIN_FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]HOME_OFFSET[/color][color=#d4d4d4] = 0.000000[/color][color=#569cd6]HOME_SEARCH_VEL[/color][color=#d4d4d4] = -45.000000[/color][color=#569cd6]HOME_LATCH_VEL[/color][color=#d4d4d4] = 2.500000[/color][color=#569cd6]HOME_SEQUENCE[/color][color=#d4d4d4] = 2[/color][color=#6a9955]#******************************************[/color] [color=#6a9955]#*** AXIS_Z *******************************[/color][color=#d4d4d4][AXIS_Z][/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 20.0[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 150.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -125.0[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 0.001[/color] [color=#d4d4d4][JOINT_2][/color][color=#569cd6]TYPE[/color][color=#d4d4d4] = LINEAR[/color][color=#569cd6]HOME[/color][color=#d4d4d4] = 0.0[/color][color=#569cd6]MIN_LIMIT[/color][color=#d4d4d4] = -125.0[/color][color=#569cd6]MAX_LIMIT[/color][color=#d4d4d4] = 0.001[/color][color=#569cd6]MAX_VELOCITY[/color][color=#d4d4d4] = 20[/color][color=#569cd6]MAX_ACCELERATION[/color][color=#d4d4d4] = 150.0[/color][color=#569cd6]STEPGEN_MAXACCEL[/color][color=#d4d4d4] = 187.5[/color][color=#569cd6]SCALE[/color][color=#d4d4d4] = 800.0[/color][color=#569cd6]FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]MIN_FERROR[/color][color=#d4d4d4] = 5.0[/color][color=#569cd6]HOME_OFFSET[/color][color=#d4d4d4] = 0.000000[/color][color=#569cd6]HOME_SEARCH_VEL[/color][color=#d4d4d4] = 15.000000[/color][color=#569cd6]HOME_LATCH_VEL[/color][color=#d4d4d4] = 0.625000[/color][color=#569cd6]HOME_SEQUENCE[/color][color=#d4d4d4] = 0[/color][color=#6a9955]#******************************************[/color]
 

and this in our .hal file:

# load the realtime components

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

    loadrt remora-spi SPI_num=0 CS_num=0 SPI_freq=2000000
    #loadrt remora_lpc chip_type=LPC SPI_clk_div=64


# estop loopback, SPI comms enable and feedback
    net user-enable-out     <= iocontrol.0.user-enable-out        => remora.SPI-enable
    net user-request-enable <= iocontrol.0.user-request-enable    => remora.SPI-reset
    net remora-status     <= remora.SPI-status             => iocontrol.0.emc-enable-in
    

# add the remora and motion functions to threads

    addf remora.read servo-thread
    addf motion-command-handler servo-thread
    addf motion-controller servo-thread
    addf remora.update-freq servo-thread
    addf remora.write servo-thread


# Joint 0 setup

    setp remora.joint.0.scale         [JOINT_0]SCALE
    setp remora.joint.0.maxaccel     [JOINT_0]STEPGEN_MAXACCEL

    net xpos-cmd         <= joint.0.motor-pos-cmd     => remora.joint.0.pos-cmd  
    net j0pos-fb         <= remora.joint.0.pos-fb     => joint.0.motor-pos-fb
    net j0enable         <= joint.0.amp-enable-out     => remora.joint.0.enable


# Joint 1 setup

    setp remora.joint.1.scale         [JOINT_1]SCALE
    setp remora.joint.1.maxaccel     [JOINT_1]STEPGEN_MAXACCEL

    net j1pos-cmd         <= joint.1.motor-pos-cmd     => remora.joint.1.pos-cmd
    net j1pos-fb         <= remora.joint.1.pos-fb     => joint.1.motor-pos-fb 
    net j1enable         <= joint.1.amp-enable-out     => remora.joint.1.enable


# Joint 2 setup

    setp remora.joint.2.scale         [JOINT_2]SCALE
    setp remora.joint.2.maxaccel     [JOINT_2]STEPGEN_MAXACCEL

    net j2pos-cmd         <= joint.2.motor-pos-cmd     => remora.joint.2.pos-cmd
    net j2pos-fb         <= remora.joint.2.pos-fb     => joint.2.motor-pos-fb
    net j2enable         <= joint.2.amp-enable-out     => remora.joint.2.enable

# inputs
    #endstops
    net X-min remora.input.01 => joint.0.home-sw-in 
    net Y-min remora.input.00 => joint.1.home-sw-in 
    net Z-min remora.input.02 => joint.2.home-sw-in 


File Attachment:


We flashed this firmware to it: github.com/scottalford75/Remora/tree/mai...in/STM32F446/BTT_446

and are running the above mentioned config file.

we also tried looking at the debug info but nothing came up, here's the printout:
Creating a std module                                                                                                                                 
                                                                                                                                                      
Remora PRU - Programmable Realtime Unit                                                                                                               
                                                                                                                                                    
 Mbed-OS6                                                                                                                                           
                                                                                
 Remora-spi Driver                                                              
                                                                                
## Entering SETUP state                                                         
1. Reading json configuration file                                              
Mounting the filesystem... OK                                                   
Opening "/fs/config.txt"... OK                                                  
Json config file lenght = 1996                                                  
Closing "/fs/config.txt"... 
2. Setting up DMA and threads
Initialising SPI1 slave
Initialising DMA for SPI

3. Parsing json configuration file
Config deserialisation - Deserialization succeeded

4. Config threads
Creating thread 40000
Creating thread 1000
Creating thread 57600

5. Loading modules

Servo thread object
Reset pin
Make Reset Pin at pin PC_15

Creating a std module
Creating Pin @
  port = GPIOC
  pin = 15

Servo thread object
eStop
Make eStop at pin PG_12

Creating a std module
Creating Pin @
  port = GPIOG
  pin = 12

Servo thread object
Spindle
Make PWM at pin PB_0

Creating a std module
Creating variable frequency Hardware PWM at pin PB_0
Creating Pin @
  port = GPIOB
  pin = 0

Base thread object
X - Joint 0 step generator

Creating a std module
Creating Pin @
  port = GPIOG
  pin = 2
Creating Pin @
  port = GPIOF
  pin = 9
Creating Pin @
  port = GPIOF
  pin = 10

Base thread object
Y1 - Joint 1 step generator

Creating a std module
Creating Pin @
  port = GPIOF
  pin = 1
Creating Pin @
  port = GPIOC
  pin = 13
Creating Pin @
  port = GPIOF
  pin = 0

Base thread object
Y2 - Joint 1 step generator

Creating a std module
Creating Pin @
  port = GPIOD
  pin = 4
Creating Pin @
  port = GPIOE
  pin = 2
Creating Pin @
  port = GPIOE
  pin = 3

Base thread object
Z - Joint 2 step generator

Creating a std module
Creating Pin @
  port = GPIOE
  pin = 0
Creating Pin @
  port = GPIOE
  pin = 6
Creating Pin @
  port = GPIOA
  pin = 14

Servo thread object
X min
Make Digital Input at pin PG_6

Creating a std module
  Setting pin as No Pull
Creating Pin @
  port = GPIOG
  pin = 6

Servo thread object
Y min
Make Digital Input at pin PG_9

Creating a std module
  Setting pin as No Pull
Creating Pin @
  port = GPIOG
  pin = 9

Servo thread object
Z min
Make Digital Input at pin PG_10

Creating a std module
  Setting pin as No Pull
Creating Pin @
  port = GPIOG
  pin = 10

Servo thread object
Probe
Make Digital Input at pin PG_11

Creating a std module
  Setting pin as No Pull
Creating Pin @
  port = GPIOG
  pin = 11

## Entering START state

Starting the BASE thread
Registering interrupt for interrupt number = 24
        power on Timer 9

Starting the SERVO thread
Registering interrupt for interrupt number = 25
        power on Timer 10

## Entering IDLE state

## Entering RUNNING state

## Entering RESET state
   Resetting rxBuffer

## Entering IDLE state



All the pins are generated in the correct order it seem's, we are gonna test next the output signal strength, maybe the drivers don't have enough power on high state to start moving, even if everything is connected to the same ground.

 
  • unknown
  • unknown
18 Sep 2025 19:02
Replied by unknown on topic 7i76E Spindle configuration

7i76E Spindle configuration

Category: PnCConf Wizard

When you make a config the only changes are made in the linuxcnc/configs directory in your home folder.
No changes are made to any system files, none at all. So it doesn't matter how bad a config is made it does not affect anything outside of the above mentioned directory.
PCW is a very patient member of the forum and the guy that runs Mesa Electronics. This is the first time I have show any frustration with a forum member. Ever.
When you have an issue, with anything in this world, diagnosis follows a process. Whilst it may not make sense to you, it does to those offering advice. To go off do something that is unnecessary and you have been advised not is deeply disrespectful and can quite possibly throw a spanner in the works and bring you back to where you started. Eventually people may come to the conclusion that trying to help is not worth their.
The best course of action would be to go back and follow PCE's advice to the letter, do not skip a step.
For a second time does your spindle controller require an analogue voltage, or does it require a PWM signal. Actually it may be an idea to qualify what controller you are using and any documents pertaining to the spindle controller.
Displaying 13411 - 13412 out of 13412 results.
Time to create page: 1.535 seconds
Powered by Kunena Forum