CMUX: Initial version of CMUX implementation

This commit is contained in:
David Cermak
2021-04-06 08:33:40 +02:00
parent eca6aaad33
commit 7a09175d5b
10 changed files with 184 additions and 165 deletions

View File

@ -149,7 +149,7 @@ public:
int read(uint8_t *data, size_t len) override;
void set_data_cb(std::function<bool(size_t len)> f) override {
void set_read_cb(std::function<bool(uint8_t *data, size_t len)> f) override {
on_data = std::move(f);
signal.set(TASK_PARAMS);
}
@ -185,7 +185,7 @@ std::unique_ptr<Terminal> create_uart_terminal(const esp_modem_dte_config *confi
}
void uart_terminal::task() {
std::function<bool(size_t len)> on_data_priv = nullptr;
std::function<bool(uint8_t *data, size_t len)> on_data_priv = nullptr;
uart_event_t event;
size_t len;
signal.set(TASK_INIT);
@ -207,7 +207,7 @@ void uart_terminal::task() {
uart_get_buffered_data_len(uart.port, &len);
// ESP_LOGI(TAG, "UART_DATA len=%d, on_data=%d", len, (bool)on_data);
if (len && on_data_priv) {
if (on_data_priv(len)) {
if (on_data_priv(nullptr, len)) {
on_data_priv = nullptr;
}
}