shindai

Dependents:   linetrace tracer tracer tracer1 ... more

Committer:
NT32
Date:
Wed Sep 17 03:43:44 2014 +0000
Revision:
0:e6c391eb8fac
shinshu_university;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NT32 0:e6c391eb8fac 1 #ifndef MBED_MOTORDRIVER_SU_H_
NT32 0:e6c391eb8fac 2 #define MBED_MOTORDRIVER_SU_H_
NT32 0:e6c391eb8fac 3
NT32 0:e6c391eb8fac 4 #include "mbed.h"
NT32 0:e6c391eb8fac 5
NT32 0:e6c391eb8fac 6 #define MOTOR_SINGLE P0_2
NT32 0:e6c391eb8fac 7 #define MOTOR_DOUBLE P0_20
NT32 0:e6c391eb8fac 8
NT32 0:e6c391eb8fac 9 #define FREE 0x00
NT32 0:e6c391eb8fac 10 #define CW 0x01
NT32 0:e6c391eb8fac 11 #define CCW 0x02
NT32 0:e6c391eb8fac 12 #define STOP 0x03
NT32 0:e6c391eb8fac 13
NT32 0:e6c391eb8fac 14 class MotorDriver_SU{
NT32 0:e6c391eb8fac 15 public:
NT32 0:e6c391eb8fac 16 MotorDriver_SU(PinName chip);
NT32 0:e6c391eb8fac 17 void Drive(uint8_t channel, uint8_t direction, uint16_t velocity);
NT32 0:e6c391eb8fac 18
NT32 0:e6c391eb8fac 19 private:
NT32 0:e6c391eb8fac 20
NT32 0:e6c391eb8fac 21 BusOut * MotorDirect;
NT32 0:e6c391eb8fac 22 DigitalOut _chip;
NT32 0:e6c391eb8fac 23
NT32 0:e6c391eb8fac 24
NT32 0:e6c391eb8fac 25 union MCP4922
NT32 0:e6c391eb8fac 26 {
NT32 0:e6c391eb8fac 27 uint16_t command;
NT32 0:e6c391eb8fac 28 struct
NT32 0:e6c391eb8fac 29 {
NT32 0:e6c391eb8fac 30 //DAC data bits
NT32 0:e6c391eb8fac 31 uint16_t D :12;
NT32 0:e6c391eb8fac 32 //Output power down control bit
NT32 0:e6c391eb8fac 33 uint8_t SHDN:1;
NT32 0:e6c391eb8fac 34 //Outout gain select bit
NT32 0:e6c391eb8fac 35 uint8_t GA :1;
NT32 0:e6c391eb8fac 36 //Vref input buffer Control bit
NT32 0:e6c391eb8fac 37 uint8_t BUF :1;
NT32 0:e6c391eb8fac 38 //DACa or DACb select bit
NT32 0:e6c391eb8fac 39 uint8_t AB :1;
NT32 0:e6c391eb8fac 40 }bit;
NT32 0:e6c391eb8fac 41 };
NT32 0:e6c391eb8fac 42 union MCP4922 dac;
NT32 0:e6c391eb8fac 43 };
NT32 0:e6c391eb8fac 44
NT32 0:e6c391eb8fac 45 #endif