NHK2017Ateamかにろぼ

Dependencies:   2017NHKpin_config mbed FEP HMC6352 MotorDriverController PID QEI omni

classDiagram

    \ ̄\                   / ̄/ 
/l     \  \             /  / lヽ  
| ヽ  ヽ   |           |  /  / | 
\ ` ‐ヽ  ヽ  ●        ●         /  / ‐  / 
  \ __ l  |  ||___|| /  l __ / 
     \  \ /      \/ 
      /\|   人__人  |/\       
    //\|             |/\\     
    //\|             |/\\     
    /     . \_____/         \ 

                               ┏┓        ┏━┓┏┓              
     ┏┓         ┏┓┏┓   ┏┓    ┏┓┗┛     ┏┓ ┗┓┃┗┛              
┏┛┗━┓  ┃┃┃┃    ┃┃┏━┛┗┓┏┓┏┛┗━┓┃┃┏┓┏┓┏━━━┓ 
┗┓┏━┛  ┃┃┗┛    ┃┃┗━┓┏┛┗┛┗┓┏┓┃┗┛┗┛┃┃┗━━━┛    
┏┛┃┏━┓┃┗━━┓┃┃┏━┛┗┓      ┏┛┃┃┃        ┃┃              
┃┏┛┗━┛┗━━┓┃┃┃┃┏┓┏┛      ┗━┛┃┃        ┃┃┏┓          
┃┃┏━━┓┏━━┛┃┃┃┃┗┛┃         ┏┛┃        ┃┃┃┗━━┓    
┗┛┗━━┛┗━━━┛┗┛┗━━┛         ┗━┛        ┗┛┗━━━┛  
Committer:
uchitake
Date:
Tue Aug 29 10:11:02 2017 +0900
Revision:
8:3987aa3d016b
Parent:
6:590c9622ecf1
Child:
9:cba664555161
add mech func

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UCHITAKE 6:590c9622ecf1 1 #include "motor_driver.h"
UCHITAKE 6:590c9622ecf1 2
UCHITAKE 6:590c9622ecf1 3 MotorDriver::MotorDriver() : MDC(MDSDA, MDSCL)
UCHITAKE 6:590c9622ecf1 4 {
UCHITAKE 6:590c9622ecf1 5 MotorSTOP();
uchitake 8:3987aa3d016b 6 solenoid = 0;
UCHITAKE 6:590c9622ecf1 7 }
UCHITAKE 6:590c9622ecf1 8
UCHITAKE 6:590c9622ecf1 9 void MotorDriver::moveSlider(float speed)
UCHITAKE 6:590c9622ecf1 10 {
UCHITAKE 6:590c9622ecf1 11 write(ARM_MDC_ADDR, SLIDER_NUMBER, speed);
UCHITAKE 6:590c9622ecf1 12 }
UCHITAKE 6:590c9622ecf1 13
uchitake 8:3987aa3d016b 14 void MotorDriver::swing(float speed)
uchitake 8:3987aa3d016b 15 {
uchitake 8:3987aa3d016b 16 write(ARM_MDC_ADDR, SWORD_NUMBER, speed);
uchitake 8:3987aa3d016b 17 }
uchitake 8:3987aa3d016b 18
uchitake 8:3987aa3d016b 19 void MotorDriver::shakeHead(float speed)
uchitake 8:3987aa3d016b 20 {
uchitake 8:3987aa3d016b 21 write(ARM_MDC_ADDR, SHAKE_NUMBER, speed);
uchitake 8:3987aa3d016b 22 }
uchitake 8:3987aa3d016b 23
uchitake 8:3987aa3d016b 24 void MotorDriver::release()
uchitake 8:3987aa3d016b 25 {
uchitake 8:3987aa3d016b 26 solenoid = 1;
uchitake 8:3987aa3d016b 27 }
uchitake 8:3987aa3d016b 28
UCHITAKE 6:590c9622ecf1 29 void MotorDriver::destroy(float speed)
UCHITAKE 6:590c9622ecf1 30 {
UCHITAKE 6:590c9622ecf1 31 write(ARM_MDC_ADDR, ARM_NUMBER, speed);
UCHITAKE 6:590c9622ecf1 32 }
UCHITAKE 6:590c9622ecf1 33
UCHITAKE 6:590c9622ecf1 34 void MotorDriver::goXY(float X, float Y, float moment)
UCHITAKE 6:590c9622ecf1 35 {
UCHITAKE 6:590c9622ecf1 36 quadOmni.computeXY(X, Y, moment);
UCHITAKE 6:590c9622ecf1 37 for(int i = 0; i < 4; i++) {
UCHITAKE 6:590c9622ecf1 38 write(WHEEL_MDC_ADDR, i, quadOmni.getOutput(i));
UCHITAKE 6:590c9622ecf1 39 }
UCHITAKE 6:590c9622ecf1 40 }
UCHITAKE 6:590c9622ecf1 41
UCHITAKE 6:590c9622ecf1 42 void MotorDriver::goCircular(float r, float rad, float moment)
UCHITAKE 6:590c9622ecf1 43 {
UCHITAKE 6:590c9622ecf1 44 quadOmni.computeCircular(r, rad, moment);
UCHITAKE 6:590c9622ecf1 45 for(int i = 0; i < 4; i++) {
UCHITAKE 6:590c9622ecf1 46 write(WHEEL_MDC_ADDR, i, quadOmni.getOutput(i));
UCHITAKE 6:590c9622ecf1 47 }
uchitake 8:3987aa3d016b 48 }