にいむら にいむら
/
mainboardnrp2018
unkounko
Output/Motor/Motor.h
- Committer:
- t_yamamoto
- Date:
- 2018-01-13
- Revision:
- 0:562021ed1ba9
- Child:
- 1:e73cf2469f83
File content as of revision 0:562021ed1ba9:
#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 + 1) //MOTOR0の関係で+1 #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 MOTOR5_D1 directions[10] #define MOTOR6_D2 directions[11] #define MOTOR0_D1_PIN NC #define MOTOR0_D2_PIN NC #define MOTOR1_D1_PIN D3 #define MOTOR1_D2_PIN D2 #define MOTOR2_D1_PIN D6 #define MOTOR2_D2_PIN D5 #define MOTOR3_D1_PIN D9 #define MOTOR3_D2_PIN D8 #define MOTOR4_D1_PIN D12 #define MOTOR4_D2_PIN D11 #define MOTOR5_D1_PIN A0 #define MOTOR5_D2_PIN A1 #define MOTOR0_PWM_PIN NC #define MOTOR1_PWM_PIN D4 #define MOTOR2_PWM_PIN D7 #define MOTOR3_PWM_PIN D10 #define MOTOR4_PWM_PIN A2 #define MOTOR5_PWM_PIN A3 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