Maslow API/Spec

That’s stored in the firmware within a couple of seconds after the motion stops.

1 Like

So client 2 can ask firmware for spindle location. You guys rock :slight_smile:

1 Like

Has, after any pending motion has completed.

1 Like

Even after power has been cut?

@kodaxx Not sure if you are aware, but take alook at CNC related javascript projects at ChilliPeppr and jscut

I plan on using jscut for my next project.

1 Like

I’m not sure which power we’re talking about, but as soon as the Arduino has powered up, it begins sending

[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>
[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>
[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>
[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>
[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>
[PE:0.00,0.00,127]
<Idle,MPos:0.00,0.00,0.00,WPos:0.000,0.000,0.000>

Here, the sled is located at 0.00, 0.00, 0.00 with a position error of 0.00, 0.00

I don’t believe that the position can be queried separately. Here are the response to a request for all values ("$$ \r\n" :

$0=2438.40 (machine width, mm)
$1=1219.19995117 (machine height, mm)
$2=3010.10009765 (motor distance, mm)
$3=424.00000000 (motor height, mm)
$4=310.00000000 (sled width, mm)
$5=139.00000000 (sled height, mm)
$6=79.00000000 (sled cg, mm)
$7=2 (Kinematics Type 1=Quadrilateral, 2=Triangular)
$8=127.50000000 (rotation radius, mm)
$9=2000 (axis idle before detach, ms)
$10=3360 (full length of chain, mm)
$11=1650 (calibration chain length, mm)
$12=8113.73046875 (main steps per revolution)
$13=63.50000000 (distance / rotation, mm)
$15=700 (max feed, mm/min)
$16=1 (Auto Z Axis, 1 = Yes)
$17=0 (auto spindle servo/relay)
$18=12.60000038 (max z axis RPM)
$19=3.17500019 (z axis distance / rotation)
$20=7560.00000000 (z axis steps per revolution)
$21=1300.00000000 (main Kp Pos)
$22=0.00000000 (main Ki Pos)
$23=34.00000000 (main Kd Pos)
$24=1.00000000 (main Pos proportional weight)
$25=5.00000000 (main Kp Velocity)
$26=0.00000000 (main Ki Velocity)
$27=0.27999999 (main Kd Velocity)
$28=1.00000000 (main Velocity proportional weight)
$29=1300.00000000 (z axis Kp Pos)
$30=0.00000000 (z axis Ki Pos)
$31=34.00000000 (z axis Kd Pos)
$32=1.00000000 (z axis Pos proportional weight)
$33=5.00000000 (z axis Kp Velocity)
$34=0.00000000 (z axis Ki Velocity)
$35=0.27999999 (z axis Kd Velocity)
$36=1.00000000 (z axis Velocity proportional weight)
$37=0.00000000 (chain sag correction value)
$38=1 (chain over sprocket)
$39=3 (PWM frequency value 1=39,000Hz, 2=4,100Hz, 3=490Hz)
$40=63.50000000 (distance / rotation, including chain tolerance, left chain, mm)
$41=63.50000000 (distance / rotation, including chain tolerance, right chain, mm)

1 Like

please quote enough of the prior message to understand what you are responding
to :slight_smile:

but when the firmware saves the position, it saves it in such a way that it
survives power being cut, and even the software being upgraded.

But the memory has a limited number of writes before it goes bad, so it only
saves it after it’s finished moving (I think there is a guard period of a couple
seconds to make sure you are really finished)

If you pull the power before that, you will need to re-do the calibration (at
lest the ‘auto calibrate’ mode) to get you back to a known state

1 Like