This is a summary of several tests and experiments with my ShapeOko, using tinyG as the motion controller and various software tools, including tgFX, on a Linux machine (openSUSE 13.1/KDE)
For a few weeks now I have been testing with tgFX build 3009, on both Linux and Win7_64. I am reasonably comfortable that the tgFX performance is the same on both so I am now concentrating my work on Linux. For a "how-to-load-Linux", see this post:
and this post
https://www.synthetos.com/topics/tgfx-linux-experimental/#post-5548
After I bricked my tinyGv7 trying to update the FW, Riley reloaded the boot loader and I successfully updated the FW to Edge FW 0.97 build 412.01. I used avrdude on Linux. The config parameters I am running with are in
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/2014-03-26_19.33.00-tinyg.conf
Another round of tests on my two favorite est sets of GCode, Calibration in
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/ShapeOko_Calibration_Pattern_01b_cjm4.nc
and Dash in
I saw no significant improvement in my two problem areas (one on each)
Scan of both cut on same material :
Note - this scan is a good final run, the highlighted areas have been problematic in the past.
[image: Calibration plus Dash run_v1editsm.jpg, no longer available]
After some additional testing, I have settled on the following workflow for the time being, avoiding tgFX as a GCode sender as it seems to be the problem for me.
All this is on Linux(openSUSE)
Step 1. My designs are created using QCADCAM ver 3.4.6. This package, at a reasonable fee, includes a GCode generator which I have tweaked to comment the GCode and insert Spindle Control. ver 3.4.6 also has a working CAM simulator if you like that sort of thing.
Step 2. I have the PuTTY package installed, which provides a GUI start-up for console session as well as plink, used below for sending GCode (see below). I use either putty or tgFX to set and review config parameters.
Step 3. To archive the configs, I either use the putty log files to capture the $$ dump, but have also implemented a Python config grabber, discussed in this link:
https://groups.google.com/forum/?hl=en&fromgroups=#!topic/devtinyg/2tp6cSC943E
Step 4. I use tgFX jogging and command line to set my (0,0) locations as well as my Z=0 position. I then manually reboot the tinyG(boot=1 command not working from tinyG). tgFX automatically disconnects on reboot, I leave it disconnected but still running.
Step 5. In a command window (konsole), I run a script "CNC_run"
#!/bin/bash
now=$(date +"%Y-%m-%d.%H.%M")
echo "Processing file.nc starting Timestamp $now "
cat file.nc |plink -serial /dev/ttyUSB0 -sercfg 115200,8,n,1,R | tee "$now-file".log
or here at
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/CNC_run
This script sends the GCode, logs all the return messages to a dated log file as well as on screen (using | tee). A typical log file is found here at
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/2014-03-29.14.37-file_calibration.log
Note that I create a link from the GCode I want to run to file.nc, reduces complex typing.
Step 5. Ignore the machine for a while, spindle now shuts itself off.
Step 6. Enjoy the results. For the first time ever I have clean runs of both; no squashed 'D's on the dash and the diagonal box on the calibration pattern is good!
Large scans of the results are here at
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/Dash%20run_v1.jpg
and at
https://dl.dropboxusercontent.com/u/50261731/ShapeOko_Tests/Calibration%20Pattern%20run_v1.jpg
I'll continue to play with tgFX as it evolves; the above is less complex than it seems and the logs generated along the way are actually more useful than the (very small) on-screen window.
Whew!
Enjoy