Num pad for moving head

Usually I just use the jog buttons in the move window to move the laser around to line up material.
Today, I thought about putting a num keypad if front of the laser and not have to stretch to the laptop.
Before I do, I wanted to make sure I could get what I want out of it. so tried with the laptop keys. When I hit the up and down keys, works no problem. But when I hit the left and right keys, the laser moves left and right, but adds in about a MM of up movement. Tried another keyboard and got the same thing.
Has anyone heard of or experienced this behaviour?

1.4.05

Enable “Show all” in Console. Then try left and right keys. Then copy paste the output of Console here please.

Waiting for connection…

ok

[VER:1.1.2022033001:]

[OPT:PHSW]

[MSG:Using machine:LKS TS3]

[MSG:Mode=AP:SSDI=MKS_DLC:IP=192.168.4.1:MAC=24-D7-EB-B7-C7-3D]

ok

Homing

ok

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X6 Y1 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:7.000,2.000,0.000|FS:0,0|Ov:100,100,100|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X2 Y2 F4000

Stream completed in 0:00

ok

Seems up and down are also adding X+

The sequence is a bit odd.

This should leave you at absolute coords of 6,1. However, the reported position is 7,2.

I’m curious why LightBurn is requesting Absolute Coords. But more importantly, why is the controller not doing what’s asked. This may be a firmware issue.

Try disabling “Enable $J jogging” in Edit->Device Settings. Does that change anything?

Tried that. No change.

It only does it with the num pad. everything else works the way it should.

Can you capture the same results in Console but using the jogging controls?

Waiting for connection…

ok

[VER:1.1.2022033001:]

[OPT:PHSW]

[MSG:Using machine:LKS TS3]

[MSG:Mode=AP:SSDI=MKS_DLC:IP=192.168.4.1:MAC=24-D7-EB-B7-C7-3D]

ok

Homing

ok

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok

Starting stream

G21 G54

G91

G1 X5 Y0 F4000 S0

G90

M2

[MSG:Program End]

Stream completed in 0:00

?

<Idle|MPos:6.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok

Starting stream

G21 G54

G91

G1 X-5 Y0 F4000 S0

G90

M2

[MSG:Program End]

Stream completed in 0:00

Did you have “Enable $J jogging” enabled for this?

no, had it turned off.

I hate saying this, but works in lasergrbl.

Can you enable $J jogging and run the same output using the jogging controls? I’d like to compare apples to apples.

Or alternatively, leave $J off and run the same output using keyboard.

$J enabled.
Right
up
left
down

Waiting for connection…

ok

[VER:1.1.2022033001:]

[OPT:PHSW]

[MSG:Using machine:LKS TS3]

[MSG:Mode=AP:SSDI=MKS_DLC:IP=192.168.4.1:MAC=24-D7-EB-B7-C7-3D]

ok

Homing

ok

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X6 Y1 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:7.000,2.000,0.000|FS:0,0|Ov:100,100,100|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X7 Y7 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:8.000,8.000,0.000|FS:0,0|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X3 Y8 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:4.000,9.000,0.000|FS:0,0|PS:100|PF:100>

ok

Starting stream

$J=G21 G90 X4 Y4 F4000

Stream completed in 0:00

ok

This seems to be the same as the numpad output. But you’re getting different behavior?

One thing I’m noticing is that you have a work offset of 1,1. Is that intentional? That may be complicating the issue.

That last one was with the num pad. This is the move window. Same right up left down.

Waiting for connection…

ok

[VER:1.1.2022033001:]

[OPT:PHSW]

[MSG:Using machine:LKS TS3]

[MSG:Mode=AP:SSDI=MKS_DLC:IP=192.168.4.1:MAC=24-D7-EB-B7-C7-3D]

ok

Homing

ok

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|PS:100|PF:100>

ok

Starting stream

$J=G21 G91 X5 Y0 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:6.000,1.000,0.000|FS:0,0|PS:100|PF:100>

ok

?

<Idle|MPos:6.000,1.000,0.000|FS:0,0|PS:100|PF:100>

ok

Starting stream

$J=G21 G91 X0 Y5 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:6.000,6.000,0.000|FS:0,0|PS:100|PF:100>

ok

?

<Idle|MPos:6.000,6.000,0.000|FS:0,0|PS:100|PF:100>

ok

Starting stream

$J=G21 G91 X-5 Y0 F4000

Stream completed in 0:00

ok

?

<Idle|MPos:1.000,6.000,0.000|FS:0,0|PS:100|PF:100>

ok

?

<Idle|MPos:1.000,6.000,0.000|FS:0,0|Ov:100,100,100|PS:100|PF:100>

ok

Starting stream

$J=G21 G91 X0 Y-5 F4000

Stream completed in 0:00

ok

This is super interesting. The jogging controls use relative moves and the numpad uses absolute coords.

I think the issue is almost certainly because of the work offset.

Two possible solutions:

  1. Remove work offset
  2. Switch to reporting work position rather than machine position ($10=0)

That would be the pull off from the homing switches? they are proximity switches and wont shut off without that.

That’s interesting if pull-off is handled that way.

Can you run these commands in Console:

$H
$$
$#
?

Waiting for connection…

ok

[VER:1.1.2022033001:]

[OPT:PHSW]

[MSG:Using machine:LKS TS3]

[MSG:Mode=AP:SSDI=MKS_DLC:IP=192.168.4.1:MAC=24-D7-EB-B7-C7-3D]

ok

Homing

ok

$h

$h

ok

$$

$$

$0=10

$1=25

$2=0

$3=0

$4=0

$5=1

$6=0

$46=2

$10=1

$11=0.010

$12=0.002

$13=0

$20=1

$21=1

$22=1

$23=3

$24=300.000

$25=3000.000

$26=250.000

$27=1.000

$30=1000.000

$31=0.000

$32=1

$38=0

$37=1

$100=80.000

$101=80.000

$102=80.000

$103=100.000

$104=100.000

$105=100.000

$110=8000.000

$111=8000.000

$112=8000.000

$113=1000.000

$114=1000.000

$115=1000.000

$120=500.000

$121=500.000

$122=500.000

$123=200.000

$124=200.000

$125=200.000

$130=300.000

$131=210.000

$132=80.000

$133=300.000

$134=300.000

$135=300.000

ok

$#

$#

[G54:0.000,0.000,0.000]

[G55:0.000,0.000,0.000]

[G56:0.000,0.000,0.000]

[G57:0.000,0.000,0.000]

[G58:0.000,0.000,0.000]

[G59:0.000,0.000,0.000]

[G28:0.000,0.000,0.000]

[G30:0.000,0.000,0.000]

[G92:1.000,1.000,0.000]

[TLO:0.000]

[PRB:0.000,0.000,0.000:0]

ok

?

?

<Idle|MPos:1.000,1.000,0.000|FS:0,0|WCO:1.000,1.000,0.000|PS:100|PF:100>

ok