espressif_idf-extra-components/usb/esp_modem_usb_dte/README.md

1.3 KiB

USB DTE plugin for esp_modem

⚠️ Experimental feature: USB DTE is under development!

This component extends esp_modem with USB DTE.

Examples

For example usage see esp_modem examples:

USB hotplugging and reconnection

USB DTE supports device reconnection and hot-plugging. You must only register callback function for DEVICE_GONE event and react accordingly:

C++ with lambda callback:

auto dte = create_usb_dte(&dte_config);
dte->set_error_cb([&](terminal_error err) {
    if (err == terminal_error::DEVICE_GONE) {
        // Signal your application that USB modem device has been disconnected
    }
});

C:

static void usb_terminal_error_handler(esp_modem_terminal_error_t err) {
    if (err == ESP_MODEM_TERMINAL_DEVICE_GONE) {
        // Signal your application that USB modem device has been disconnected
    }
}
esp_modem_dce_t *dce = esp_modem_new_dev_usb(ESP_MODEM_DCE_BG96, &dte_usb_config, &dce_config, esp_netif);
esp_modem_set_error_cb(dce, usb_terminal_error_handler);