みなさんこんにちは。
今日はFABOOLDesktopリリースにあたって弊社に多く寄せられた
質問に関する内容を紹介しようと思います
先日FABOOLDesktopがリリースされました。
インストール作業に、前ソフト(FABOOLSoftware)の
ドライバ削除が含まれており、戸惑った方もいるかと思います。
結論を先に言うと、削除してしまって問題ありません!
前ソフトがどうやって動いていたのか解説しながら、その理由を述べていこうと思います。
まずは全体の構成です。
(図1)
FABOOLSoftwareでデータを作成し、FaboolLaserドライバにGcodeを渡します。
FaboolLaserドライバは、マシン(=FaboolLaserMini)の
作業進捗を見ながらGcodeを1行1行シリアル通信ドライバに渡します。
マシンの実動作をコントロールするドライバと言えます。
シリアル通信ドライバは、実際にマシンへGcodeを渡すために
データの並びを整えるドライバです。
たとえるなら家電などのACアダプタでしょうか。
今回削除しているドライバはFaboolLaserドライバです。
ドライバが2つあるのはなぜ?
コントロールはFABOOLSoftwareがやればいいじゃん、と思うでしょう。
これは使用しているプログラミング言語による宿命(仕様)に原因があるのです。
FABOOLSoftwareは主にJavascriptで記述されています。
Javascriptはスレッドが1つだけという仕様があります。
スレッドとは、コンピュータにおける作業用テーブルのようなもので、
スレッドが1つとはそのテーブルが1つしかないということです。
皆さんも作業用テーブルに物が置いてあったら、片づけないと違う作業はできませんよね?
Javascriptも同じなんです。
FABOOLSoftwareはスレッド1つで画面の表示作業に全力を尽くしています。
しかし、マシンに細かい作業内容を送ったり、返信を受け取って解析する作業も必要です。
だけどその作業を並行すると画面の表示や作業自体が遅くなったりしてしまいます。
困った。
そこで出てくるのがFaboolLaserドライバです。
彼はブラウザとは別のアプリケーションであり、独自に作業テーブルを持っています。
彼にデータのやり取りを請け負ってもらうことでFABOOLSoftwareは画面表示に集中することができました。FABOOLSoftwareが開いたときにFaboolLaserドライバを起動するという
器用なことはできないので、PCが起動したときに彼も一緒に起動しています。
ここまででFaboolLaserドライバある理由はわかってもらえたでしょうか。
次に、新ソフトでなぜFaboolLaserドライバを削除しなければいけないのかを説明します。
新しいソフトは独立したアプリケーションになっており、
作業テーブル(=スレッド)をいくつも持つことができます。
これで画面表示とデータ監視を両方行えるようになりました。
しかし、先ほども述べた通りFaboolLaserドライバはPC起動と同時に起動します。
彼は起動すると「じゃあ僕はこれ使いますんで」といってシリアル通信ドライバを延々と捕まえて離しません。
そうすると新ソフトは「じゃあ僕はどれを使えばいいの?」状態になってしまい、マシンに対して命令を送れなくなってしまうというわけなんです。
従って、新ソフトを運用するにはFaboolLaserドライバを削除する必要があるのです。
もちろん、故あってブラウザ版を使いたいという場合はその都度FaboolLaserドライバをインストールしていただければ駆動させることは可能です。
今後は短いスパンで新機能や機能修正版をリリースしていくので引き続きFABOOL Desktopをよろしくお願いいたします!
尚、フォーラム内のこちらの投稿にFABOOLsoftwareとFABOOLDesktopの両方を共存させる方法についても記載しておりますので合わせてご確認ください。