Welcome to Candle Discussions! #1
Replies: 2 comments
-
|
Hi, I also had fun with the XYZ probes : https://www.youtube.com/watch?v=74_t17TzNYs I would like to make plugins for CANDLE but I can't really find any documentation on this subject Do you have any information on the subject or any avenues that have been explored? |
Beta Was this translation helpful? Give feedback.
-
|
Hi David,
I looked at the plugin/javascript stuff in the original Denvi repo and decided to go in a different direction. This is all going from memory, so I could be off on a few details. The original plugin mechanism was built around Qt’s QtScript, or maybe QtQuick. While pretty easy to program (in theory), they bring in a very large amount of extra Qt modules and dependencies. My goal with Candle was to keep it fairly small and buildable with a cross toolchain for a Raspberry Pi or Chromebook. Adding all the JavaScript and extra scripting code was going in the wrong direction for me.
I did like the original macro-like stuff that was in the probe commands. But I also wanted it to be a bit more flexible with some simple calculations and variables. Initially, I thought it’d be nice to be compatible with cncjs’s macro language. I quickly realized that while it would be easy to do - there really aren’t many cncjs macros that would just work straight away. So it wasn’t all that useful either.
I did like cncjs’ RPN calculator (shop floor tablet extension I think). So I added that to Candle, it’s very convenient to enter the numbers, do a few calculations, jog the machine, etc. I went to too much effort to make an RPN language parser, with the intent of programming probe macros and things like that. In the end, it’s about 90% finished and I’ve had absolutely no time to even play with it. I’m also realizing that RPN in 2023 is not nearly as interesting as it was for me back in 1988. The scripts end up being very difficult to read, even if you know what they’re supposed to do.
As far as plug-ins for what you’re doing… I guess I’d say that if you’re able to code up the Arduino firmware for BLE on an ESP32, it shouldn’t take too much to just code what you want straight in C++ in Candle and forget any kind of plug-in mechanism.
The pendant interface I added works with the WHB04B, probably the 06B as well. The design should work well enough for any other pendant type you want. It’s a two level interface - high level abstraction interface to Candle with a lower level implementation that communicates with the dongle. It would be straightforward to support other pendant type controls directly.
Let’s say you want to get more sophisticated with your BLE interface. You could create a simple driver that receives data from the pendant and then calls whatever functions you want in Candle. Then you could also receive state (like axis position) and relay back to your device over BLE. That way it’s kind of a two way deal.
Still, if you like the idea of JavaScript plugins and extensions, I’d probably suggest looking at cncjs project. I like JS as a language, just the amount of overhead to run it was very difficult for me to come to terms with.
…-Eric
On Jan 14, 2024, at 12:35 PM, SMHOSY ***@***.***> wrote:
Hi,
my name is David aka SMHOSY, I am a passionate amateur
congratulations for your improvement of CANDLE
I recently made a bluetooth remote control for candle which I called "CANDLE-BLE", the principle is simple I use an ESP32 with the "keyboard-ble" library and I send the keyboard shortcuts to CANDLE
I detailed the whole project here : https://github.com/davi-domo/CANDLE-BLE and on my youtube channel : https://www.youtube.com/watch?v=rjfkb--jz7Q
I also had fun with the XYZ probes : https://www.youtube.com/watch?v=74_t17TzNYs
I would like to make plugins for CANDLE but I can't really find any documentation on this subject
Do you have any information on the subject or any avenues that have been explored?
best wishes
—
Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABOEJ5S66CGXEJQHHK2KLWTYOQQNNAVCNFSM6AAAAAAX4FSY6SVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DCMRVGUYDA>.
You are receiving this because you authored the thread.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
Beta Was this translation helpful? Give feedback.
All reactions