GUI for TinyG controller page 2

From the original Synthetos forum (2011–2025)

Started by saci on in TinyG Support. 29 replies, last activity Oct 31, 2014.

Staff #

Riley has been making good progress on this. You and he should connect up about the JavaFX development.

Staff #

jmnoeth: 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

[email redacted]

Riley

Staff #

GUI Update:

The tgFX initial VERY VERY alpha push has been committed to the synthetos github.

Code:

https://github.com/synthetos/tgFX

Screen Shot:

http://www.flickr.com/photos/rileyporter/6834982238/in/photostream

Its 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/devTinyG

From here we can start to formalize requirements, feature requests, architecture etc.

Riley

#

Sounds 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.

-Matt

Staff #

JavaFX 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.

Staff #

The 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)

#

Very 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.

Staff #

Here's the link to the JSON spec.

http://www.synthetos.com/wiki/index.php?title=Projects:TinyG-JSON

It'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.

Staff #

So 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.

http://www.youtube.com/watch?v=dhBB3QcmHOg&list=UUdvF-S73tfBEOOaUxzb8ljw&index=1&feature=plcp

Staff #

greyhound716,

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

#

Great, 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.

Staff #

greyhound,

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.java

Its 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

#

Hello,
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..

Staff #

nikky
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.

http://synthetos.github.io/

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.

This topic is from the original forum (October 2014). Your reply starts a new discussion linked to it.

Reply

Different problem? Ask a new question

Back to TinyG Support or latest activity.