When trying to get the laser to work the following issues arose.
Framing would work but then cutting would just crash into the end stops!
Repositioning the work sometimes resulted in a mirror image being cut.
Really frustrating until I realised that the issue was not software, but physical position of the bed.
This machine has no actual feedback of the actual bed position by any sort of encoder or other means. The issue is due to the controller recording the position of the table and head by the simple process of adding or subtracting the number of steps sent to each of the stepper motors.
I had been doing some work adding limit switches to all axis and also doing some lubrication.
While lubricating the lead screw, I had moved the table and head manually by turning the leadscrews with the power off of course.. Consequently, the positions reported by the controller were in no way related to the actual bed position! I had simply fooled the controller by turning the leadscrews by hand.
To correct this the following procedure was used.
Disconnect the X and Y motor drives by unplugging from the actual motor.
Use Candle or similar software, (LaserGRBL etc), to drive the bed to a zero position on both the X and Y axis. Obviously, the motors were not being driven but the controller does not know that and returns the bed position by the counting method outlined previously. Once the controller has been set to zero on both the X and Y axis power down the controller.
Drive the bed manually to the required zero-position by hand turning the lead screws for both the X and Y axis. I use rear left for my zero position.
Re-connect the two motors X & Y and power up the controller.
Load up Lightburn software, and use the get position button before doing anything else. Check that the controller is reporting all zeros. This is important if it is not reporting both X and Y as zero then you may need to repeat the procedure above.
Now using the Lightburn move button check that the bed is moving in a positive direction for both axis.
I use absolute positioning and always start from the 0,0 co-ordinates.
Framing and cutting should now both work OK.