交流ロボコン
Dependencies: FEP
Dependents: kourobo_Controller_FEP199_198 kourobo_controller_FEP209_208 kourobo2019 kouroboA_2019 ... more
controller.h@0:875532e626ee, 2018-01-15 (annotated)
- Committer:
- number_key
- Date:
- Mon Jan 15 09:21:59 2018 +0000
- Revision:
- 0:875532e626ee
compactControllerReciever
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
number_key | 0:875532e626ee | 1 | /** |
number_key | 0:875532e626ee | 2 | * @file controller.h |
number_key | 0:875532e626ee | 3 | * @brief FEPを使ったコントローラ受信部 |
number_key | 0:875532e626ee | 4 | * |
number_key | 0:875532e626ee | 5 | * Example : |
number_key | 0:875532e626ee | 6 | * @code |
number_key | 0:875532e626ee | 7 | * #include "mbed.h" |
number_key | 0:875532e626ee | 8 | * #include "controller.h" |
number_key | 0:875532e626ee | 9 | * |
number_key | 0:875532e626ee | 10 | * Controller pad(PA_9, PA_10, 200); |
number_key | 0:875532e626ee | 11 | * Serial pc(USBTX, USBRX, 115200); |
number_key | 0:875532e626ee | 12 | * |
number_key | 0:875532e626ee | 13 | * int main() |
number_key | 0:875532e626ee | 14 | * { |
number_key | 0:875532e626ee | 15 | * while(1) { |
number_key | 0:875532e626ee | 16 | * if(pad.receiveState()) { |
number_key | 0:875532e626ee | 17 | * for(int i = 0; i < 7; i++) pc.printf("%d, ", pad.getButton1(i)); |
number_key | 0:875532e626ee | 18 | * for(int i = 0; i < 6; i++) pc.printf("%d, ", pad.getButton2(i)); |
number_key | 0:875532e626ee | 19 | * pc.printf("\r\n"); |
number_key | 0:875532e626ee | 20 | * } else { |
number_key | 0:875532e626ee | 21 | * pc.printf("ERROR\n\r"); |
number_key | 0:875532e626ee | 22 | * } |
number_key | 0:875532e626ee | 23 | * } |
number_key | 0:875532e626ee | 24 | * } |
number_key | 0:875532e626ee | 25 | * @endcode |
number_key | 0:875532e626ee | 26 | */ |
number_key | 0:875532e626ee | 27 | #ifndef CONTROLLER_H |
number_key | 0:875532e626ee | 28 | #define CONTROLLER_H |
number_key | 0:875532e626ee | 29 | |
number_key | 0:875532e626ee | 30 | #include "mbed.h" |
number_key | 0:875532e626ee | 31 | #include <math.h> |
number_key | 0:875532e626ee | 32 | |
number_key | 0:875532e626ee | 33 | #include "FEP.h" |
number_key | 0:875532e626ee | 34 | |
number_key | 0:875532e626ee | 35 | // const double M_PI = 3.141592653589793; |
number_key | 0:875532e626ee | 36 | const int ADDR = 203; |
number_key | 0:875532e626ee | 37 | const bool FEP_SUCCESS =0; |
number_key | 0:875532e626ee | 38 | const int DATA_SIZE = 6; |
number_key | 0:875532e626ee | 39 | const float STICK_DIVIDE = 255.0; |
number_key | 0:875532e626ee | 40 | const float STICK_NEWTRAL = 0.1; |
number_key | 0:875532e626ee | 41 | const float STICK_NORM_MAX =1.0; |
number_key | 0:875532e626ee | 42 | |
number_key | 0:875532e626ee | 43 | /** |
number_key | 0:875532e626ee | 44 | * @brief FEPを使ったコントローラのクラス |
number_key | 0:875532e626ee | 45 | */ |
number_key | 0:875532e626ee | 46 | class Controller : public FEP |
number_key | 0:875532e626ee | 47 | { |
number_key | 0:875532e626ee | 48 | public : |
number_key | 0:875532e626ee | 49 | /** |
number_key | 0:875532e626ee | 50 | * @brief コンストラクタ |
number_key | 0:875532e626ee | 51 | * @param FEPtx FEPtx |
number_key | 0:875532e626ee | 52 | * @param FEPrx FEPrx |
number_key | 0:875532e626ee | 53 | * @param addr address |
number_key | 0:875532e626ee | 54 | */ |
number_key | 0:875532e626ee | 55 | Controller(PinName FEPtx, PinName FEPrx,int addr); |
number_key | 0:875532e626ee | 56 | |
number_key | 0:875532e626ee | 57 | /** |
number_key | 0:875532e626ee | 58 | * @brief メンバ変数にボタンのステートを格納 |
number_key | 0:875532e626ee | 59 | */ |
number_key | 0:875532e626ee | 60 | bool receiveState(); |
number_key | 0:875532e626ee | 61 | |
number_key | 0:875532e626ee | 62 | /** |
number_key | 0:875532e626ee | 63 | * ボタン1の状態を取得 |
number_key | 0:875532e626ee | 64 | * @param number button number |
number_key | 0:875532e626ee | 65 | * @return status |
number_key | 0:875532e626ee | 66 | */ |
number_key | 0:875532e626ee | 67 | bool getButton1(int number) const; |
number_key | 0:875532e626ee | 68 | |
number_key | 0:875532e626ee | 69 | /** |
number_key | 0:875532e626ee | 70 | * ボタン2の状態を取得 |
number_key | 0:875532e626ee | 71 | * @param number button number |
number_key | 0:875532e626ee | 72 | * @return status |
number_key | 0:875532e626ee | 73 | */ |
number_key | 0:875532e626ee | 74 | bool getButton2(int number) const; |
number_key | 0:875532e626ee | 75 | |
number_key | 0:875532e626ee | 76 | /** |
number_key | 0:875532e626ee | 77 | * スティックの値を取得 |
number_key | 0:875532e626ee | 78 | * @param number sticknumber(x, y, x, y) |
number_key | 0:875532e626ee | 79 | * @return stick value |
number_key | 0:875532e626ee | 80 | */ |
number_key | 0:875532e626ee | 81 | float getStick(int number) const; |
number_key | 0:875532e626ee | 82 | |
number_key | 0:875532e626ee | 83 | /** |
number_key | 0:875532e626ee | 84 | * スチィックの角度を取得 |
number_key | 0:875532e626ee | 85 | * @param number left...0 right...1 |
number_key | 0:875532e626ee | 86 | * @return radian |
number_key | 0:875532e626ee | 87 | */ |
number_key | 0:875532e626ee | 88 | float getRadian(int number) const; |
number_key | 0:875532e626ee | 89 | |
number_key | 0:875532e626ee | 90 | /** |
number_key | 0:875532e626ee | 91 | * スティックの距離を取得 |
number_key | 0:875532e626ee | 92 | * @param number left..0 right..1 |
number_key | 0:875532e626ee | 93 | * @return norm |
number_key | 0:875532e626ee | 94 | */ |
number_key | 0:875532e626ee | 95 | float getNorm(int number) const; |
number_key | 0:875532e626ee | 96 | |
number_key | 0:875532e626ee | 97 | private : |
number_key | 0:875532e626ee | 98 | void setStick(); |
number_key | 0:875532e626ee | 99 | |
number_key | 0:875532e626ee | 100 | char data[6]; |
number_key | 0:875532e626ee | 101 | uint8_t fepTemp; |
number_key | 0:875532e626ee | 102 | |
number_key | 0:875532e626ee | 103 | protected : |
number_key | 0:875532e626ee | 104 | bool button1[7]; |
number_key | 0:875532e626ee | 105 | bool button2[6]; |
number_key | 0:875532e626ee | 106 | double stick[4]; |
number_key | 0:875532e626ee | 107 | double radian[2]; |
number_key | 0:875532e626ee | 108 | double norm[2]; |
number_key | 0:875532e626ee | 109 | }; |
number_key | 0:875532e626ee | 110 | |
number_key | 0:875532e626ee | 111 | #endif//CONTROLLER_H |