Christian Weiß / Mbed 2 deprecated Diplomarbeit_MW_CW

Dependencies:   mbed

Committer:
martwerl
Date:
Wed Oct 17 17:19:45 2018 +0000
Revision:
0:afeca64a6543
Child:
1:dfa0f59e8d2c
Diplomarbeit_MW_CW

Who changed what in which revision?

UserRevisionLine numberNew contents of line
martwerl 0:afeca64a6543 1
martwerl 0:afeca64a6543 2 #include "MMouse18.h"
martwerl 0:afeca64a6543 3 #include "Serial_HL.h"
martwerl 0:afeca64a6543 4
martwerl 0:afeca64a6543 5 SerialBLK pc(USBTX, USBRX);
martwerl 0:afeca64a6543 6 // SerialBLK pc(p28, p27);
martwerl 0:afeca64a6543 7 SvProtocol ua0(&pc);
martwerl 0:afeca64a6543 8
martwerl 0:afeca64a6543 9 void CommandHandler();
martwerl 0:afeca64a6543 10 void CheckButton();
martwerl 0:afeca64a6543 11
martwerl 0:afeca64a6543 12 Motor mL(p22,p24,p23); Motor mR(p26, p21, p25);
martwerl 0:afeca64a6543 13 Encoder encL(p15,p16); Encoder encR(p30,p29);
martwerl 0:afeca64a6543 14
martwerl 0:afeca64a6543 15 DigitalIn sw(p5);
martwerl 0:afeca64a6543 16
martwerl 0:afeca64a6543 17 BusOut leds(LED1,LED2,LED3,LED4);
martwerl 0:afeca64a6543 18
martwerl 0:afeca64a6543 19 int main(void)
martwerl 0:afeca64a6543 20 {
martwerl 0:afeca64a6543 21 pc.format(8,SerialBLK::None,1);
martwerl 0:afeca64a6543 22 pc.baud(115200);
martwerl 0:afeca64a6543 23 mL.SetPow(0); mR.SetPow(0);
martwerl 0:afeca64a6543 24 encL.Init(ENC_A,ENC_RISE); encR.Init(ENC_A,ENC_RISE);
martwerl 0:afeca64a6543 25
martwerl 0:afeca64a6543 26 ua0.SvMessage("MotTest1");
martwerl 0:afeca64a6543 27
martwerl 0:afeca64a6543 28 Timer stw;
martwerl 0:afeca64a6543 29 stw.start();
martwerl 0:afeca64a6543 30 while(1) {
martwerl 0:afeca64a6543 31 CheckButton();
martwerl 0:afeca64a6543 32 CommandHandler();
martwerl 0:afeca64a6543 33 if( stw.read_ms()>10 ) {
martwerl 0:afeca64a6543 34 stw.reset();
martwerl 0:afeca64a6543 35 if( ua0.acqON ) {
martwerl 0:afeca64a6543 36 ua0.WriteSvI16(1, encL.cnt);
martwerl 0:afeca64a6543 37 ua0.WriteSvI16(2, encR.cnt);
martwerl 0:afeca64a6543 38 }
martwerl 0:afeca64a6543 39 }
martwerl 0:afeca64a6543 40 }
martwerl 0:afeca64a6543 41 return 1;
martwerl 0:afeca64a6543 42 }
martwerl 0:afeca64a6543 43
martwerl 0:afeca64a6543 44 void CommandHandler()
martwerl 0:afeca64a6543 45 {
martwerl 0:afeca64a6543 46 uint8_t cmd;
martwerl 0:afeca64a6543 47 if( !pc.IsDataAvail() )
martwerl 0:afeca64a6543 48 return;
martwerl 0:afeca64a6543 49 cmd = ua0.GetCommand();
martwerl 0:afeca64a6543 50 if( cmd==2 ) {
martwerl 0:afeca64a6543 51 mL.SetPow(ua0.ReadF()); mR.SetPow(ua0.ReadF());
martwerl 0:afeca64a6543 52 ua0.SvMessage("Set Pow");
martwerl 0:afeca64a6543 53 }
martwerl 0:afeca64a6543 54 if( cmd==3 ) {
martwerl 0:afeca64a6543 55 encL.cnt=encR.cnt=0;
martwerl 0:afeca64a6543 56 ua0.SvMessage("Reset Cnt");
martwerl 0:afeca64a6543 57 }
martwerl 0:afeca64a6543 58 }
martwerl 0:afeca64a6543 59
martwerl 0:afeca64a6543 60 void CheckButton()
martwerl 0:afeca64a6543 61 {
martwerl 0:afeca64a6543 62 if( sw==1 )
martwerl 0:afeca64a6543 63 leds=0xF;
martwerl 0:afeca64a6543 64 else
martwerl 0:afeca64a6543 65 leds=0;
martwerl 0:afeca64a6543 66 }