CNCjsの使い方、設定、CNCマシンにG-code送る方法

こんにちは。

まず前提として、CNCjsは様々な制御基板(ファームウェア)と接続しGコードを送信するソフトウェアです。ボタンを押すと該当機能のGコードを送信したり、NCプログラムを実行すると制御基板側へ1行ずつ逐次送信します。
そしてGコードの解釈は制御基板(ファームウェア)側に委ねられています。
ファームウェアによってサポートしているGコードが異なります。基本的なGコードしかサポートしていないファームウェア(grbl系)もあれば、独自のGコード、Mコードを非常に多く持っているファームウェア(RepRap Firmware等)もあります。

CNCjsでは様々なファームウェアをサポートとしていることから、ボタンによっては該当するGコードがなく、動作しないというものがいくつもあります。

サポートしているGコードについて調べたい場合は、以下のリンクを確認してみてください。
grbl系(CNC xPRO v5):【grbl】Gコード参考資料

機械座標側のZero Outのボタンを押すとG28.3が送られるようですが、残念ながらこれはgrbl等ではサポートされていません。(TinyGというファームウェアだとG28.3で機械座標の書き換えができるそうです)
そして、grbl系では自分でGコードを追加するということはできなかったはずです。(ソースコードを変更すれば可能ですが)

ワーク原点のセットの方はエラーはでないはずなので、今一度確認してみてください。押すとワーク座標が0となります。

これは制御基板側の設定でそうなっており、変えることができます。
ホーミングではスイッチが当たった位置を機械原点(0,0,0)とし、その後パラメータ$27で設定された距離だけスイッチから離れる動きをします。
おそらく$27=2.5と設定されているため-2.5mm移動し-2.5表記になっているのだと思います。

工具長補正はありますが、工具径補正はありません。
G40の工具径補正キャンセルのコマンドはありますが、これは一般的なCAMで最初にG40が出ることが多いためにサポートしているだけらしいので、補正の機能があるわけではないです。

残念ながらgrbl系では使用できません。
一応、grbl-esp32(CNC xPRO v5のファームウェア)ではSDカード内のNCプログラムを実行することができますが、Gコード・Mコードから指定することはできません。
ただ、パラメータ$SD/Runにファイルを指定すると、ファイルを実行できるようなのでNCプログラム中にパラメータを差し込んでおくと実行できるかもしれません。(未検証)

セットアップ時に決められた動きを行いたいという場合はCNCjsのマクロ機能を使うこともできます。