-
-
Notifications
You must be signed in to change notification settings - Fork 766
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
Improve support for TinyG / g2core #1071
Comments
Ahhh, just came here to report "I can't seem to enable homing". Turns out it's a known thing. 😉 For me in testing now, using firmware version 101.03 (our latest edge build), and the nightly build downloaded just now (using CentOS 7 x64):
Homing works if done via the "Command" line (eg Noticed two bits of weirdness. One is probably just me 😉, while the other one might not be an issue or may need thinking about:
Anyway, so far things look good. Nothing terrible is jumping out at me anyway. 😄 |
Hmmm, noticing one thing that I'm not sure about. In the "Controller State (DRO)" Window, the line at the bottom looks like it's supposed to be the currently executing G-Code. That's not changing for me atm, even though a file is being streamed. The feed rate value and XYZ coordinates are changing dynamically though. Should I take a screenshot and add it here? |
#1075 updates the Help info to be more controller agnostic too. Probably useful. 😄 |
The file I was streaming (with motors off) finished successfully from the UGS perspective just now, so looks like that's good too. 😄 |
Ahhh, ignore that. Just realised that's the "gcode state" mentioned in the welcome page tab. No worries. 😄 |
Nifty, thanks. 😄 |
Out of curiosity, is support for ABC (etc) axes in the forseeable future? Just kind of thinking that might be useful, as it's one of the strengths of g2core compared to GRBL. |
That's a work in progress hopefully I can keep finding time to work on it: #1068 (comment) |
Ooooo Aaaaaa! Very nifty @winder. 😄 I hadn't come across the grbl-Mega-5X project before either. Looks like several microcontroller based systems are starting to bring "5 axes" to the general public then. Hopefully at least one breaks through to getting it "mainstream". 😄 |
[continuing a conversation from related #1072] @scotthz With the testing I'm doing, that's been with 101.03 as well. I'm not a java person either, so my knowledge of exactly what's needed is probably a bit iffy too. The "UGS Platform" nightly build is the one I've tested. After unpacking the .zip, I changed into the
Those java packages were already installed on my desktop, but I'm not sure if that's because they're standard things or because some other previous thing I've used needed them. Not sure how it'll all go on a Pi with Raspbian, but hoping it's ok. 😄 |
In a nutshell, my experience was pretty much same as your own, @justinclift . I ran it on a Pi 3, because generally, that's what's attached to my machine, but I expect it would be the same running natively on my mac laptop. I say "natively" because I tried to run it as a remote X11 client, with UGS running on the Pi and the UI running on my laptop, but that wasn't a lot of fun. It sort of works, but UGS doesn't appear to target this use case, and macOS isn't a great host for X11 clients in general. It makes the UI very slow and not suitable for a system that targets a realtime motion system. Being able to separate the UI from the "engine" is a key feature for me. This draws me to options like CNC.js, FabMo, and Chilipeppr. I'm ambivalent about Chilipepper. Some good ideas, but so javascript-centric that it's not all that fun if you're not already in that world. CNC.js has some of the same downside, but not as bad and I find it a lot more usable. FabMo seems to be a great idea, but too focused on ShopBot and/or too little interest in other platforms to seed much of a non-ShopBot community. I am sure that UGS is pretty awesome for the GRBL world, but I am committed to G2, so for now, UGS is not compelling enough for me to want to use it given that it requires an attached computer, Pi or laptop, for the UI. Maybe when more of the basics are functional, like homing, WCS configuration, etc. I'd like to play more with the visualizer and other UI elements at that time. |
Thanks for giving this a try @scotthz, and you are right that running UGS like this is maybe not the primary use case. I'll keep working on the other base functions. |
@scotthz Cool, thanks for giving it a go too. 😄 Sounds like for the "remote X" use case the hmmm... G-Code sending bit of UGS would need to be decoupled from the UI updating bit, to make sure the sending doesn't block. No idea personally how much effort that would take. 😄 With the various G-Code senders, so far I've had good results with CNCjs (mostly "just works" for me), haven't yet tried FabMo (sounds complicated to set up), and I've never had the Chilipeppr UI actually load properly. With Chilipeppr, my guess is it's because it apparently relies on Google services, and I use adblockers (UBlock Origin) which I'm not willing to make exceptions for. Also, my use case is mainly targeted to doing things "off line", and Chilipeppr seems to be targeted for online only use. Not my cup of tea. 🙄 UGS looks like it'd be useful as-is already for people who don't need homing (eg no limit switches installed on their machine). For me, I think I'll continue to try it out and see how it develops over time, and also keep using CNCjs as well. 😄 |
Thanks for the feedback. The remote use case definitely isn’t a supported one. That said there is a web pendant that can be launched for remote access without sending the entire application. The “classic” UI is much lighter than the platform and may work better with that sort of configuration. @scotthz Regarding the missing features, UGS has a controller abstraction layer so it is mainly a matter of implementing the missing features according to TinyG requirements. No feature in UGS is GRBL-Specific. Assuming the core TinyG operations work and people are interested, the remaining features are largely a matter of filling in the blanks. This includes the advanced widgest like probing and the configuration wizard. |
For the filling in the blanks... does that mean things like the homing cycle are just a matter of making a PR with (say) something like:
... in the right place? |
Exactly
…On Tue, Jul 10, 2018 at 8:51 AM Justin Clift ***@***.***> wrote:
For the filling in the blanks... does that mean things like the homing
cycle are just a matter of making a PR with (say) something like?
sendCommandImmediately(new GcodeCommand("G28.2 Z0 X0 Y0"));
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1071 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHqRZ9gyN7F1t41_uoRodiF-FDUezjCks5uFKNIgaJpZM4U_zxn>
.
|
Cool #1076 created. Completely untested. The G-Code itself is correct for XYZ homing though. 😉 |
I didn't want to add stuff that I couldn't properly try out for my self but I made the exact same code change (+ one extra line) that you made but got this error while trying it out and i didn't have time to look into it:
|
Ahhh, that just means your g2core settings aren't yet set up correctly. It's saying that it'd really like to do the homing thing, but isn't sure which digital inputs are used for each of your limit switches. When you have a few minutes spare to look again, you're welcome to ping me and I can walk you through it if that helps. 😄 |
As a thought, this might be a useful reference to look at: They're the settings I use for my Shapeoko 3, which has X, Y, and Z limit switches. Note the |
Thanks! I'm currently working on getting the gcode states working, such as which coordinate systems is in use. And I couldn't get the "plan" attribute to be returned. Once I activated it using |
Excellent. 😄 |
Just gave the most recent nightly builds (both Classic and Platform) a go - with the recently merged homing code - on my 3-axis g2core converted Shapeoko 3. Works perfectly (for me). Excellent. 😄 Haven't tried cutting anything yet (it's too late at night, neighbours would be very unhappy), but probably will tomorrow. Not expecting any weirdness, but if I do hit anything I'll file an appropriate bug report. 😄 |
Ahhh, just found one weirdness. Not sure if it's TinyG specific, though guessing it might be. With the "UGS Platform" nightly, in the "State" tab there is a drop down for Units. I clicked on it (just to see what happens) and chose "Inches (G20)" - Note, I'm a mm guy, I was just experimenting. The UI seems to hmm... get stuck? "Get stuck" is probably not the correct term. In the "Controller State (DRO)" tab the status changes from "IDLE" to "RUN", and never leaves it. The fields in the State tab are greyed out meanwhile (eg permanently). It's possible to click the Stop button in the toolbar, which seems to cancel the change properly. Looking in the Console tab, a Should I file a separate issue for this? |
No you don't need to file a report. A fix is coming, it's just waiting on a code review. 😃 |
Ahhh, and now I notice #1078 exists. Cool. 😄 |
Your new jogging plugin seems pretty good, and an improvement over the existing default one. Is there any chance of getting that enabled by default for new users? Preferably with the separate XY/Z step enabled too, but that step thing might just be me. Not sure if people using GRBL commonly keep the step sizes the same or not. 😄 |
And now I found a bug in it. Can't seem to change the feed rate from 10k by typing a new number in. eg Typing 5000 then pressing enter ... the number goes straight back to 10,000. Doing the same in the old controller works. Should I create a new Issue for this? |
The last piece to make a tinyg/g2core controller operable in UGS is in place. It now provides a small gui for handling firmware settings. There are still empty method implementations in |
Excellent @breiler! I'll give the new nightly build tomorrow a go then too, and report success/failure bits as appropriate. 😄 |
Closing this, start a new issue if problems occur. |
Feature request
Improve the support for TinyG and g2core by adding or improve the support for:
The text was updated successfully, but these errors were encountered: