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 description: esp modem
url: https://github.com/espressif/esp-protocols/tree/master/components/esp_modem url: https://github.com/espressif/esp-protocols/tree/master/components/esp_modem
dependencies: dependencies:

View File

@ -75,6 +75,12 @@ public:
*/ */
void set_read_cb(std::function<bool(uint8_t *data, size_t len)> f); 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) * @brief Sets the DTE to desired mode (Command/Data/Cmux)
* @param m Desired operation mode * @param m Desired operation mode

View File

@ -41,6 +41,7 @@ enum class terminal_error {
BUFFER_OVERFLOW, BUFFER_OVERFLOW,
CHECKSUM_ERROR, CHECKSUM_ERROR,
UNEXPECTED_CONTROL_FLOW, 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) int DTE::read(uint8_t **d, size_t len)
{ {
auto data_to_read = std::min(len, buffer.size); auto data_to_read = std::min(len, buffer.size);