mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-06 15:04:11 +00:00
interrupt safe USB send function
This commit is contained in:
parent
5137457545
commit
c05d248f83
13 changed files with 38 additions and 73 deletions
|
|
@ -581,16 +581,16 @@ void Device::transmissionFinished(TransmissionResult result)
|
|||
// remove transmitted packet
|
||||
// qDebug() << "Transmission finsished (" << result << "), queue at " << transmissionQueue.size() << " Outstanding ACKs:"<<outstandingAckCount;
|
||||
if(transmissionQueue.empty()) {
|
||||
qWarning() << "transmissionFinished with empty transmission queue, stray Ack?";
|
||||
qWarning() << "transmissionFinished with empty transmission queue, stray Ack? Result:" << result;
|
||||
return;
|
||||
}
|
||||
auto t = transmissionQueue.dequeue();
|
||||
if(result == TransmissionResult::Timeout) {
|
||||
qWarning() << "transmissionFinished with timeout";
|
||||
qWarning() << "transmissionFinished with timeout, packettype:" << (int) t.packet.type << "Device:" << serial();
|
||||
}
|
||||
if(result == TransmissionResult::Nack) {
|
||||
qWarning() << "transmissionFinished with NACK";
|
||||
}
|
||||
auto t = transmissionQueue.dequeue();
|
||||
if(t.callback) {
|
||||
t.callback(result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,7 +118,8 @@ private:
|
|||
USBInBuffer *dataBuffer;
|
||||
USBInBuffer *logBuffer;
|
||||
|
||||
using Transmission = struct {
|
||||
class Transmission {
|
||||
public:
|
||||
Protocol::PacketInfo packet;
|
||||
unsigned int timeout;
|
||||
std::function<void(TransmissionResult)> callback;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue