esp_modem: Expose set_error_cb method

This commit is contained in:
Tomas Rezucha
2022-09-02 09:14:38 +02:00
parent 444fae9066
commit ae8479c77e
4 changed files with 14 additions and 1 deletions

View File

@ -1,4 +1,4 @@
version: "0.1.19"
version: "0.1.20"
description: esp modem
url: https://github.com/espressif/esp-protocols/tree/master/components/esp_modem
dependencies:

View File

@ -75,6 +75,12 @@ public:
*/
void set_read_cb(std::function<bool(uint8_t *data, size_t len)> f);
/**
* @brief Sets DTE error callback
* @param f Function to be called on DTE error
*/
void set_error_cb(std::function<void(terminal_error err)> f);
/**
* @brief Sets the DTE to desired mode (Command/Data/Cmux)
* @param m Desired operation mode

View File

@ -41,6 +41,7 @@ enum class terminal_error {
BUFFER_OVERFLOW,
CHECKSUM_ERROR,
UNEXPECTED_CONTROL_FLOW,
DEVICE_GONE,
};
/**

View File

@ -155,6 +155,12 @@ void DTE::set_read_cb(std::function<bool(uint8_t *, size_t)> f)
});
}
void DTE::set_error_cb(std::function<void(terminal_error err)> f)
{
data_term->set_error_cb(f);
command_term->set_error_cb(f);
}
int DTE::read(uint8_t **d, size_t len)
{
auto data_to_read = std::min(len, buffer.size);