にいむら にいむら
/
NRPmainprogram2019
aa
Diff: Output/Motor/Motor.h
- Revision:
- 0:2e7a61458dc3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Output/Motor/Motor.h Mon Jan 28 08:34:36 2019 +0000 @@ -0,0 +1,66 @@ +#ifndef MOTOR_H_ +#define MOTOR_H_ + +#include <stdint.h> + +namespace MOTOR +{ + #define FREE 0 + #define BACK 1 + #define FOR 2 + #define BRAKE 3 + + #define MOUNTING_MOTOR_NUM 5 + + #define MOTOR0_D1 directions[0] + #define MOTOR0_D2 directions[1] + #define MOTOR1_D1 directions[2] + #define MOTOR1_D2 directions[3] + #define MOTOR2_D1 directions[4] + #define MOTOR2_D2 directions[5] + #define MOTOR3_D1 directions[6] + #define MOTOR3_D2 directions[7] + #define MOTOR4_D1 directions[8] + #define MOTOR4_D2 directions[9] + + #define MOTOR0_D1_PIN D3 + #define MOTOR0_D2_PIN D4 + #define MOTOR1_D1_PIN D5 + #define MOTOR1_D2_PIN D6 + #define MOTOR2_D1_PIN D8 + #define MOTOR2_D2_PIN D9 + #define MOTOR3_D1_PIN D12 + #define MOTOR3_D2_PIN A3 + #define MOTOR4_D1_PIN A1 + #define MOTOR4_D2_PIN A0 + + #define MOTOR0_PWM_PIN D2 + #define MOTOR1_PWM_PIN D7 + #define MOTOR2_PWM_PIN D10 + #define MOTOR3_PWM_PIN D11 + #define MOTOR4_PWM_PIN A2 + + typedef struct{ + union{ + struct{ + unsigned int d2:1; + unsigned int d1:1; + unsigned int :6; + }; + uint8_t dir; + }; + float pwm; + }MotorStatus; + + class Motor + { + public: + static void Initialize(void); + static void Update(MotorStatus *status); + static void SetDefault(void); + static int SetStatus(float pwm); + }; +} + +#endif + \ No newline at end of file