fix: prevent ESP32 KISS modem stalls under USB backpressure

Switch ESP32-S3 KISS modem environments to HWCDC and move outbound KISS writes to a non-blocking queued frame path so loop() and TX completion keep progressing when the host reads slowly. Add native backpressure regression tests and correct the native_kiss_modem test filter so this suite runs directly with pio test.
This commit is contained in:
ViezeVingertjes
2026-07-18 22:43:55 +02:00
parent 795989b918
commit fb2c61f862
15 changed files with 701 additions and 46 deletions
+17 -4
View File
@@ -1,10 +1,23 @@
#pragma once
// Mock Stream class for native testing
// Provides minimal interface needed by Utils.h
#include <cstddef>
#include <cstdint>
class Stream {
public:
virtual void print(char c) {}
virtual void print(const char* str) {}
virtual ~Stream() = default;
virtual size_t write(uint8_t) { return 1; }
virtual size_t write(const uint8_t* buffer, size_t size) {
size_t total = 0;
for (size_t i = 0; i < size; i++) {
total += write(buffer[i]);
}
return total;
}
virtual int available() { return 0; }
virtual int availableForWrite() { return 0; }
virtual int read() { return -1; }
virtual void flush() {}
virtual void print(char) {}
virtual void print(const char*) {}
};