I’d start with this thread - gSender from Sienci Labs - CNCjs based sender - #4 by neilferreri
Neil initially wrote the Macros for CNCjs, if I recall, they were posted on his GitHub. There should be a link in the above thread, or a link to the relevant file. Copy and paste. Make sure to set the parameters.
An aside - Gsender has a great keyboard mapping menu, check it out.
Everything should work as you anticipate. There is option for spindle control in menu. Test everything carefully initially. Aside from a few little quirks, it’s worked fine for me.