-
Notifications
You must be signed in to change notification settings - Fork 106
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 support #283
Comments
Todo Yaml parse https://www.npmjs.com/package/yamljs into legacy $$ setting as used by other parts of CONTROL grblParams.$30 : used by Tool On > Variable |
Basic fluidnc config file bdring/FluidNC@4af173b made by @synman |
I've created a wiki here: https://github.com/synman/Octoprint-Bettergrblsupport/wiki/Hacking-the-OpenBuilds-BlackBox-X32 |
bdring/FluidNC#755 relates - but needs a couple adaptations to be more compatible with the typical OpenBuilds Machine kit |
https://openbuilds.com/threads/just-discovered-openbuilds-control-with-fluidnc.20338/#post-134242 Disable "?" statusloop while dumping config file, fluidNC responds to realtime commands in the middle of the config dump |
I tried using the latest OBC with a machine running FluidNC today, and it went mostly well. I had two major things I was having issues with, one was connecting over USB. Not sure why, it sounded like that was working for this person based on the forum post:
Connecting over the network worked surprisingly well. I'd have occasional delays while jogging using the web interface, but during the several hours using OBC, even on the mobile jog widget, I did not have any noticeable delay when jogging. No stuttering during running a program either. The OBC probing wizard also worked without issue, though I suppose that's to be expected, since FluidNC uses the same codes for that as GRBL. The second issue I had was the "Home All" button in OBC was disabled, so I had to send $H in the console to get the machine to home. Any reason for this? |
Thats the above todo item ^
We disable the button when homing is disabled in Grbl's settings. FluidNC's different config means we need to write code to parse its config and see if homing is enabled or not to update the button accordingly |
Do you have an ETA on when you think you'll be able to work on this? I downloaded the source and figured out how to build the app in preparation to take a stab at it, but I don't know how useful my contributions will actually be, especially if you plan to work on this more in the next couple weeks. If it will be a while and you would like the help, could you give me some guidelines for how you want things implemented please? |
No ETA at the moment, as we are a small team we circle between projects based on current business priority, and we are working on three or four new exciting hardware projects at the moment. grbLHAL still serves us well, so unfortunately not able to commit time to this at the moment over the other priorities. Your approach of offering help is a good one though - its not unwillingness on our side, but rather a lack of time. Happy to talk you through what needs to be done (summarised above) The main bulk of the todo is in that fluidNC drastically changed configs from grbl's $1=xx style (grblHAL stuck with it, so adding grblHAL support was way easier) To support fluidNC properly, before we can declare support for it, means being able to read, edit, save configs. As for editing, we'd love it to be as simple as we made editing Grbl configs - table layout etc. Maybe parsed yaml, draw up the table but have a tab/button for advanced editing allowing direct yaml editing Uploading the configs over xmodem is also a task that haven't been completed yet (xmodem.js has been added as dependency already OpenBuilds-CONTROL/package.json Line 32 in f724560
We also need to bring it into the Flashing tool (: but that's relatively simple As for our machine profiles, if we work clever on the Editing UI, we can probably use the existing grbl templates to update a generic Yaml and let it rip (rather than keeping two sets of configs updated) - we did that for the grblHAL profiles too, use the grbl 1.1 profile, then just fix up some values that needed changing OpenBuilds-CONTROL/app/js/grbl-settings-defaults.js Lines 4 to 24 in f724560
Oh and another fluidNC oddity we need to work around #283 (comment) |
Sorry for not responding, I had a very busy week. Thanks for the info. I created a workaround for the oddity. I also figured out why I was having difficulties connecting over USB. When booting, if wifi is enabled, the boot process takes longer since it connects to the network before spitting out the status message with grbl at the front. The first message it sends is I also got config parsing functional. I don't think it's the cleanest, so I'm going to take another pass at it before I make that live. |
I pushed my changes. I rewrote the parsing code to use lodash since it handles failing to find properties nicely. There's definitely more work to do, but I think I've gotten it to a minimum viable level for my purposes. I'll put some more work into managing the config in OBC when I get some time. |
Update: See below. the GRBL version is actually 1.1, the FluidNC version is 3.7. Team -- The FluidNC GRBL Gcode senders page unfortunately doesn't list CONTROL, but I'm going to try and get Wiki access and add it. One issue I did notice: The log looks like:
Luckily, one can change the startup message. Changing the startup string to
The startup message can be changed with the $Start/Message command or via the GUI. Hope this helps someone. -d |
@dJOS1475 I may still have wiki access and can ask Bart about it if you'd like. They are fairly active on Discord. |
Something to keep in mind though with your work around... It may impact other senders that have been fully updated to support FluidNC. I guess that isn't such a big deal if you plan on sticking with Control, but it is worth mentioning for others. I also thought we had/have a fork here where this was worked out |
Any chance somebody can give me a code pointer to the GRBL detection logic. I've been string searching and can't seem to find it. |
I've just updated my controller to the latest FluidNC build (3.7.13) and dug around in the OpenBuilds Control code - looks like we're almost there. First, FluidNC has added support for a major chunk of legacy GRBL settings. Sending Second, I looked into a way to have OBC send the Setting Here's my take on the remaining open tasks :
I'd be willing to take care of the following:
How does that sound? |
Funny you mentioned GrblHAL, I’ve just ditched FluidNC for it. I was just not 100% happy with it. GrblHAL Has been rock solid. |
how can i contribute on this issue ? |
That's very good news, the different settings thing needed a lot of work to accomodate, so that should ease adoption, I think? Reusing the Grbl Settings we have now (even with some modification, still friendlier than editing Yaml)
That sounds great! I am allocated on CONTROL for a couple days this week, so please help! Happy to Merge pulls, just don't have a lot of time to work on it myself (: |
|
Released as of 1.0.342
Left on Todo:
The text was updated successfully, but these errors were encountered: