I'm willing to rethink the handling of limit switches. I implemented what a machinist friend of mine told me is the way he's used to seeing it work. So I'm going to keep this issue open. The issue is ensuring that there's no loss of position and therefore error introduced. On the Haas they have control of the entire machine and can guarantee this. On a random CNC setup - perhaps not so much. The reason for resetting is to force a homing cycle. Not very efficient, but the safest way if you are not sure if position was maintained. Perhaps this can be an option.
As for the Haas stopping ay G0x157 - that's a soft limit and it's something I would like to install.
Matt, one more suggestion...
it would be nice too if the axis jog buttons weren't fixed to 400 and 100 velocity and were based on your "velocity max" setting (where fast is full velocity setting and slow is 1/2 velocity max)
and yes I wasn't thinking of a terminal emulator.. Just the ability to issue G code commands 1 line at a time.. Matt already does an excellent job of being able to setup the motor/axis configs right in the app.
Matt,
When trying to load a gcode file I get a "No filemanager is installed" error? But I do have one installed.
I tried to type the location in and get a "Invalid Filename" error (file is tinygxtest.txt also tried naming it tinygtest.gcode)
Yeah, those settings were eventually going to be configuration options, but I didn't add that part in yet. I'll take a look at your "automatic" settings and maybe make that the default.
For the file manager, it's possible the one you have installed doesn't support the "standard" file manager intent. In other words, my app just shouts out "who can get me a file?" and if there's no results, it throws that error.
I've used the one from openintents.org and it works ok. I may end up writing something myself, but I'm trying to leverage the whole Android framework where I can. If you can't find the one I'm talking about, I'll find the URL and post it tonight.
Glad you got the settings controls working. I've had some odd behavior I'm still trying to track down. If you change too many values on a particular axis/motor at once, it seems to get confused. You can just exit out of the app and restart and it's fine, but it's annoying. For the filename, you probably need to supply the whole path, and I don't know what that is offhand at an OS level.
Yeah there is something goofy with the settings..
Now I put in (for example) 100 for max velocity and it seems to change everything to metric after you save and come back to that screen. its changing everything..jerk,etc...
(probably something to do with my file being a G20 and I never set tinyg to inches or something..)
I need to write this up for the wiki. In the mean time, Here's how Units work.
- All units are in MM in the internal system.
- They are accepted and reported in either Inches or MM units depending on what units are set in GCODE. Issuing G20 sets Inches mode, G21 sets MM mode.
- When you enter new settings they must therefore be entered in the Units mode the system is set to. So you need to be sure you know what mode you are in. Best, set it before you change any configs.
I've started to make the needed changes to the app. I'm going to try to link in a GUI screenshot. I've also replaced the file picker intent with a library I can bundle with the app. So that should work better.
I have been MOSTLY ignoring the units thus far, but I'm going to need to change that soon. All of my movement commands are in mm, and it assumes that's ok when it sends updates and instructions.
I'll start to code the underlying stuff soon, maybe this weekend.
-Matt
Just pushed out a new version. Give it a try with some of the new features if you want. The spindle controls are fixed right now (CW, 200), but I'll add controls for those later. I also need to read the spindle and coolant state and update the button state on startup, etc.
-Matt
working good so far (excellent actually).. so happy
haven't tried G28.2 or Spindle but all other buttons work just fine.
I have had it crash a few times when trying to connect (not sure if you want me to go through the report process for that and the console has "frozen" on me 2 times now when running a file. I had to kill TinyG Console to get it back
Some more suggestions/issues..
1-The Start/stop button on the file tab doesn't automatically change back to a "start" button once the gcode file has been completely run.. stays at stop till you press it again. Would be nice if it did..
2-would be cool to have it display the current or next line (actually showing the code on that line) of the gcode in the graphics window so you can see where you are at.
3-Would be nice to have a "Home" button back on the jog screen. Frankly I'd prefer them to say "Go Home" and "Homing" where "Go Home" just takes all the axes back to 0 and "Homing" actually performs the homing process.
4-I'd like to see more options or something else for the "Jog Steps" like maybe 5 buttons instead of the annoying slider.. Like a .001 button, a .010 button, a .100 button, a 1.000 button, and a 10.000 (the " mark could be removed so it works with english/metric units) or heck even a text area where you could enter whatever you want.. but I like buttons better.
5-A feed hold button would be cool on the File tab.
I'm sure I will have more.. I'd love to see this app look function just like a real CNC console with tons of buttons,etc..
Glad to hear it's working ok. Crash reporter would probably help, since it will give me the needed stack info. It certainly shouldn't freeze.
#1 is a bug, and I just haven't tracked it down, but...
#2 is something I want to do, but I need to think about how. The buffering model I'm using between the UI and the hardware "drivers" needs a better feedback loop. Right now it's based on the data being send into the buffer. Hope to have something as part of my next code push, but I don't know when that will be.
#3, #4 are easy, and can certainly do that. I agree about the slider - it just doesn't work.
#5 now that feed hold seems to be working a bit better, I should be able to address something like this. If I fix the reporting state, having a "pause/feed hold" button as part of the status dialog would be ideal.
-Matt
I've been having LOTS of crashes with the app. Mostly when connecting/disconnecting. I have been submitting a few of the crash reports.
(java unhandled exceptions or something like that)
Also the G28.2 button doesn't seem to work (I only have X and Y axis on my machine) and when I press the button it shows a "seek" in the mode section but nothing happens and the app becomes totally unresponsive to the point I have to restart my tablet for it to come back. Even stopping the app and clearing the cache doesn't bring it back.
But issuing a G28.2 x0y0 in the gcode command line works just fine.
As for bugs/additions #1, #4 and #5 from above would be a priority for me.
Heck for #1 just having a Start AND a Stop button would be fine if you can't workout the bug.. And of course addressing the connect/disconnect issues.
I'd also LOVE to have the ability to "lock out" the machine/axis tabs to prevent "users" from messing with the settings. (an admin password to allow/activate those tabs would be perfect or something like that)
This is being used as an assembly machine in a factory and I just think some level of "security" is a good idea.
I basically want my "users" to walk up to the machine, plug in their tablet to the USB, start the app, home the machine, load a file and run it..over and over again.