Working through a few example existing widgets,

Working through a few example existing widgets, it appears that widget JS object need at the minimum the following properties:

  • id
  • implements : { “some-interface-but-probably-the-cnc-one”}
  • url
  • fiddleurl
  • name
  • desc
  • publish
  • subscribe
  • foreignPublish
  • foreignSubscribe

Am I missing something from this list? Am I missing a wiki page on HelloChilliPepprWidget? :slight_smile:

That sounds correct. Here’s a Youtube video of making a new widget. https://www.youtube.com/watch?v=W7G_veKyb_k

You don’t need implements unless you’re totally trying to mimic the TinyG or Grbl widget. If you’re just adding laser widgets you probably should just pick the widget that as closely matches the widget you’re trying to create and fork it. Then clear out all the HTML you don’t want. Clear out many of the methods that were particular to the other widget. You’ll likely want to keep things like init(), forkSetup(), maybe some of the settings methods keep, resizable(), showBody(), hideBody().

Very nice. I will watch the video. I am adding the following features : go scale and auto m5 on pause.
I notice that tinyg laser widget can send pulse to improve engraving quality. I need to figure out how to do the same on grbl.

My preliminary reading suggests that grblshield is out of pins for this task.