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:補正を繰り返すの?とかいう事はいってはいけない