git-svn-id: svn://db.shs.com.ru/pip@787 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -496,6 +496,19 @@ PIByteArray PISerial::readData(int size, double timeout_ms) {
|
||||
}
|
||||
|
||||
|
||||
bool PISerial::send(const void * data, int size) {
|
||||
int ret = 0;
|
||||
int wsz = 0;
|
||||
do {
|
||||
ret = write(&(((uchar*)data)[wsz]), size - wsz);
|
||||
if (ret > 0) wsz += ret;
|
||||
piCout << ret << wsz;
|
||||
else return false;
|
||||
} while (wsz < size);
|
||||
return (wsz == size);
|
||||
}
|
||||
|
||||
|
||||
bool PISerial::openDevice() {
|
||||
//piCout << "ser open" << path();
|
||||
if (path().isEmpty()) return false;
|
||||
|
||||
@@ -164,11 +164,11 @@ public:
|
||||
|
||||
//! \brief Write to device data "data" with maximum size "size" and wait for data written if "wait" is \b true.
|
||||
//! \returns \b true if sended bytes count = "size"
|
||||
bool send(const void * data, int size) {return (write(data, size) == size);}
|
||||
bool send(const void * data, int size);
|
||||
|
||||
//! \brief Write to device byte array "data" and wait for data written if "wait" is \b true.
|
||||
//! \returns \b true if sended bytes count = size of string
|
||||
bool send(const PIByteArray & data) {return (write(data.data(), data.size_s()) == data.size_s());}
|
||||
bool send(const PIByteArray & data) {return send(data.data(), data.size_s());}
|
||||
|
||||
//! \brief Returns all available speeds for serial devices
|
||||
static PIVector<int> availableSpeeds();
|
||||
|
||||
Reference in New Issue
Block a user