Touch Plate with GRBL 1.1

Using http://chilipeppr.com/jpadie with Shapeoko running GRBL 1.1f.

The Touch Plate widget does not load, clicking the button does nothing. I’m looking to set the Z zero at every tool change for a PCB.

Is this widget not supported anymore?

I know that it used to work with GRBL 0.9.

1 Like

It should be supported. Can you see if there are Javascript errors showing in your browser when you try to load it?

No errors or warnings shown with Ctrl+Shift+J in Chrome. Clicking Widgets>Touch Plate appears to do nothing. The menu closes and the button is not shown as being selected.

I have tried to run it with a few different browsers and on different computers.

Does the Touch Plate widget open/work for anyone?

Yes I was just using it tonight testing my Zmin input which I’m using for the touch plate.

For sure you are using http://chilipeppr.com/jpadie with GRBL 1.1?

The Touch Plate button does nothing for me.

Nope Im using the TinyG workspace. did you try just using the Gcode that the touch plate wizard spits out.

G21 G91 (Use mm and rel coords or incremental mode)
G38.2 Z-20 F50 (Starts the probing routine down 20mm @ 50 mm/sec)
G28.3 Z1.75 (Sets the Z offset to 1.75mm ie the thickness of the touch off plate)
G91 G0 Z2 (Backs you off 2mm in incremental mode)
G90 (sets you back to absolute mode)

The TinyG one works, but not the GRBL 1.1.

I might have to just do it with a macro.

How did you get on making a macro. Im working on the Super Touch Plate widget now so could help to make some changes it to make it work better with GRBL if needed. I dont have a GRBL to test it against but was wondering if the issue is associated with the GRBLs support of the G38.2 command and what the JSON server returns… the touch plate wizard is looking for the JSON message to be retunred after a G38.2 is sent.

{“P”:"/dev/ttyUSB0",“D”:"{“r”:{“prb”:{“e”:1,“x”:-3.894,“y”:0.000,“z”:0.000,“a”:0.000,“b”:0.000,“c”:0.000}},“f”:[1,0,0,8509]}\n"}

Your Super Touch Plate widget can watch all incoming serial port messages just like any other widget can monitor incoming serial port messages. What you do is subscribe to the incoming serial port messages by looking at the pubsub dialog box in the serial port widget for help.

If you subscribe by using the Javascript in your code or in a macro:
chilipeppr.subscribe("/com-chilipeppr-widget-serialport/recvline", this, callback);

var callback = function(data) {
console.log(“data:”, data);
var json = $.parseJSON(data.dataline);
// look for your feedback data here
};

This is the pubsub dialog I’m talking about:

1 Like

I never looked at using a macro to set the Z, I just did it manually.

Do you need me to test anything with GRBL 1.1 to get the Super Touch Plate widget working?

The problem with the Touch plate widget not doing anything still seems to persist. Also the button for the text message (that appears in the other older GRBL workspace) and the menu on the right of the GRBL Workspace area where the widgets button is located is also blank!

which workspace are you using?

http://chilipeppr.com/jpadie
for GRBL 1.1

Ok, the problem is that the old JSFiddle version of the Touch Plate widget is still in the code. I’m not sure that ever got ported to Github. JSFiddle keeps getting updated and some URL’s get broken along the way.

This is the method I see in JPadie’s code that tries to load Jarrett’s widget, so two other contributors code here. You could go try to port that JSFiddle to Github, which is akin to just moving files from JSFiddle to Github, then do a pull request to JPadie on Github.

showtouchPlate: function(callback) {
this.touchPlateDiv.removeClass(“hidden”);
this.touchPlateBtn.addClass(“active”);

                // see if instantiated already
                // if so, just activate
                if (this.touchPlateInstance != null) {
                    //this.gpioInstance.activateWidget();
                    if (callback) callback();
                }
                else {
                    // otherwise, dynamic load
                    var that = this;
                    chilipeppr.load(
                        "#com-chilipeppr-ws-touchplate",
                        "http://fiddle.jshell.net/jarret/kvab65ot/show/light/",
                        function() {
                            require(["inline:com-chilipeppr-widget-touchplate"], function(touchPlate) {
                                that.touchPlateInstance = touchPlate;
                                console.log("touchPlate instantiated. touchPlateInstance:", that.touchPlateInstance);
                                that.touchPlateInstance.init();
                                //eagleInstance.activateWidget();
                                if (callback) callback();
                            });
                        }
                    );
                }
                $(window).trigger('resize');
            },

Hi John,

thanks - unfortunately none of that makes sense to me, as I just started with ChiliPeppr a day ago. :slight_smile: still trying to understand how to edit and modify things, which is not easy for someone who’s not a coder!

Are you aware of workspaces that have solved this issue already, or do you think there’s a chance that this workspace could be fixed for all?

Thanks

Clemens

Yes, this bug should get fixed. The maintainer JPadie would be the best to do it, but not sure what kind of time he has on his hands.

1 Like

Fingers crossed… I still haven’t figured out how to edit a workspace.
Are there up to date instructions available anywhere?

Thanks

Clemens

Well, you edit code via Github so you use all the standard open source techniques like pull requests. If you are trying to edit the jpadie workspace, then you could make changes to this repo: https://github.com/jpadie/workspace-grbl1

image

looks like the problem is here, but dont know how to fix