C++ API Documentation
Similar to the C API Documentation, the basic application workflow consist of
Create DTE and DCE
-
group ESP_MODEM_INIT_DTE
Create DTE’s.
Functions
-
std::shared_ptr<DTE> create_uart_dte(const dte_config *config)
Create UART DTE.
- Parameters:
config – DTE configuration
- Returns:
shared ptr to DTE on success nullptr on failure (either due to insufficient memory or wrong dte configuration) if exceptions are disabled the API abort()’s on error
-
std::shared_ptr<DTE> create_vfs_dte(const dte_config *config)
Create VFS DTE.
- Parameters:
config – DTE configuration
- Returns:
shared ptr to DTE on success nullptr on failure (either due to insufficient memory or wrong dte configuration) if exceptions are disabled the API abort()’s on error
-
group ESP_MODEM_INIT_DCE
ESP_MODEM Initialization API for DCE.
Functions
-
std::unique_ptr<DCE> create_SIM7600_dce(const dce_config *config, std::shared_ptr<DTE> dte, esp_netif_t *netif)
Create DCE based on SIM7600 module.
- Parameters:
config – DCE configuration
dte – reference to the communicating DTE
netif – reference to the network interface
- Returns:
unique ptr to the created DCE on success nullptr on failure if exceptions are disabled the API abort()’s on error
-
std::unique_ptr<DCE> create_SIM800_dce(const dce_config *config, std::shared_ptr<DTE> dte, esp_netif_t *netif)
Create DCE based on SIM800 module.
-
std::unique_ptr<DCE> create_BG96_dce(const dce_config *config, std::shared_ptr<DTE> dte, esp_netif_t *netif)
Create DCE based on BG96 module.
-
std::unique_ptr<DCE> create_generic_dce(const dce_config *config, std::shared_ptr<DTE> dte, esp_netif_t *netif)
Create generic DCE.
Mode switching commands
-
template<class SpecificModule>
class esp_modem::DCE_T
General DCE class templated on a specific module. It is responsible for all the necessary transactions related to switching modes and consequent synergy with aggregated objects of DTE, Netif and a specific Module.
Public Functions
-
inline void set_data()
Set data mode!
Destroy the DCE
The DCE object is created as std::unique_ptr by default and as such doesn’t have to be explicitly destroyed.
It simply gets destroyed and cleaned-up automatically if the object goes out of the block scope.