I am trying out edge build of G2core (Firmware Build 100.21) on an Arduino

I am trying out edge build of G2core (Firmware Build 100.21) on an Arduino Due and am experiencing something that may be on the Chilipeppr side of the equation. But not sure. I will continue testing if I can with UGS. I am able to connect fine. I am able to interact with tiny G fine. But after about 5 commands the buffer seems to get hung up and stops sending commands to tiny G. So 5 jogs in any direction on any axis, or 5 status queries, etc. hangs the Chilipeppr buffer. If I flush the queue I can send 5 more commands just fine. Tiny G Settins copied below if that helps. Let me know if I can do anything else in particular to troubleshoot. Many thanks.

$
{“ej”:""}
[fb] firmware build 100.21
[fbs] firmware build “100.21-dirty”
[fbc] firmware config “settings_makeoko2.h”
[fv] firmware version 0.99
[hp] hardware platform 3.00
[hv] hardware version 0.00
[id] g2core ID 0084-d639-1842-6bd
[jt] junction integrgation time 0.75
[ct] chordal tolerance 0.0100 mm
[sl] soft limit enable 1 [0=disable,1=enable]
[lim] limit switch enable 1 [0=disable,1=enable]
[saf] safety interlock enable 0 [0=disable,1=enable]
[m48e] overrides enabled 1 [0=disable,1=enable]
[mfoe] manual feed override enab 0 [0=disable,1=enable]
[mfo] manual feedrate override 1.000 [0.05 < mfo < 2.00]
[mtoe] manual traverse over enab 0 [0=disable,1=enable]
[mto] manual traverse override 1.000 [0.05 < mto < 1.00]
[mt] motor idle timeout 2.00 seconds
[spep] spindle enable polarity 1 [0=active_low,1=active_high]
[spdp] spindle direction polarity 0 [0=CW_low,1=CW_high]
[spph] spindle pause on hold 1 [0=no,1=pause_on_hold]
[spdw] spindle dwell time 1.0 seconds
[ssoe] spindle speed override ena 0 [0=disable,1=enable]
[sso] spindle speed override 1.000 [0.050 < sso < 2.000]
[cofp] coolant flood polarity 1 [0=low is ON,1=high is ON]
[comp] coolant mist polarity 1 [0=low is ON,1=high is ON]
[coph] coolant pause on hold 0 [0=no,1=pause_on_hold]
[tv] text verbosity 1 [0=silent,1=verbose]
[ej] enable json mode 0 [0=text,1=JSON,2=auto]
[jv] json verbosity 2 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[qv] queue report verbosity 2 [0=off,1=single,2=triple]
[sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
[si] status interval 250 ms
[gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode 1 [0=G20,1=G21]
[gco] default gcode coord system 1 [1-6 (G54-G59)]
[gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
g2core[mm] ok>

Sounds like you’re not getting any r:{} responses from TinyG. Can you verify? Turn off funnel icon in serial port console. Also, are you sure you’re connecting with TinyG or TinyG G2 buffer selected?

Yeah. I’ll check that out. I am trying this both on Ubuntu and Raspbian. What does Chilipeppr expect in the way of flow control settings? I am running this on the tinyg g2 buffer.

This is what I am seeing with filter off:

?
{“ej”:""}
Line number: 0
X position: 0.000 mm
Y position: 0.000 mm
Z position: 0.000 mm
g2core[mm] ok>
G91 G0 Z-10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -3.623 mm
Z position: -9.890 mm
qr:48, qi:0, qo:1
Z position: -10.000 mm
G91 G0 Z10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -6.377 mm
Z position: -0.110 mm
qr:48, qi:0, qo:1
Z position: 0.000 mm
G91 G0 Z-10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -3.623 mm
Z position: -9.890 mm
qr:48, qi:0, qo:1
Z position: -10.000 mm
G91 G0 Z10
G90
G91 G0 Z-10
G90
G91 G0 Z10
G90
G91 G0 Z-10
G90
G91 G0 Z10
G90

And after buffer cleared and filter back on. Looks the same. I used to get tons more info with the filter off.:

?
{“ej”:""}
Line number: 0
X position: 0.000 mm
Y position: 0.000 mm
Z position: -10.000 mm
g2core[mm] ok>
G91 G0 Z10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -6.377 mm
Z position: -0.110 mm
qr:48, qi:0, qo:1
Z position: 0.000 mm
G91 G0 Z-10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -3.623 mm
Z position: -9.890 mm
qr:48, qi:0, qo:1
Z position: -10.000 mm
G91 G0 Z10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -6.377 mm
Z position: -0.110 mm
qr:48, qi:0, qo:1
Z position: 0.000 mm
G91 G0 Z-10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -3.623 mm
Z position: -9.890 mm
qr:48, qi:0, qo:1
Z position: -10.000 mm
G91 G0 Z10
G90
g2core[mm] ok>
qr:47, qi:1, qo:0
g2core[mm] ok>
Z position: -6.377 mm
Z position: -0.110 mm
qr:48, qi:0, qo:1
Z position: 0.000 mm
G91 G0 Z-10
G90
G91 G0 Z-10
G90

It expects json mode and you are in text mode, so won’t work. Chilipeppr sends in the command to enter json mode at start so not sure why you aren’t getting into that mode. Did you set a forced text mode setting?

@Alden_Hart ​ any ideas?

Well, using text mode setting in my settings file. Which I think I had set in prior firmware. Will check it out. Does Chilipeppr also wants Xon flow control?

OK. That’s better. JSON set as Verbose. Many thanks.

Yes. Awesome. Everything tested so far is working as it should now. Thanks again.

So, to confirm my old settings I hooked up the Due board I pulled from my build and checked firmware version and settings. I was running pretty old firmware. G2 83.09. In that firmware I did have text enabled over json, with verbose text settings rather than json. Details below. This all worked fine. I had to force Json enabled on the most recent firmware to get it to work.

[fb] firmware build 83.09
[fbs] firmware build " 083.09-87-g8684"
[fv] firmware version 0.98
[cv] configuration version 7.00
[hp] hardware platform 3.00
[hv] hardware version 0.00
[id] TinyG ID 0213-2325-7333
[ja] junction aggression 0.25
[ct] chordal tolerance 0.0100 mm
[sl] soft limit enable 1 [0=disable,1=enable]
[lim] limit switch enable 1 [0=disable,1=enable]
[saf] safety interlock enable 0 [0=disable,1=enable]
[mt] motor idle timeout 2.00 seconds
[m48e] overrides enabled 1 [0=disable,1=enable]
[mfoe] manual feed override enab 0 [0=disable,1=enable]
[mfo] manual feedrate override 1.000 [0.05 < mfo < 2.00]
[spep] spindle enable polarity 1 [0=active_low,1=active_high]
[spdp] spindle direction polarity 0 [0=CW_low,1=CW_high]
[spph] spindle pause on hold 1 [0=no,1=pause_on_hold]
[spdw] spindle dwell time 1.0 seconds
[cofp] coolant flood polarity 1 [0=low is ON,1=high is ON]
[comp] coolant mist polarity 1 [0=low is ON,1=high is ON]
[coph] coolant pause on hold 0 [0=no,1=pause_on_hold]
[tv] text verbosity 1 [0=silent,1=verbose]
[ej] enable json mode 0 [0=text,1=JSON]
[jv] json verbosity 2 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[js] json serialize style 1 [0=relaxed,1=strict]
[qv] queue report verbosity 2 [0=off,1=single,2=triple]
[sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
[si] status interval 250 ms
[gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode 1 [0=G20,1=G21]
[gco] default gcode coord system 1 [1-6 (G54-G59)]
[gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
[1ma] m1 map to axis 0 [0=X,1=Y,2=Z…]
[1sa] m1 step angle 1.800 deg
[1tr] m1 travel per revolution 40.6400 mm …etc, etc.

@Matthew_Gilbride , I have also been playing with g2core 100.21 from ChiliPeppr. Movements seem to be going fine, only no status information is visible in the right center widget. Do you have the same experience? Any suggestions how to fix that?

I think there are some uodates in edge that may not be accounted for in CP. If you enter an SR report line in the CP console using the syntax detailed on the g2core wiki under status reports you can get status updates after ? Command. But I am having issues getting defaults set up in g2core settings to actuall report and get real time updates in CP.

@Alden_Hart ​ any way for you to set json as default and/ or warn in settings file to not override to text mode? This seems to be common problem that could help folks not have rough start

Good suggestion.

In my setup, I did use json communication, but still no status updates were received. The positions were correctly received though.

Same here.

Menno

Back in front of my setup. I am getting status updates in the CP gui. I did a few tests and they are working fine in real time. The DRO did not update to current coordinates when I logged in. I had to wiggle each axis to get that to update. Did not run a program to test further. If you still have problems maybe post a picture.

missing/deleted image from Google+

After some further investigation, it seems the g2core status reports are not correctly set for some reason. My settings file has:

#define STATUS_REPORT_DEFAULTS “line”,“posx”,“posy”,“posz”,“bcr”,“feed”,“vel”,“momo”,“stat”

Checking in g2core however shows:
$sr
{“r”:{“sr”:{“line”:0,“posx”:0,“posy”:0,“posz”:0}},“f”:[1,0,4]}

So the status report does not contain the status, feed, velocity and motion mode even though it was set in the settings file. Strange…now trying to find out why this happens.

OK, the problem seemed to be caused by the “bcr” status report, which does not exist (anymore). I copied and adjusted my settings from settings_shapeoko2.txt, which has this line. settings_default.h seems ok.