Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

オープンソースな実用ロボットアームTsukArm その8:動きをループ実行させる

shuzo-kino.hateblo.jp
のシリーズ8回め。
これまでの方法では、記録した動作は一回しか実行できませんでした。
今回は、これをループで実行してみます。

実際のところ

オープンソースな実用ロボットアームTsukArm その7:動きを関数として分離 - Bye Bye Moore
で分離させた関数"jobCalibrate()"を延々と繰り返すケース*1を考えます。

queueにタスクがあるか確認するには"isEmpty()"を使います。
Trueなら無し、Falseならタスクありです。

void loop() {
  if(queue->isEmpty()){
    //動作を追加
    jobCalibrate();
    Serial.println("new job!");
  } else {
    //JobQueueを実行する
    queue->execute();   
  }

  delay(FRAME_INTERVAL);
}

30分ほど繰り返してみましたが、ソフト・ハード共に問題なく連続稼働してくれました。

*1:補正を繰り返すの?とかいう事はいってはいけない