1am

Files at this revision

API Documentation at this revision

Comitter:
sowmy87
Date:
Thu Dec 16 09:25:25 2010 +0000
Parent:
2:9e0d3f159ec3
Commit message:
1

Changed in this revision

Serializer.cpp Show annotated file Show diff for this revision Revisions of this file
Serializer.h Show annotated file Show diff for this revision Revisions of this file
diff -r 9e0d3f159ec3 -r 94b650d0861d Serializer.cpp
--- a/Serializer.cpp	Mon Dec 13 06:04:02 2010 +0000
+++ b/Serializer.cpp	Thu Dec 16 09:25:25 2010 +0000
@@ -3,7 +3,7 @@
  */
 #include "Serializer.h"
 
-Serial pcc(USBTX, USBRX);
+//Serial pcc(USBTX, USBRX);
 
 Serializer::Serializer() {
     serial=new Serial(p28,p27);
@@ -25,20 +25,19 @@
     led2=1;
     while (serial->readable()) {
         c1=serial->getc();
-        pcc.putc(c1);
     }
     if (c1!='>')
         for (int i=0;i<5;i++) {
             led1=led2=led3=led4=1;
-            wait(0.5);
+            wait(0.1);
             led1=led2=led3=led4=0;
-            wait(0.5);
+            wait(0.1);
         }
     wait(.25);
     led3=1;
     wait(.25);
     led4=1;
-    SetVPID(10,0,5,10);
+    SetVPID(1,0,0,100);
     wait(0.25);
     led1=0;
     wait(.25);
@@ -97,11 +96,9 @@
 }
 
 void Serializer::SetSpeed(int inPsec) {
-    pcc.printf("inSpeed %i\n\r",inPsec);
     if (inPsec>MAX_SPEED)inPsec=MAX_SPEED;
     if (inPsec<-MAX_SPEED)inPsec=-MAX_SPEED;
     inPsec*=-1;
-    pcc.printf("mogo 1:%i\n\r",inPsec);
     if (serial->writeable())
         serial->printf("mogo 1:%i 2:%i\r", inPsec, inPsec);
     leftSpeed=rightSpeed=inPsec;
@@ -189,9 +186,7 @@
 void Serializer::PivetLeft(int deg) {
 
     Stop();
-    pcc.printf("deg = %i\t",deg);
     deg=deg*PIVET_ADJUSTMENT;
-    //pcc.printf("adj = %i\n\r",deg);
     wait(0.1);
     if (serial->writeable())
         serial->printf("digo 1:%i:%i 2:%i:%i\r",deg,PIVET_SPEED,-deg,PIVET_SPEED);
@@ -219,6 +214,20 @@
         serial->printf("pwm 2:%i\r",_rPWM);
 }
 
+void Serializer::SetPWM(int pwm){
+    _rPWM=-pwm;
+    _lPWM=-pwm;
+    if (serial->writeable())
+        serial->printf("pwm 1:%i 2:%i\r",_lPWM, _rPWM);      
+ }
+
+void Serializer::SetPWM(int lPwm, int rPwm){
+    _rPWM=-rPwm;
+    _lPWM=-lPwm;
+    if (serial->writeable())
+        serial->printf("pwm 1:%i 2:%i\r",_lPWM, _rPWM);      
+ }
+
 int Serializer::GetCountLeft() {
     if (serial->writeable()) {
         serial->printf("getenc 1\r");
@@ -317,6 +326,5 @@
         else if (c=='0')
             bsy=0;
     }
-   pcc.putc(_isBusy+'0');
     if (_isBusy&&!bsy) _isBusy=0;
 }
diff -r 9e0d3f159ec3 -r 94b650d0861d Serializer.h
--- a/Serializer.h	Mon Dec 13 06:04:02 2010 +0000
+++ b/Serializer.h	Thu Dec 16 09:25:25 2010 +0000
@@ -20,7 +20,7 @@
 #include "mbed.h"
 
 /**
- * Serializer Class to communicate with Robotics 
+ * Serializer Class to communicate with Robotics
  * Connection Serializer(tm) board
  */
 class Serializer {
@@ -29,9 +29,9 @@
     /**
      * Constructor.
      *
-     */     
+     */
     Serializer();
-    
+
     /**
      * Destructor.
      *
@@ -43,33 +43,33 @@
      *
      */
     void    ClearCountLeft();
-    
+
     /**
      * Clears right motor encoder count
      *
-     */ 
+     */
     void    ClearCountRight();
-    
+
     /**
      * Clears motors encoder counts
      *
      */
     void    ClearCount();
-    
+
     /**
      * Sets left motor speed
      * @param inPsec Motor Speed in inches per second
      */
     void    SetSpeedLeft(int inPsec);
-    
+
     /**
      * Sets right motor speed
      * @param inPsec Motor Speed in inches per second
      */
     void    SetSpeedRight(int inPsec);
-    
+
     /**
-     * Sets speed for both motors 
+     * Sets speed for both motors
      * @param inPsec Motor Speed in inches per second
      */
     void    SetSpeed(int inPsec);
@@ -82,7 +82,7 @@
      * @param l
      */
     void    SetVPID(int,int,int,int);
-    
+
     /**
      * Sets DPID
      * @param p
@@ -91,51 +91,52 @@
      * @param a
      */
     void    SetDPID(int,int,int,int);
-    
+
     /**
      * Sets left motor distance and speed
-     * @param inches Distance in inches
+     * @param inches Distance in ticks
      * @param inPsec Motor Speed
      */
     void    DiGoLeft(int inches,int inPsec);
-    
+
     /**
      * Sets right motor distance and speed
-     * @param inches Distance in inches
+     * @param inches Distance in ticks
      * @param inPsec Motor Speed
      */
     void    DiGoRight(int inches,int inPsec);
-    
+
     /**
      * Sets both motors distance and speed
-     * @param inches Distance in inches
+     * @param inches Distance in ticks
      * @param inPsec Motor Speed
      */
     void    DiGo(int inches,int inPsec);
-    
+
     void    SetLeftPWM(int pwm);
     void    SetRightPWM(int pwm);
-
+    void    SetPWM(int pwm);
+    void    SetPWM(int lPwm, int rPwm);
     int     IsBusy();
-    
+
     /**
      * Stops both motors
      */
     void    Stop();
-    
+
     void    TurnLeft(int deg);
     void    TurnRight(int deg);
     void    PivetLeft(int deg);
     void    PivetRight(int deg);
-    
+
     int     GetCountLeft();
     int     GetCountRight();
     int     GetCount();
     float   GetDistanceLeft();
     float   GetDistanceRight();
     float   GetDistance();
-    
-    
+
+