git-svn-id: svn://db.shs.com.ru/pip@638 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2018-10-03 19:51:47 +00:00
parent e1a495039d
commit 031079d24c
3 changed files with 19 additions and 8 deletions

View File

@@ -292,7 +292,7 @@ void PISerial::flush() {
bool PISerial::closeDevice() {
if (isRunning()) {
if (isRunning() && !isStopping()) {
stop();
PIThread::terminate();
}
@@ -627,7 +627,13 @@ int PISerial::readDevice(void * read_to, int max_size) {
//WaitCommEvent(PRIVATE->hCom, 0, 0);
//piCoutObj << "read ..." << PRIVATE->hCom;
ReadFile(PRIVATE->hCom, read_to, max_size, &PRIVATE->readed, 0);
//piCoutObj << "read ok" << PRIVATE->readed;
DWORD err = GetLastError();
if (err == ERROR_BAD_COMMAND) {
PIThread::stop(false);
close();
return 0;
}
//piCoutObj << "read" << (PRIVATE->readed) << errorString();
return PRIVATE->readed;
#else
if (!canRead()) return -1;

View File

@@ -118,6 +118,9 @@ public:
// //! Returns pointer to \a missedPackets() count. Useful for output to PIConsole
const ullong * missedPackets_ptr() const {return &missed_packets;}
void appendData(const void * d, int s) {threadedRead(const_cast<uchar*>((const uchar *)d), s);}
void appendData(const PIByteArray & data) {appendData(data.data(), data.size_s());}
EVENT2(packetReceived, uchar * , data, int, size)
//! \events