]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tools/platforms/msp430/cppbsl/src/Serial.h
sleep better -- more in line with FTDI timeouts etc.
[tinyos-2.x.git] / tools / platforms / msp430 / cppbsl / src / Serial.h
index 597534d14299d6b77169c4f52ad4b841d520f02e..feca96c2d606e6534c7f0ee24769b3e21f46d41f 100644 (file)
@@ -103,9 +103,6 @@ protected:
             *err = errno;
             std::cerr << "ERROR: BaseSerial::setDTR could not set DTR pin" << std::endl;
         }
-        else {
-            serial_delay(switchdelay);
-        }
         return r;
     }
     inline int clrDTR(int *err) {
@@ -115,9 +112,6 @@ protected:
             *err = errno;
             std::cerr << "ERROR: BaseSerial::clrDTR could not clr DTR pin" << std::endl;
         }
-        else {
-            serial_delay(switchdelay);
-        }
         return r;
     }
     inline int setRTS(int *err) {
@@ -127,9 +121,6 @@ protected:
             *err = errno;
             std::cerr << "ERROR: BaseSerial::setRTS could not set RTS pin" << std::endl;
         }
-        else {
-            serial_delay(switchdelay);
-        }
         return r;
     }
     inline int clrRTS(int *err) {
@@ -139,9 +130,6 @@ protected:
             *err = errno;
             std::cerr << "ERROR: BaseSerial::clrRTS could not clr RTS pin" << std::endl;
         }
-        else {
-            serial_delay(switchdelay);
-        }
         return r;
     }
     
@@ -181,18 +169,18 @@ protected:
     }
     
     int readFD(int *err, char *buffer, int count, int maxCount);
+    virtual int setPins(int *err);
     virtual int resetPins(int *err);
     
 public:
     BaseSerial(const termios& term, int rFD, int wFD, bool T=false, bool R=false) :
-        switchdelay(10),
+        switchdelay(30000),
         oldtermios(term),
         serialReadFD(rFD), serialWriteFD(wFD),
         invertTest(T), invertReset(R) {
         int err;
         FD_ZERO(&rfds);
-        setRST(&err);
-        setTEST(&err);
+        setPins(&err);
     }
     
     virtual ~BaseSerial() {
@@ -235,6 +223,7 @@ public:
 class TelosBSerial : public BaseSerial {    
 protected:
     virtual int resetPins(int *err);
+    virtual int setPins(int *err);
         
     int telosSetSCL(int *err) {
         return clrRTS(err);