今までのジョイスティックの入力を段階分けしていた方式から、アナログ値をできる限りそのまま使用する方式に変更しました。

Dependencies:   mbed-rtos mbed

Fork of ControlMain2017 by albatross

Branch:
?????
Revision:
42:6cc53727acc2
Parent:
41:d2d123d7a6fa
Child:
43:2d8bffac06cd
--- a/ValueProcessor.h	Sun Apr 23 15:12:59 2017 +0000
+++ b/ValueProcessor.h	Wed Apr 26 11:57:00 2017 +0000
@@ -1,26 +1,37 @@
-#ifdef VALUE_HANDLER
+#ifndef VALUE_HANDLER
 #define VALUE_HANDLER
 
 #include "mbed.h"
 
+#define PHASE_NUM 15 //奇数にしてください
+#define SUM_UP_NUM 10.0
+#define PITCHPERROLL 1.5
+
 class ValueProcess
 {
 public:
-    float rollNeutral = 0.739;
-    float rollUpperDiff = 0;
-    float rollLowerDiff = 0;
+    float rollNeutral;
+    float rollUpperDiff;
+    float rollLowerDiff;
 
-    float pitchNeutral = 0.468 ;//1って書いた方
-    float pitchUpperDiff = 0;
-    float pitchLowerDiff = 0;
+    float pitchNeutral;//1って書いた方
+    float pitchUpperDiff;
+    float pitchLowerDiff;
     float neutralDiff;
 
+    enum InputType {
+        enumRoll,
+        enumPitch
+    };
+
+    ValueProcess();
     void setNeutral(float rollRead,float pitchRead);
     void setMaxAndMin(InputType it,float value);
-    void MatchUpperAndLower();
-    void Format2Range();
-    void PhaseFloat();
-    void SetRollPitchRacio();
+    float MatchUpperAndLower(InputType it, float max,float min,float neutral,float value);
+    float Format2Range(float value,float max,float min);
+    int PhaseFloat(float value,float max,float min);
+    float SetRollPitchRacio(float pitch,float roll);
+    void ValueProcess::Processing(float rollRead,float pitchRead,int* input_R,int* input_L);
 };
 
 #endif
\ No newline at end of file