Forum Replies Created
-
AuthorPosts
-
greyhound716Member
Hi everyone. I’m resurfacing after a long gap with some renewed interest in TinyG and this app. I’m in the process of retrofitting one of the Chinese 40/60W laser cutters with TinyG. So far I’ve got most of the basics worked out, and just need to get an optoisolator set up to control the laser itself from the spindle controls.
In any event, I’m probably going to brush off the code for this app, and wanted to get some feedback on if it’s still of use, what problems people are facing, etc. I know we had some challenges about how to effectively buffer the input to the TinyG, and with changes in hardware on both Android and TinyG there were some issues with connectivity.
Matt
greyhound716MemberHey folks. A new job means that I’m not really active with this app anymore. That said, I would like to keep it functioning or possibly find someone else who is willing to maintain it.
I just tested 412.01 and the last version of the app from the google play store and it’s working fine for me on an ASUS Transformer TF300T running 4.2.1. If you are having problems, please email me at stock@bexkat.com with your tablet type, OS version, and the app debug log along with a description of the problem. Debugging can be enabled under “Settings” and generates a “tinyg-###.txt” file on your tablet’s storage.
If I can reproduce the problem I will update the code, but if anyone is interested in taking over and making enhancements, let me know.
Matt
greyhound716MemberJust a quick update for everyone. New version has been out on Google Play for about a week, major fixes and improvements since the last release. I need to put together a new demo video soon. In the meantime, try out the app and let me know what you think.
Thanks,
-Mattgreyhound716MemberHi Mac,
I’m in the middle of another project right now, but I may have time to look at the crash stuff and the easier changes this week. If you send me a private note at stock@bexkat.com, I’ll send you a test apk.
-Mattgreyhound716MemberHi,
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.
-Mattgreyhound716MemberIt’s on the play store. It might take a little while to push, but it should be there by now if you look for updates or load it manually.
-Mattgreyhound716MemberJust 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.
-Mattgreyhound716MemberAlden,
What’s the difference between g28.3 and g92? I’ve been using g92 to set the origin, but it seems like you’re advising that g28.3 be used.
-Mattgreyhound716MemberI’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.
-Mattgreyhound716MemberYeah, 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.
Let me know if anything else you find.
-Mattgreyhound716MemberOh, I realize we’re thinking about the use of this “text box” differently. You’re thinking of it as more like a mode – you’re either in raw text mode or not, and I’m thinking of it as a line by line operation, without any responses from TinyG. In other words, you type in “g0x-40y33” and hit send/enter, but the GUI is what gets and parses all of the responses. The text box is cleared of your initial input, and you are free to type something else in or press a different control button.
Both styles are valid, I just wanted to avoid all of the terminal-like issues you mentioned by keeping it simple.
Anyone have an opinion on what they’d rather see?
-Mattgreyhound716MemberI realize you don’t have to, but if you DO wrap it in JSON explicitly, most of those text mode/JSON mode issues and error parsing things go away, don’t they? I want to rely on the existing JSON parser for the UI to figure out SR information, error codes, etc. If sending raw gcode text doesn’t kick it out of JSON mode, I guess I’m fine either way.
-Mattgreyhound716MemberOh, regarding #7… I can easily add the capability, but I wonder if it should only be available if the system is configured for limit switches. Alden, do you think I could query the limit switch configuration to determine that? Or are the default values have them “enabled?”
-Mattgreyhound716MemberThese are great suggestions.
I will look at adding #1-6. I don’t have limit switches on my current test setup (I’m thinking about replacing it, but no time to design), but I can implement the functionality for you to try out.
#8 I was planning to do as well, simply because I’ve had to interact with the device on occasion and I didn’t have a button that I could press. To address some of Alden’s concerns, I was looking to use that text box as pure gcode input – it would be wrapped JSON and sent. I probably would not have it be used for config changes, at least without more input checking.
-Mattgreyhound716MemberThat interface should work fine. In fact, I need to pick on up myself to play with…
If I recall correctly (I need to pull up the app and start cleaning things up tonight), there is a “zero” button that sets the current position to the origin, and the “home” button does a g0x0y0z0 move. What I haven’t implemented/tested is the homing operation using the limit switches from an unknown start state.
It’s funny that you say your CNC guy wants to use the software… I’m working on some commercial projects to potentially do just that. The interfacing software I’m putting together has the potential to work for more than just TinyG.
When you get your hardware, shoot me an email. In the meantime I’ll work on some code cleanup.
-Matt -
AuthorPosts