Home › Forums › TinyG › TinyG Support › GUI for TinyG controller
- This topic has 29 replies, 8 voices, and was last updated 10 years ago by cmcgrath5035.
-
AuthorPosts
-
March 9, 2012 at 9:21 am #1496jmnoethMember
Has anything been done with regard to building a controller for the TinyG? As I mentioned in another post (CNC build with TinyG), I’m thinking about building a controller based on a beagleboard (I originally looked at the pandaboard and raspberry pi, but, have since settled on the beagle). I am planning to interface the beagle with a touch screen (probably 10 inch or 25 cm). After having my MacBook covered with saw dust on more than one occasion, I want something that is a little more dust proof. Riley and Saci had mentioned that they were working on a controller, and didn’t want to re-invent the wheel, so to speak. I’ll probably be writing the code in Javafx, as it is supported by almost all major OS’s, which Riley pointed out.
March 10, 2012 at 8:39 pm #1497aldenMemberRiley has been making good progress on this. You and he should connect up about the JavaFX development.
March 11, 2012 at 3:28 pm #1498RileyKeymasterjmnoeth: I have been working away trying to get the ‘tgFX’ up and going. I have ran into a bit of a problem however. I am trying to get “flow control” working. There is a bug somewhere in the threading that is creating a race condition I am pretty sure.
If you want to sync up on what I have so far toss me an email
rileyporter at gmail dot com
Riley
March 14, 2012 at 11:44 am #1500ril3yKeymasterGUI Update:
The tgFX initial VERY VERY alpha push has been committed to the synthetos github.
Code:
https://github.com/synthetos/tgFXScreen Shot:
http://www.flickr.com/photos/rileyporter/6834982238/in/photostreamIts a netbeans project right now. It also requires the JavaFX2 runtime / sdk. It has ONLY been mildly tested on Windows as well. However it should work on Linux, OSX also.
If you are interested in helping on tgFX we welcome the help. Also, the .93 version of TinyG is a great improvement (for JSON support and LOTS of other stuff) much has changed. So this GUI will not work with your current version of TinyG (.92). Alden was going to be releasing a the .93 version today however he hit a few minor bugs he wants to fix first. I can get the BETA firmware out if you are interested in helping with coding tgFX.
The best way to get started working together on this is to join the Google group:
http://groups.google.com/group/devTinyGFrom here we can start to formalize requirements, feature requests, architecture etc.
Riley
March 14, 2012 at 1:41 pm #1501greyhound716MemberSounds cool. I’ve got a basic sketch of my UI for the Chumby written in perl, but it looks like we’re driving toward something similar. If I can get your stuff to run on the Chumby, I’d be happy to help with development.
-MattMarch 14, 2012 at 1:56 pm #1502ril3yKeymasterJavaFX 2 preview was released for Linux a few weeks back. The Serial lib is RXTX (same as arduino). So theres nothing really limiting the use of a chumby board. Other than resources. Again, nothing I have done will work on .92 version of the firmware. A firmware update is required. Which will be posted soon.
March 14, 2012 at 2:45 pm #1503aldenMemberThe 0.93 dependency is the JSON code in TinyG. All communications between the GUI and the board is in JSON. This opens up new possibilities such as simplified synchronization of objects between the GUI and the board, and simplified GUI programming (serialize / deserialize operations replace knotty little parsers)
March 14, 2012 at 3:11 pm #1504greyhound716MemberVery nice. I have a JSON parser for the status stuff, but I found it awkward to parse the output of ? to get the initialization state. Looking forward to testing out .93.
March 14, 2012 at 3:16 pm #1505aldenMemberHere’s the link to the JSON spec.
http://www.synthetos.com/wiki/index.php?title=Projects:TinyG-JSONIt’s pretty much identical to the command line but there are a few differences.
– JSON can deal with all axis or motor parameters in a single command as opposed to multiple round trips
– It can also treat the motor or axis as an object, as opposed to a collection of unrelated parameters (see the spec to see what I mean)
– You can configure the contents of status reports using JSON, you can’t in text mode.On the flip side:
– Text mode has displays for “groups of groups” – like all axes, JSON does not. You have to get each axis separately. This is because there’s really not enough memory for arbitrarily large JSON strings.March 15, 2012 at 9:17 am #1506ril3yKeymasterSo here is an updated video of tgFX drawing. Its VERY early still. It still has issues. Like so support for zooming / scaling (Meaning, this file was in MM and had a max travel range of say: 50 x 30 mm. But if you ran a file that was 5mm x 5mm (X and Y) then it would be very hard to see) and no ability to reset the view. Some other minor things too.
I am not exactly sure that I am drawing the “correct” JavaFX 2 way yet either. It seems like it should be more smooth.
March 15, 2012 at 9:22 am #1507ril3yKeymastergreyhound716,
For parsing ? is a pain. I would just issue a {“sr”:””} vs a ? and it will give you a JSON update.
You can also do a {“sys”:””} which gives you a JSON message for the “System”..
Want to get a motor specific setting list? {“1″:””} Could be 1234 any.Obviously read more on what Alden posted. But .93 is a significant upgrade (in many spots also) to the ability to talk to JSON model.
ril3y
March 15, 2012 at 6:26 pm #1508greyhound716MemberGreat, I wasn’t aware of the JSON format commands and queries – I thought it was only for the automatic status data. I’m going to modify what I’ve already done to use JSON instead. Assuming most of this is .93, I’ll wait to see what’s there.
In the meantime, I’m looking at javaFX for Chumby. Unfortunately, it is ARM v5 based. There’s a plain vanilla JVM available, but it’s unclear to me right now if I can get the javaFX bits to work.
March 15, 2012 at 10:31 pm #1509RileyKeymastergreyhound,
Perhaps you still can use this. Kinda.. I did a SocketMonitor class so that I could write and android app. Connect to tgFX via a socket and get “updates” (think hand held JOG / DRO) via wifi.
See that.
https://github.com/synthetos/tgFX/blob/master/src/tgfx/external/SocketMonitor.javaIts pretty incomplete (as is tgFX in general). But you could connect to tgFX via a socket and then do whatever you want. You get status updates too. I know this method requires a “server” so to speak. Just thinking out loud.
Riley
October 30, 2014 at 10:36 pm #6953nikkyMemberHello,
I am looking forward to build small Gcode sender(scripting in python) for tinyg.I am a learner.I want to ask is there any chance of getting bootloader corrupt or any damage to it.Please if any one can guide me what care we should take while communicating tinyg serially. Forgive me if i ask something wrong.But i am new one so plz guide me.
Thanx..October 31, 2014 at 10:27 am #6954cmcgrath5035Moderatornikky
You are adding on to a VERY OLD thread (last post over 2 years ago).
I suggest you start a new thread, as all previous items in this thread are very out of date and may/may not be accurate in the current tinyG environment, FW 438.02.And be a bit more precise about what you are wanting to do; will your Gcode sender use USB for serial communications, or hardwire to internal serial port?
Have you reviewed all the Wiki Items on Gcode communications with tinyG?
As a general statement, the tinyG bootloader should be protected from improper serial commands, but sometimes bad things can happen when you make hardwire connections.
-
AuthorPosts
- You must be logged in to reply to this topic.