Today's question:  I used the Circle - Diamond - Square pattern built in to

Today’s question: I used the Circle - Diamond - Square pattern built in to ChiliPeppr. Curious about expected measurements vs actual. The pattern indicates it should be a 50mm square shape, but my calibers suggest it is 52.75 (I am happy that my X and Y are within .25mm). I used a 1/8" endmill … does that account for the extra space? The diamond (or internal square) comes to about 32.5mm. The circle seems to have a 47mm diameter.

The question: How do these figures compare with what they should be?

I really like this program, John! It’s leagues ahead of anything else I can find. The only thing that might be nice is a set of configuration pages such as tgfx. I just might decide to try my hand and build those. Later.

Kevin, we SORELY need a configuration widget. I would love it if the community worked one up. I’m busy on super advanced features like the Eagle BRD Import which will take CP even further eons beyond other software. If you are up for building a config widget, I’m sure plenty of folks would love to help give feedback.

Thanks John … I will see what I can do in my so-called free time … seems only fair. I would think such a feature would be best implemented as a new workspace, agreed? I could use a pointer to getting started in this environment.

In the mean time, any ideas on my question re accuracy?

I think if you just forked one of the existing widgets that closest matched what you want your widget to look like is a good starting point. You could watch the “TigerShark” video in my Youtube list to see how we did that one starting from scratch. Just mimic all the stuff we did, but make it be the “TinyG Config” widget instead of “TigerShark.” To test it out, you could make your own workspace, but once you’re happy with your widget I’ll just add it to the main workspace. I presume your widget will send the commands right to the TinyG and it will expect to read responses.

You’ll want to make ample use of 2 key pubsubs:

To send to TinyG any command like change the max feedrate on X:
chilipeppr.publish("/com-chilipeppr-widget-serialport/send", “$xfr=2000\n”);

Or to watch commands coming back and parse them:
var myCallback = function(json) {
var data = JSON.parse(json);
}
chilipeppr.subscribe("/com-chilipeppr-widget-serialport/recvline", this, myCallback);

Then all you have to do is create lots of forms and tabs in your widget and follow bootstrap’s conventions. Make ample use of http://getbootstrap.com. Also make ample use of jquery for reading/writing your values to the form elements in your widget.

As for your calibration, I think you’re right in that the diameter of your mill needs to be added to your measurements, but I think you’re on the right track with your analysis.

Thanks! I will look in to those resources.
The reason I was thinking it should be a separate workspace is that I think it needs a LARGE amount of screen real estate, yet is used only once (ish). Once the values are stored in the tinyg there’s not much need for this widget in the everyday workspace. Maybe I have the concept of workspace vs widget wrong?

Well, I see where you’re coming from, but one approach could be that you create your widget with no real UI other than a button. Check out the drag/drop widget. It’s just a tiny button. Or check out the flash-msg widget. It has no main UI, only popup dialogs.

Drag/Drop Widget
http://jsfiddle.net/chilipeppr/Z9F6G/

Flash Message
http://jsfiddle.net/chilipeppr/90698kax/

You’ll notice the Drag/Drop widget code does have a modal dialog box in it that only shows when you’re out of local storage space. Line 34 in the HTML of the JSFiddle. You could just mimic that modal dialog and make all your UI layout/tabs be in that modal. Then when somebody clicks your button (perhaps I just put it into the TinyG widget as a button by instantiating your widget) they get your popup modal. Your modal just does all the reading/writing of the configs. Then you’ve got yourself a really sexy widget that could be dropped into any workspace.

OK, I’ll try that, as long as the modal UI doesn’t interfere with the ability to send/receive on the serial port.

Modal UI’s in bootstrap (which is what i use) don’t stop any code from executing. Even if a modal is showing, like the one that pops up for a toolchange, allow all Javascript to keep executing. So you’re fine. All modals do is popup your UI and place a semi-transparent DIV over everything else in the browser so if you click off the modal it dismisses it.

Hey John,
Do you use a particular visual editor or are you a straight-code jockey type? UI isn’t my forte … I can create a passable UI, but need all the help I can get. I’ve been trying BootPly but the site keeps crashing and it hasn’t been letting me use the visual editor for anything other than deleting elements.
Also, do you prefer questions here? Or would an email conversation be better?
On a separate topic, I’ve tried to get the text msg on completion feature to work, but I never get the message. Any ideas why?

Hi Kevin, I just direct code it inside JSFiddle. I do borrow a ton of HTML from Bootstrap’s site. I would steal a lot of HTML from ChiliPeppr as it is today. Just find some HTML you like, like the Options dialog box for the Gcode widget, then right-click and do “inspect element” to use your browser’s DOM toools. Then cut/paste that HTML over to JSFiddle and build up your forms that way.

I think have this conversation publicly will help future folks who want to contribute.

On the texting, do you get the test text? You just don’t get the text at the end of your job?

Kevin, want to jump onto a Google Hangout right now? I’ll help get you started. I’m jlauer12@gmail.com