Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FLUIDNC scraper compatibility. #1885

Open
brakthehun opened this issue Aug 5, 2022 · 16 comments
Open

FLUIDNC scraper compatibility. #1885

brakthehun opened this issue Aug 5, 2022 · 16 comments

Comments

@brakthehun
Copy link

FluidNC reports motion control a little differently through $axes request and $spindle request.
Current issue is the homing cycle / max move speed / limits / spindle power / laser mode uses a $$ request which FluidNC doesn't respond to the same as GRBL. Only returns $10

@arkypita
Copy link
Owner

arkypita commented Aug 16, 2022

Is this a FluidNC issue or a LaserGRBL issue?

Can you give a more detailed example of the messages sent by FluidNC?
If possible, can you log the whole communication (LaserGRBL, menu "?", "activate extended log")

@brakthehun
Copy link
Author

2022-08-16 21_47_08-Window
2022-08-16 21_44_29-Window
2022-08-16 21_45_01-Window
2022-08-16 21_46_14-Window

@brakthehun
Copy link
Author

comlog.txt

@arkypita
Copy link
Owner

LaserGRBL is compatible with GRBL, and with firmware capable of behaving like GRBL.

Based on what I read here FluidNC it has basic compatibility, and as far as I can see from comlog.txt it seems to me that work quite well.

Feature like $axes and $spindle and other things specific to this firmware are not part of the GRBL specification and therefore are not supported in LaserGRBL.

@arkypita
Copy link
Owner

Is there anything I did not understand in your request? Can you rephrase it?

@brakthehun
Copy link
Author

I would like the homing button to show up and the speed max to be set.
I guess I'm asking LaserGRBL to support FluidNC

@brakthehun
Copy link
Author

When scraping,, The max speed is set by :
$100
$101
In FluidNC:
$axes/X/max_rate_per_min:
$axes/Y/max_rate_per_min:

Laser power max is stored in:
$laser/speedmap:
instead of
$30

@buster3
Copy link

buster3 commented Oct 9, 2022

I implemented the $30 command in FluidNC. Still, the Focus Toggle in LaserGRBL is not working for me. Any hints? Thanks

image

@arkypita
Copy link
Owner

arkypita commented Oct 9, 2022

What version of LaserGRBL are you using? Look like an old version that does not support formula in custom button.

@buster3
Copy link

buster3 commented Oct 9, 2022

I use the latest v4.9.4

@buster3
Copy link

buster3 commented Jan 16, 2023

Any hints here? Should the formula be evaluated by fluidnc or by laserGRBL?

@arkypita
Copy link
Owner

By LaserGRBL, but LaserGRBL should be able to read $30 value from controller to be able to evaluate formula.
If this is not possible, just edit custom button and put a fixed S value based on your needs.

@brakthehun
Copy link
Author

That's the issue with the laserGRBL scraper.
With fluidNC you can query $30 but it doesn't return any value.
You would have to query:
$laser/speed_map
And it would return one or two mins and a max. The max would be the $30 value.

@buster3
Copy link

buster3 commented Jan 17, 2023

That's the issue with the laserGRBL scraper. With fluidNC you can query $30 but it doesn't return any value. You would have to query: $laser/speed_map And it would return one or two mins and a max. The max would be the $30 value.

His does not hold any more for the last fluidNC release. See bdring/FluidNC#648

And #1885 (comment)

@buster3
Copy link

buster3 commented Oct 6, 2023

I revisited this issue. Can anybody confirm that LaserGRBL uses '$$' and expects a output for '$30'? How should the output format for $$ look like? Thanks

@arkypita
Copy link
Owner

arkypita commented Oct 6, 2023

LaserGRBL send $$ than expect to receive the "ok" response (acknowledge to $$).
After ok received, all the lines the macine send is queued into a list (until a timeout since the last message received) then this list is parsed to extract config parameters.

a config parameter is something like "$" at the beginning of a line, followed by numbers, by any spaces, by "=" and then everything. this regular expression is used: "^$\s*=(.*)"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants