Li Weiyi
/
Cube
Microduino的cube小车。
Microduino_Motor.h@3:e4ac7c1a14de, 2016-05-27 (annotated)
- Committer:
- lixianyu
- Date:
- Fri May 27 01:44:31 2016 +0000
- Revision:
- 3:e4ac7c1a14de
- Parent:
- 2:70ca3e685cca
- Child:
- 4:0670023d3f36
???????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lixianyu | 1:758ccab13947 | 1 | #ifndef Motor_h |
lixianyu | 1:758ccab13947 | 2 | #define Motor_h |
lixianyu | 1:758ccab13947 | 3 | |
lixianyu | 1:758ccab13947 | 4 | //#include "Arduino.h" |
lixianyu | 1:758ccab13947 | 5 | #include "mbed.h" |
lixianyu | 1:758ccab13947 | 6 | |
lixianyu | 1:758ccab13947 | 7 | #define CHAN_LEFT 0 |
lixianyu | 1:758ccab13947 | 8 | #define CHAN_RIGHT 1 |
lixianyu | 1:758ccab13947 | 9 | |
lixianyu | 3:e4ac7c1a14de | 10 | #if 0 |
lixianyu | 1:758ccab13947 | 11 | typedef struct { |
lixianyu | 1:758ccab13947 | 12 | uint8_t nbr_A :6 ; |
lixianyu | 1:758ccab13947 | 13 | uint8_t nbr_B :6 ; |
lixianyu | 3:e4ac7c1a14de | 14 | } MotorPin_t; |
lixianyu | 3:e4ac7c1a14de | 15 | #else |
lixianyu | 3:e4ac7c1a14de | 16 | typedef struct { |
lixianyu | 3:e4ac7c1a14de | 17 | PinName nbr_A; |
lixianyu | 3:e4ac7c1a14de | 18 | PinName nbr_B; |
lixianyu | 3:e4ac7c1a14de | 19 | } MotorPin_t; |
lixianyu | 3:e4ac7c1a14de | 20 | |
lixianyu | 3:e4ac7c1a14de | 21 | #endif |
lixianyu | 1:758ccab13947 | 22 | |
lixianyu | 1:758ccab13947 | 23 | typedef struct { |
lixianyu | 1:758ccab13947 | 24 | MotorPin_t Pin; |
lixianyu | 1:758ccab13947 | 25 | } motor_t; |
lixianyu | 1:758ccab13947 | 26 | |
lixianyu | 1:758ccab13947 | 27 | class Motor |
lixianyu | 1:758ccab13947 | 28 | { |
lixianyu | 1:758ccab13947 | 29 | public: |
lixianyu | 2:70ca3e685cca | 30 | Motor(PinName _motor_pinA, PinName _motor_pinB); |
lixianyu | 1:758ccab13947 | 31 | void Fix(float _fix); |
lixianyu | 1:758ccab13947 | 32 | void Driver(int16_t _motor_driver); |
lixianyu | 1:758ccab13947 | 33 | void Free(); |
lixianyu | 1:758ccab13947 | 34 | void Brake(); |
lixianyu | 1:758ccab13947 | 35 | int16_t GetData(int16_t _throttle, int16_t _steering, bool _dir); |
lixianyu | 1:758ccab13947 | 36 | private: |
lixianyu | 1:758ccab13947 | 37 | uint8_t motorIndex; // index into the channel data for this key |
lixianyu | 1:758ccab13947 | 38 | float fix; |
lixianyu | 1:758ccab13947 | 39 | int16_t _motor_vol; |
lixianyu | 2:70ca3e685cca | 40 | protected: |
lixianyu | 3:e4ac7c1a14de | 41 | pwmout_t _pwmA; |
lixianyu | 3:e4ac7c1a14de | 42 | pwmout_t _pwmB; |
lixianyu | 3:e4ac7c1a14de | 43 | uint16_t _period_us; |
lixianyu | 1:758ccab13947 | 44 | }; |
lixianyu | 1:758ccab13947 | 45 | |
lixianyu | 1:758ccab13947 | 46 | #endif |