SBDBTを用いてDS3(PS3コントローラ)を扱うライブラリ
Dependents: PIDcontrol_4 go_robo2022kaisyu_no 2022_Ateam_MOTORprogram tape_LED ... more
sbdbt.hpp@0:d10107920170, 2021-11-10 (annotated)
- Committer:
- m2130
- Date:
- Wed Nov 10 13:53:15 2021 +0000
- Revision:
- 0:d10107920170
- Child:
- 1:f9a705b06d46
SBDBT;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
m2130 | 0:d10107920170 | 1 | #ifndef SBDBT_H |
m2130 | 0:d10107920170 | 2 | #define SBDBT_H |
m2130 | 0:d10107920170 | 3 | #include "mbed.h" |
m2130 | 0:d10107920170 | 4 | |
m2130 | 0:d10107920170 | 5 | //data[1] |
m2130 | 0:d10107920170 | 6 | #define CIRCLE 0x01 |
m2130 | 0:d10107920170 | 7 | #define L1 0x02 |
m2130 | 0:d10107920170 | 8 | #define L2 0x04 |
m2130 | 0:d10107920170 | 9 | #define R1 0x08 |
m2130 | 0:d10107920170 | 10 | #define R2 0x10 |
m2130 | 0:d10107920170 | 11 | #define START 0x20 |
m2130 | 0:d10107920170 | 12 | #define SELECT 0x40 |
m2130 | 0:d10107920170 | 13 | |
m2130 | 0:d10107920170 | 14 | //data[2] |
m2130 | 0:d10107920170 | 15 | #define UP 0x01 |
m2130 | 0:d10107920170 | 16 | #define DOWN 0x02 |
m2130 | 0:d10107920170 | 17 | #define LEFT 0x04 |
m2130 | 0:d10107920170 | 18 | #define RIGHT 0x08 |
m2130 | 0:d10107920170 | 19 | #define TRI 0x10 |
m2130 | 0:d10107920170 | 20 | #define CROSS 0x20 |
m2130 | 0:d10107920170 | 21 | #define SQUARE 0x40 |
m2130 | 0:d10107920170 | 22 | |
m2130 | 0:d10107920170 | 23 | /*SBDBTを用いてPS3コントローラ(DS3)を使う |
m2130 | 0:d10107920170 | 24 | sbdbt sb(A0, A1); マイコン ~ PC間のボーレート指定なし(9600) |
m2130 | 0:d10107920170 | 25 | sbdbt sb(A0, A1, 115200); マイコン ~ PC間のボーレート指定あり |
m2130 | 0:d10107920170 | 26 | */ |
m2130 | 0:d10107920170 | 27 | |
m2130 | 0:d10107920170 | 28 | class sbdbt { |
m2130 | 0:d10107920170 | 29 | public: |
m2130 | 0:d10107920170 | 30 | sbdbt(PinName TX, PinName RX); //マイコン ~ PC間のボーレート指定なし(9600) |
m2130 | 0:d10107920170 | 31 | sbdbt(PinName TX, PinName RX, int baud); //マイコン ~ PC間のボーレート指定あり |
m2130 | 0:d10107920170 | 32 | void get(void); |
m2130 | 0:d10107920170 | 33 | void button_state(); //全ボタン, スティックの状態表示 |
m2130 | 0:d10107920170 | 34 | void data_print(); |
m2130 | 0:d10107920170 | 35 | bool neutral(); //ニュートラル状態読み取り |
m2130 | 0:d10107920170 | 36 | bool up(); |
m2130 | 0:d10107920170 | 37 | bool down(); |
m2130 | 0:d10107920170 | 38 | bool left(); |
m2130 | 0:d10107920170 | 39 | bool right(); |
m2130 | 0:d10107920170 | 40 | bool tri(); |
m2130 | 0:d10107920170 | 41 | bool cross(); |
m2130 | 0:d10107920170 | 42 | bool square(); |
m2130 | 0:d10107920170 | 43 | bool circle(); |
m2130 | 0:d10107920170 | 44 | bool l1(); |
m2130 | 0:d10107920170 | 45 | bool l2(); |
m2130 | 0:d10107920170 | 46 | bool r1(); |
m2130 | 0:d10107920170 | 47 | bool r2(); |
m2130 | 0:d10107920170 | 48 | bool start(); |
m2130 | 0:d10107920170 | 49 | bool select(); |
m2130 | 0:d10107920170 | 50 | char lsx(); |
m2130 | 0:d10107920170 | 51 | char lsy(); |
m2130 | 0:d10107920170 | 52 | char rsx(); |
m2130 | 0:d10107920170 | 53 | char rsy(); |
m2130 | 0:d10107920170 | 54 | char l2An(); |
m2130 | 0:d10107920170 | 55 | char r2An(); |
m2130 | 0:d10107920170 | 56 | ~sbdbt(); |
m2130 | 0:d10107920170 | 57 | private: |
m2130 | 0:d10107920170 | 58 | Serial *dev; |
m2130 | 0:d10107920170 | 59 | Serial *pc; |
m2130 | 0:d10107920170 | 60 | char *data; |
m2130 | 0:d10107920170 | 61 | char *PS3_Data; |
m2130 | 0:d10107920170 | 62 | char i; |
m2130 | 0:d10107920170 | 63 | char pos; |
m2130 | 0:d10107920170 | 64 | char val; |
m2130 | 0:d10107920170 | 65 | char len; |
m2130 | 0:d10107920170 | 66 | }; |
m2130 | 0:d10107920170 | 67 | #endif |