Communication: Add pause feature

Removed redirect read
This commit is contained in:
Yasser Yassine
2024-05-23 21:23:45 +00:00
parent 9a1cd1124d
commit 659fcf633c
13 changed files with 99 additions and 70 deletions
+1 -1
View File
@@ -190,7 +190,7 @@ void CDCACM::readTask() {
}
std::cout << std::dec << std::endl;
#endif
readBuffer.write(readbuf, bytesRead);
writeToReadBuffer(readbuf, bytesRead);
} else {
if(modeChanging) {
// We were expecting a disconnect for reenumeration
+1 -1
View File
@@ -242,7 +242,7 @@ void FirmIO::readTask() {
// Translate the physical address back to our virtual address space
uint8_t* addr = reinterpret_cast<uint8_t*>(msg.payload.data.addr - PHY_ADDR_BASE + vbase);
while (!readBuffer.write(addr, msg.payload.data.len)) {
while (!writeToReadBuffer(addr, msg.payload.data.len)) {
std::this_thread::sleep_for(std::chrono::milliseconds(1)); // back-off so reading thread can empty the buffer
if (closing || isDisconnected()) {
break;
+1 -1
View File
@@ -213,7 +213,7 @@ void FTDI::readTask() {
} else
report(APIEvent::Type::FailedToRead, APIEvent::Severity::EventWarning);
} else
readBuffer.write(readbuf, readBytes);
writeToReadBuffer(readbuf, readBytes);
}
}
+1 -1
View File
@@ -284,7 +284,7 @@ void PCAP::readTask() {
PCAP* driver = reinterpret_cast<PCAP*>(obj);
if(driver->ethPacketizer.inputUp({data, data + header->caplen})) {
const auto bytes = driver->ethPacketizer.outputUp();
driver->readBuffer.write(bytes.data(), bytes.size());
driver->writeToReadBuffer(bytes.data(), bytes.size());
}
}, (uint8_t*)this);
}