2016年6月21日火曜日

SmartLaser用のアプリを0から開発する。その5

いくつかテストを行い、まず、ソフトウエア基本部分を完成させてみます。
  1. int searchLaser(void);  
  2. bool laserOpen(int);  
  3. void laserInit();  
  4. int setForce(int);  
  5. int setLineSpeed(int);  
  6. int setMoveSpeed(int);  
  7. int moveTo(double,double);  
  8. int lineTo(double,double);  
  9. int laserClose(void);  
  10. //以下は直接は呼びません。  
  11. int writeLaser(const char*);  
  12. int readLaser(char*);  
  13. int readLaserEx(char*,int);  
とりあえず基本部分は、こんな形にしました。
実際には、C++でクラスのメソッドです。(だからHANDLEとかの引数が無い^^;)
もちろん、ラスタ系のコマンドを呼ぶ場合には、何かしら追加になりますね。

searchLaser
→COMポートを1~10までサーチし、レーザーが見つかったところで、COM番号を戻します。
見つからなければ0を返します。
実際には、SetCommStateして、"LasaurGrbl"という文字列を含むstramが戻ってくるかどうかで判断します。

laserOpen
→ COMをOPENします。
DCBとCOMMTIMEOUTSを設定するところまでやります。

laserInit
→なんでこうするかは別にして、
『既存のシステムがこんなん投げてるからとりあえず同じことをしておく』
ということをします。
とりあえずわかってることは、
"G90\x0aM80\x0aG0F8000\x0aG1F1500\x0aS8\x0a"
この部分だけ^^;^^;
あとは、関数の最後に原点をサーチして移動するようにします。

setForce
→レーザー強さの設定です。
ForceなのかPowerなのかStrengthなのかわかりませんが。。。^^;

setMoveSpeed
→動くSpeedを設定します

setLineSpeed
→レーザーしながら動くSpeedを設定します

laserClose
→まぁCOMをcloseするだけです。

0 件のコメント:

コメントを投稿