自分用ロータリーエンコーダのライブラリ. Z相のパルスは一切使用していない. タイマ割り込みを使ってRPSをとる場合,MvgAve的なものが含まれる関数によって可能だが,正直いらない気がする.

Revision:
4:1789feb609ac
Parent:
3:82af76bc5a6e
Child:
6:deb3445444c5
diff -r 82af76bc5a6e -r 1789feb609ac QEI.cpp
--- a/QEI.cpp	Wed Nov 04 06:09:10 2020 +0000
+++ b/QEI.cpp	Wed Nov 04 10:58:08 2020 +0000
@@ -70,7 +70,7 @@
 // 変数リセット
 void QEI::resetVariable()
 {
-    for(int i =0; i<mvgave_array_size; i++) pulse_data[i] = 0;
+    for(int i =0; i<_MVGAVE_ARRAY_SIZE; i++) pulse_data[i] = 0;
     pre_state_ab = (ch_a.read() << 1) | ch_b.read();
     mvg_ave_rps = 0;
     pulse = 0;
@@ -167,10 +167,10 @@
 
     //移動平均算出
     pulse_data[editing_num] = pulse;
-    editing_num == mvgave_array_size-1 ? editing_num = 0 : editing_num++;//editing_numが配列以上になったら0に戻す
+    editing_num == _MVGAVE_ARRAY_SIZE-1 ? editing_num = 0 : editing_num++;//editing_numが配列以上になったら0に戻す
     pulse_average = 0;
-    for(int i =0; i < mvgave_array_size; i++) pulse_average += pulse_data[i];
-    pulse_average /= mvgave_array_size;
+    for(int i =0; i < _MVGAVE_ARRAY_SIZE; i++) pulse_average += pulse_data[i];
+    pulse_average /= _MVGAVE_ARRAY_SIZE;
     pulse = 0; // オーバーフロー対策.この処理をするため,他の機能が使えなくなる.
 
     //RPS算出