今までのジョイスティックの入力を段階分けしていた方式から、アナログ値をできる限りそのまま使用する方式に変更しました。
Fork of ControlMain2017 by
Diff: ValueProcessor.h
- 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