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

Dependencies:   mbed-rtos mbed

Fork of ControlMain2017 by albatross

Committer:
YusukeWakuta
Date:
Fri Jun 02 05:21:47 2017 +0000
Branch:
?????
Revision:
48:2965c51ef540
Parent:
47:6f84dcf7d1d8
valueprocessor??????push; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YusukeWakuta 42:6cc53727acc2 1 #ifndef VALUE_HANDLER
YusukeWakuta 41:d2d123d7a6fa 2 #define VALUE_HANDLER
YusukeWakuta 41:d2d123d7a6fa 3
YusukeWakuta 41:d2d123d7a6fa 4 #include "mbed.h"
YusukeWakuta 41:d2d123d7a6fa 5
YusukeWakuta 48:2965c51ef540 6 #define PHASE_NUM 7 //奇数にしてください。翼端コードと合わせないといけないのは、この値です
YusukeWakuta 47:6f84dcf7d1d8 7 #define ADDITIONALPHASE 2
YusukeWakuta 42:6cc53727acc2 8 #define SUM_UP_NUM 10.0
YusukeWakuta 41:d2d123d7a6fa 9 class ValueProcess
YusukeWakuta 41:d2d123d7a6fa 10 {
YusukeWakuta 43:2d8bffac06cd 11 private:
YusukeWakuta 42:6cc53727acc2 12 float rollNeutral;
YusukeWakuta 42:6cc53727acc2 13 float rollUpperDiff;
YusukeWakuta 42:6cc53727acc2 14 float rollLowerDiff;
YusukeWakuta 41:d2d123d7a6fa 15
YusukeWakuta 42:6cc53727acc2 16 float pitchNeutral;//1って書いた方
YusukeWakuta 42:6cc53727acc2 17 float pitchUpperDiff;
YusukeWakuta 42:6cc53727acc2 18 float pitchLowerDiff;
YusukeWakuta 41:d2d123d7a6fa 19 float neutralDiff;
YusukeWakuta 41:d2d123d7a6fa 20
YusukeWakuta 42:6cc53727acc2 21 enum InputType {
YusukeWakuta 42:6cc53727acc2 22 enumRoll,
YusukeWakuta 42:6cc53727acc2 23 enumPitch
YusukeWakuta 42:6cc53727acc2 24 };
YusukeWakuta 43:2d8bffac06cd 25 public:
YusukeWakuta 42:6cc53727acc2 26 ValueProcess();
YusukeWakuta 41:d2d123d7a6fa 27 void setNeutral(float rollRead,float pitchRead);
YusukeWakuta 41:d2d123d7a6fa 28 void setMaxAndMin(InputType it,float value);
YusukeWakuta 42:6cc53727acc2 29 float MatchUpperAndLower(InputType it, float max,float min,float neutral,float value);
YusukeWakuta 42:6cc53727acc2 30 float Format2Range(float value,float max,float min);
YusukeWakuta 42:6cc53727acc2 31 int PhaseFloat(float value,float max,float min);
YusukeWakuta 46:53eb2ba661c5 32 int WidenNeutral(int phased);
YusukeWakuta 42:6cc53727acc2 33 float SetRollPitchRacio(float pitch,float roll);
YusukeWakuta 46:53eb2ba661c5 34 float MatchRange(float value);
YusukeWakuta 46:53eb2ba661c5 35 void Processing(float rollRead,float pitchRead,int* input_R,int* input_L);
YusukeWakuta 41:d2d123d7a6fa 36 };
YusukeWakuta 41:d2d123d7a6fa 37
YusukeWakuta 41:d2d123d7a6fa 38 #endif