138178

2024年5月12日日曜日

自作CPUで遊ぶ 26

GUIアプリだが、 図形表示で3D表示も出来るようにした。 3D描画はOpenGLを使っている。
以下は開発用LinuxマシンからZYBO上のPetalinuxにssh -X でログインしZyboでアプリを動作させGUIは開発用マシンの画面に表示させている・・・が、ここである問題に気づいてしまった。 Zybo側のPetalinuxはsimpleframe bufferでX Windowも動くようになっているが、よく考えたらGPUの機能はないのでOpenGLは使えない。 
つまり、Zybo単独の状態ではこのアプリは動かない。。。 orz 
2D表示はOpenGLを使わないでも出来るが3DはOpenGLナシでは無理なので3D表示機能は諦めるしかないか。それとも必ず開発PCからログインして使うようにするか。
うーむ。悩ましい。



図形表示機能の他にGコードの処理プログラムも作らなければならない。
Gコードは正式にはRS-274と呼ばれる数値制御のためのプログラム言語であり、1960年代初期にEIAで開発され1980年2月にRS274D/ISO 6983としてISOで規格化されたようだ。(https://fabricesalvaire.github.io/pythonic-gcode-machine/gcode-reference/rs-274/index.html
Gコードの仕様についての知識が不足しているのでインターネットで検索してみたところLinuxCNCの文書に詳しい説明があった。(https://linuxcnc.org/documents/) 
正確な数は不明だが、規格ではGコードは100種、Mコードはユーザー定義を除くと20種程度定義されているようだが、多分全てをサポートする必要は無い筈だ。試しに過去にこのブログで作成したポンプや基板の切削データ等のGコードファイルで使われているGコードとMコードを調べたところGコードは13種、Mコードは6種だった。
但しこれはGコードを生成するCAMソフトによっても差異があるかも知れないのでこれらのコードだけで十分とは言えないかも知れないが、とりあえずこれらの実装から始めることにしようと思う。

0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...