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 #include "MotorDriver_SU.h"
NT32 0:e6c391eb8fac 2
NT32 0:e6c391eb8fac 3 SPI spi(P1_22, NC, P1_15);
NT32 0:e6c391eb8fac 4 BusOut MotorDirect_A(P1_19, P1_25, P1_16, P0_19);
NT32 0:e6c391eb8fac 5 BusOut MotorDirect_B(P0_18, P0_17, P1_14, P1_13);
NT32 0:e6c391eb8fac 6
NT32 0:e6c391eb8fac 7 MotorDriver_SU::MotorDriver_SU(PinName chip) : _chip(chip){
NT32 0:e6c391eb8fac 8 if (chip == P0_2){
NT32 0:e6c391eb8fac 9 MotorDirect = &MotorDirect_B;
NT32 0:e6c391eb8fac 10 }else{
NT32 0:e6c391eb8fac 11 MotorDirect = &MotorDirect_A;
NT32 0:e6c391eb8fac 12 }
NT32 0:e6c391eb8fac 13 (*MotorDirect) = FREE;
NT32 0:e6c391eb8fac 14 _chip = 1;
NT32 0:e6c391eb8fac 15 dac.bit.AB = 0;
NT32 0:e6c391eb8fac 16 dac.bit.BUF = 1;
NT32 0:e6c391eb8fac 17 dac.bit.GA = 1;
NT32 0:e6c391eb8fac 18 dac.bit.SHDN = 1;
NT32 0:e6c391eb8fac 19 dac.bit.D = 0;
NT32 0:e6c391eb8fac 20 spi.format(16,0);
NT32 0:e6c391eb8fac 21 spi.frequency(20000000);
NT32 0:e6c391eb8fac 22 _chip = 0;
NT32 0:e6c391eb8fac 23 spi.write(dac.command);
NT32 0:e6c391eb8fac 24 _chip = 1;
NT32 0:e6c391eb8fac 25 dac.bit.AB = 1;
NT32 0:e6c391eb8fac 26 _chip = 0;
NT32 0:e6c391eb8fac 27 spi.write(dac.command);
NT32 0:e6c391eb8fac 28 _chip = 1;
NT32 0:e6c391eb8fac 29 }
NT32 0:e6c391eb8fac 30 void MotorDriver_SU::Drive(uint8_t channel, uint8_t direction, uint16_t velocity){
NT32 0:e6c391eb8fac 31 dac.bit.AB = (channel ^ 0x01);
NT32 0:e6c391eb8fac 32 dac.bit.D = velocity;
NT32 0:e6c391eb8fac 33 _chip = 0;
NT32 0:e6c391eb8fac 34 spi.write(dac.command);
NT32 0:e6c391eb8fac 35 _chip = 1;
NT32 0:e6c391eb8fac 36 // (*MotorDirect) = ((*MotorDirect) & (0x0F & (0x0F << (channel * 2)))) | (direction <<(channel * 2));
NT32 0:e6c391eb8fac 37 (*MotorDirect) = ((*MotorDirect) & (0x0C >> (channel * 2))) | (direction << (channel * 2));
NT32 0:e6c391eb8fac 38 }