GUI for TinyG controller

Home Forums TinyG TinyG Support GUI for TinyG controller

Viewing 15 posts - 16 through 30 (of 30 total)
  • Author
    Posts
  • #1496
    jmnoeth
    Member

    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.

    #1497
    alden
    Member

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

    #1498
    Riley
    Keymaster

    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

    rileyporter at gmail dot com

    Riley

    #1500
    ril3y
    Keymaster

    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

    #1501
    greyhound716
    Member

    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

    #1502
    ril3y
    Keymaster

    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.

    #1503
    alden
    Member

    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)

    #1504
    greyhound716
    Member

    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.

    #1505
    alden
    Member

    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.

    #1506
    ril3y
    Keymaster

    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.

    #1507
    ril3y
    Keymaster

    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

    #1508
    greyhound716
    Member

    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.

    #1509
    Riley
    Keymaster

    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

    #6953
    nikky
    Member

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

    #6954
    cmcgrath5035
    Moderator

    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.

    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.

Viewing 15 posts - 16 through 30 (of 30 total)
  • You must be logged in to reply to this topic.