The "Configure TinyG" widget (v0.7) is giving me problems

The “Configure TinyG” widget (v0.7) is giving me problems. When I try to change the Y axis settings, for example to set the max velocity to 700, the correct command appears in the Serial Port Console - {“y”}: { …“vm”:700, …}} - but if I later read it back with {“y”:null}, the report contains the old setting, as if the change were ignored.

If I manually issue the Y change command as a single line from the Serial Port Console, it works correctly.

My best guess is that the widget is not doing flow control, but rather blasting the full multi-line settings block at full speed, and thus overflowing TinyG’s buffer.

Has anyone else had this problem?

(Using tinygg2 protocol on an Arduino Due, spjs running on a Raspberry Pi Zero W, chilipeppr tinyg workspace on a PC under Chrome)

Nope, the buffer overflow guess was wrong. The problem appears to be the inclusion of fields that this tinyg version does not understand, namely “sn”, “sv”, and “jd”. When any one of those is included in the “set” command, any fields thereafter are ignored.

And thus we see what often happens with open source software where many unrelated people work on different pieces in isolation, and migration compatibility is not a major consideration.

Okay, time to fork yet another widget.

Ah, it is a difference between TinyG and g2core. In addition to common variables, the former has “jd” (junction deviation), “sx” (switch max), and “sn” (switch min), while the latter has “hi” (homing input) and “hd” (homing direction).

I have experienced other weirdness when using CP to interface G2core $fb=100.26. Some of that may be related to G2core now using Line Mode protocol. I suggest you keep an eye on
If you plan to propose your fork for inclusion in the mainstream CP (not just your local version), be aware that G2 builds with $fb<100.xx have different parameter sets.
My solution is to compile G2Core with my personal customized settings and then make incremental tweaks via the command line one at a time.