aa

Dependencies:   mbed

Fork of AnalogOut-HelloWorld by Mbed

Committer:
fewerhy
Date:
Mon Oct 10 20:40:05 2016 +0000
Revision:
5:e6536d2d5aba
stable

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fewerhy 5:e6536d2d5aba 1 #include "mdeviceCtrl.h"
fewerhy 5:e6536d2d5aba 2
fewerhy 5:e6536d2d5aba 3 mdeviceCtrl::mdeviceCtrl()
fewerhy 5:e6536d2d5aba 4 {
fewerhy 5:e6536d2d5aba 5 myDevice= new mdevice();
fewerhy 5:e6536d2d5aba 6 needleStatus=0;
fewerhy 5:e6536d2d5aba 7 }
fewerhy 5:e6536d2d5aba 8
fewerhy 5:e6536d2d5aba 9 void mdeviceCtrl::run()
fewerhy 5:e6536d2d5aba 10 {
fewerhy 5:e6536d2d5aba 11 myDevice->updateDeviceStatus();
fewerhy 5:e6536d2d5aba 12 int tempB=myDevice->getButtonEdge();
fewerhy 5:e6536d2d5aba 13
fewerhy 5:e6536d2d5aba 14 int mp0=myDevice->getMotorPos0();
fewerhy 5:e6536d2d5aba 15 int mp1=myDevice->getMotorPos1();
fewerhy 5:e6536d2d5aba 16
fewerhy 5:e6536d2d5aba 17 cout<< mp0 <<" "<< mp1<<endl;
fewerhy 5:e6536d2d5aba 18 if (tempB==1)
fewerhy 5:e6536d2d5aba 19 {
fewerhy 5:e6536d2d5aba 20 myDevice->runMotor0(0.2);
fewerhy 5:e6536d2d5aba 21 myDevice->runMotor1(-0.02);
fewerhy 5:e6536d2d5aba 22 }
fewerhy 5:e6536d2d5aba 23 else if (tempB==-1)
fewerhy 5:e6536d2d5aba 24 {
fewerhy 5:e6536d2d5aba 25 myDevice->runMotor0(0.0);
fewerhy 5:e6536d2d5aba 26 myDevice->runMotor1(0.0);
fewerhy 5:e6536d2d5aba 27 }
fewerhy 5:e6536d2d5aba 28 }
fewerhy 5:e6536d2d5aba 29
fewerhy 5:e6536d2d5aba 30 bool mdeviceCtrl::inserNeedle( )
fewerhy 5:e6536d2d5aba 31 {
fewerhy 5:e6536d2d5aba 32 myDevice->runMotor0(1.0);
fewerhy 5:e6536d2d5aba 33 int tempPos=myDevice->getMotorPos0();
fewerhy 5:e6536d2d5aba 34 if (tempPos>200)
fewerhy 5:e6536d2d5aba 35 {
fewerhy 5:e6536d2d5aba 36 return true;
fewerhy 5:e6536d2d5aba 37 }
fewerhy 5:e6536d2d5aba 38 else
fewerhy 5:e6536d2d5aba 39 {
fewerhy 5:e6536d2d5aba 40 return false;
fewerhy 5:e6536d2d5aba 41 }
fewerhy 5:e6536d2d5aba 42 }
fewerhy 5:e6536d2d5aba 43
fewerhy 5:e6536d2d5aba 44 bool mdeviceCtrl::retractNeedle( )
fewerhy 5:e6536d2d5aba 45 {
fewerhy 5:e6536d2d5aba 46 myDevice->runMotor0(-1.0);
fewerhy 5:e6536d2d5aba 47 int tempPos=myDevice->getMotorPos0();
fewerhy 5:e6536d2d5aba 48 if ( tempPos<10)
fewerhy 5:e6536d2d5aba 49 {
fewerhy 5:e6536d2d5aba 50 return true;
fewerhy 5:e6536d2d5aba 51 }
fewerhy 5:e6536d2d5aba 52 else
fewerhy 5:e6536d2d5aba 53 {
fewerhy 5:e6536d2d5aba 54 return false;
fewerhy 5:e6536d2d5aba 55 }
fewerhy 5:e6536d2d5aba 56 }
fewerhy 5:e6536d2d5aba 57
fewerhy 5:e6536d2d5aba 58 bool mdeviceCtrl::switchNeedle1()
fewerhy 5:e6536d2d5aba 59 {
fewerhy 5:e6536d2d5aba 60 needleStatus++;
fewerhy 5:e6536d2d5aba 61 if (needleStatus%2==0)
fewerhy 5:e6536d2d5aba 62 {
fewerhy 5:e6536d2d5aba 63 myDevice->runMotor1(-0.2);
fewerhy 5:e6536d2d5aba 64 int tempPos=myDevice->getMotorPos1();
fewerhy 5:e6536d2d5aba 65 if (tempPos>1)
fewerhy 5:e6536d2d5aba 66 {
fewerhy 5:e6536d2d5aba 67 return true;
fewerhy 5:e6536d2d5aba 68 }
fewerhy 5:e6536d2d5aba 69 else
fewerhy 5:e6536d2d5aba 70 {
fewerhy 5:e6536d2d5aba 71 return false;
fewerhy 5:e6536d2d5aba 72 }
fewerhy 5:e6536d2d5aba 73 }
fewerhy 5:e6536d2d5aba 74 else
fewerhy 5:e6536d2d5aba 75 {
fewerhy 5:e6536d2d5aba 76 myDevice->runMotor1(0.2);
fewerhy 5:e6536d2d5aba 77 int tempPos=myDevice->getMotorPos1();
fewerhy 5:e6536d2d5aba 78 if (tempPos<0)
fewerhy 5:e6536d2d5aba 79 {
fewerhy 5:e6536d2d5aba 80 return true;
fewerhy 5:e6536d2d5aba 81 }
fewerhy 5:e6536d2d5aba 82 else
fewerhy 5:e6536d2d5aba 83 {
fewerhy 5:e6536d2d5aba 84 return false;
fewerhy 5:e6536d2d5aba 85 }
fewerhy 5:e6536d2d5aba 86 }
fewerhy 5:e6536d2d5aba 87 }