といっても今回は、全面的に他力本願...(-_-;)
マーティーは、前回修得したビルドとデプロイするのがやっとです。
GRBL 1.1fでは、Overriding機能が追加され
このスライドバーで、ほぼリアルタイムにFeedやSpindleを変えることができます。
ミルがヤバそうな時など即座にFeedを下げたりでき、とても重宝しています。
が、マウスでのスライドバー操作なので、
マシンの切削状態を見ながら操作したいのに、PC画面を見てないと操作できません。
10%上げたいのに20%も30%も動くといけないので
数値欄に手入力することも、しばしばあります。
ということで
マーティーは、Overridingをコントロールしたいという意向だけで^^;
YY師が、全面的に作業してくださり、実現に至っております。
ありがとうございます。
その仕様は、
PCのFunction KeyでOverridingをコントロールするものであります。
指一本で操作できるし、こんな風に指を4本置けば
Feedの[-10%][-1%][+1%][+10%]を
マシンを睨みながらブラインド操作できるのです。
特にFeed可変は多用するので、これは、メチャクチャありがたいです。
キー操作だけなので、改造は、簡単そうなのですが
なにせマーティーは、C++なんてイジったことないので
ソースを見ても、C言語とは様相がかなり違い、さっぱりわかりません。Arduinoのmainをみるようには、追っていけないのです。
ソースファイルが沢山あるし、どのソースファイルかが分かっても
変数と命令が区別がつかない状態なのです。
これが「オブジェクト指向言語」なのか!!!
まだ言葉しか知らないマーティーであります(T_T)
なので製作過程はありません、いきなり、ソース搭載です^^;
元のfrmmain.cpp の28xx行目付近に追加されています。
"If(m_processingFile)":"もしGcode実行中だったら" だそうです。
変数と命令の区別がつかないのですが、
これだけあると、やっと規則性がわかるかな~
という程度のマーティーの今現在の知識であります(-_-;)
*****
if (m_processingFile) {
if (keyEvent->key() == Qt::Key_F1) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 10);
}
if (keyEvent->key() == Qt::Key_F2) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F3) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F4) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 10);
}
if (keyEvent->key() == Qt::Key_F6) {
ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F7) {
ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F9) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 10);
}
if (keyEvent->key() == Qt::Key_F10) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F11) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F12) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 10);
}
}
*****
これを前回のQt Creatorでビルド、デプロイすると
実行形式のファイルができあがります。
Qt Creatorでビルド、デプロイできるようになって嬉しいので
これだけは、自らやってみました!
今まで使っていたVer.1.1.7から「LICENSE」と「settings.ini」をコピペします。
早速、適当なGcodeを読み込んでミルをつけずにテストです。
画面は、変わりありません。
[Help]-[About]は、こうなっています。
「zCandle」と命名されております。
では、動画で!
マシンがちと暗いですが
動画を撮りながら操作できるってのが、素晴らしい~
この改造版Candle「zCandle」は、GitHubのここに掲載されています。
「LICENSE」と「settings.ini」は、今まで使っていたVer.1.1.7からコピペします。
但し、十分な確認をしているわけではありませんので、注意の上、ご使用ください。
お~っ!
これを書いている間にLinux版も追加されています。
マーティーは、まだLinuxマシンを持っていません(-_-;)
ちなみに現在のマーティーPCのスタート画面です。
Candleは、右から、V1.0.11、V1.1.7、zCandle V1.1.8.2を並べています。
さすがに、Candle V1.0.11は、使わなくなりました。
VERSION = 1.1.8
*****
実行形式の公式最新版は、Ver.1.1.7なのに、ソースは、Ver.1.1.8です。
何かこの辺は、末尾に+1する約束事でもあるのかな~?
ただ、このサイトには、なぜか
「Version 1.0 pre-release:」の文字が一番上の項目にあり、
Build requirements: Qt 5.7.0 with MinGW compiler
とありますが、Ver.1.1のことではないので要注意なのです。
ややこしいですが、Candle Ver.1.1の説明は、こっちなのです。
ただし、ここにあるソースは、Ver.1.0.12なのです。
要するに、ソースの置き場所が間違っているだけです。
で、ビルド、デプロイは、
Qt 5.4.2 with MinGW Compilerでやらないといけないのです。
Qt 5.7.1でやるとzCandle.exeも***.dllもやたらとファイルサイズがでかくなり
切削開始した途端、下の様にツールパスが消えてしまいます。
Qt 5.4.2では、サイズも動作も正常なファイルが生成されるのです。
それにしても、C++は、難しい~~~っ!
マーティーの頭は、「OUT OF MEMORY」であります(-_-;)
"If(m_processingFile)":"もしGcode実行中だったら" だそうです。
変数と命令の区別がつかないのですが、
これだけあると、やっと規則性がわかるかな~
という程度のマーティーの今現在の知識であります(-_-;)
*****
if (m_processingFile) {
if (keyEvent->key() == Qt::Key_F1) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 10);
}
if (keyEvent->key() == Qt::Key_F2) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F3) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F4) {
ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 10);
}
if (keyEvent->key() == Qt::Key_F6) {
ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F7) {
ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F9) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 10);
}
if (keyEvent->key() == Qt::Key_F10) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 1);
}
if (keyEvent->key() == Qt::Key_F11) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 1);
}
if (keyEvent->key() == Qt::Key_F12) {
ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 10);
}
}
*****
これを前回のQt Creatorでビルド、デプロイすると
実行形式のファイルができあがります。
Qt Creatorでビルド、デプロイできるようになって嬉しいので
これだけは、自らやってみました!
今まで使っていたVer.1.1.7から「LICENSE」と「settings.ini」をコピペします。
早速、適当なGcodeを読み込んでミルをつけずにテストです。
画面は、変わりありません。
[Help]-[About]は、こうなっています。
「zCandle」と命名されております。
では、動画で!
マシンがちと暗いですが
動画を撮りながら操作できるってのが、素晴らしい~
「LICENSE」と「settings.ini」は、今まで使っていたVer.1.1.7からコピペします。
但し、十分な確認をしているわけではありませんので、注意の上、ご使用ください。
お~っ!
これを書いている間にLinux版も追加されています。
マーティーは、まだLinuxマシンを持っていません(-_-;)
ちなみに現在のマーティーPCのスタート画面です。
Candleは、右から、V1.0.11、V1.1.7、zCandle V1.1.8.2を並べています。
さすがに、Candle V1.0.11は、使わなくなりました。
<補足>
ビルド&デプロイするQtのバージョンについての備忘録。
改造元のソースは、
ここから「Candle-grbl_1_1.zip」をダウンロードしたものです。
ソースの「candle.pro」には、
*****
*****
TARGET = Candle
TEMPLATE = appVERSION = 1.1.8
*****
実行形式の公式最新版は、Ver.1.1.7なのに、ソースは、Ver.1.1.8です。
何かこの辺は、末尾に+1する約束事でもあるのかな~?
ただ、このサイトには、なぜか
「Version 1.0 pre-release:」の文字が一番上の項目にあり、
Build requirements: Qt 5.7.0 with MinGW compiler
とありますが、Ver.1.1のことではないので要注意なのです。
ややこしいですが、Candle Ver.1.1の説明は、こっちなのです。
ただし、ここにあるソースは、Ver.1.0.12なのです。
要するに、ソースの置き場所が間違っているだけです。
で、ビルド、デプロイは、
Qt 5.4.2 with MinGW Compilerでやらないといけないのです。
Qt 5.7.1でやるとzCandle.exeも***.dllもやたらとファイルサイズがでかくなり
切削開始した途端、下の様にツールパスが消えてしまいます。
Qt 5.4.2では、サイズも動作も正常なファイルが生成されるのです。
それにしても、C++は、難しい~~~っ!
マーティーの頭は、「OUT OF MEMORY」であります(-_-;)