Firmware with working ORIGIN function

Added by joostn almost 10 years ago

And here's another firmware in which the ORIGIN function should be fixed. Also include the patch I wrote yesterday (BOUNDARY function).

More information here:

Replies (32)

RE: Firmware with working ORIGIN function - Added by depronman over 9 years ago

Hi Joost,
I have tested your firmware, it is certainly very usable, but still as a few issues - I have PM you with the detail of my testing.
I can post the detail here as well if anyone is interested, reply and I will post the testing results


RE: Firmware with working ORIGIN function - Added by jaap over 9 years ago

Hi Paul,

Can you post your issues here as well? If there are no real showstoppers, I think we can make Joost's code mainstream.


RE: Firmware with working ORIGIN function - Added by depronman over 9 years ago

Hi Joost,
I have loaded up the firmware and have a few problems which I suspect are all related -

If I jog to a different XY position after rebooting, the jog is jerky and it is a different jerky to previous firmwares, but it works and does not appear to lock up the mbed - so this is good progress (I can keep my finger on the move X or Y joystick input without risk of the Mbed locking up)

However, if I set the 'origin' to a different origin with respect to the home position, then move around all appears ok at first, but there are problems -
1) move to the extremities of the bed, particularly to the bottom right hand corner and once there try to return in to the centre area of the bed, about one in five times the movement cannot be done via the jog button, you can however select 'home' and the axis move (see point 2 below)
2) if you select 'home' after manually setting a different 'origin' the axis both move to the top left hand corner and trigger the end stops, however they remain at the 'end stop. positions and don't move to the 'Park' position, i.e. the axis do not move to the same place as they would after a power cycle of the laser cutter
(my cutter is set up to home and then move a few mm to the right and down, this is the 'park' position which is directly aligned with the top left hand point of the cutting bed)

I can move and then home as many times as I like and always end up in the 'Park' position as long as I don't set a manual 'Origin', once I set a Manual Origin then homing does not work correctly

Once I get the home but not move to park position I can no longer jog at all, only option is to reboot

In conclusion if the laser homes AND parks then all is well, if it homes and does not park then a reboot is needed

Cancel works perfectly, when restarting it starts from the beginning again - is it not possible to pick up from where the cancel command was executed ?
I am using the top left button to 'cancel', pressing the joystick does not execute a cancel, but the display suggest that it should do

Origin once set works perfectly
Boundary function works perfectly

Engraving works well and I cannot see any 'false cuts' as previously noted on older firmwares

I will continue to use this firmware as it is an improvement on the last one that you produced, still a few 'rough edges' but certainly moving in the right direction. Many many thanks for your time and effort.

Is there anything else that you would like me to check ?

Best regards,
Paul W

RE: Firmware with working ORIGIN function - Added by joostn over 9 years ago

I've still noticed rare lockups during jogging as well. Not a big deal for me, cutting and engraving works fine. If grbl ever gets updated and the problem is still there I'll take a second look.

I've added another feature: laser test (menu item 12). This can be used to fire pulses of specific power and length. During laser test the motors are disengaged, to help adjusting the mirrors.

Firmware is attached. Source is here:

laser.bin (137 KB) laser.bin

RE: Firmware with working ORIGIN function - Added by jaap over 9 years ago

I tested this firmware today on the HPC3020. I did have some minor issues, but they might not even be related to the changes made here.

Probably it's a good idea to make this code the mainstream and start debugging from there.

Joost, can you send a pull request for this?

RE: Firmware with working ORIGIN function - Added by peteruithoven over 9 years ago

First the good news:
- After homing it will move to it’s origin based on the y.max settings etc.
- Moving works, it listens to the endstops now and to softlimits
- Boundaries works, very handy!
- Lasertest works, also handy.
- Test laser works, but for some reason it moves to home when you leave that “page”.

The bad news:
Not sure if this is related to these changes.