2021-03-03 20:35:08 +01:00
|
|
|
#pragma once
|
|
|
|
#include "cxx_include/esp_modem_dce_commands_if.hpp"
|
|
|
|
|
|
|
|
class DCE {
|
|
|
|
public:
|
|
|
|
explicit DCE(const std::shared_ptr<DTE>& d, std::shared_ptr<DeviceIf> device, esp_netif_t * netif);
|
|
|
|
void set_data() {
|
|
|
|
// command("AT+CGDCONT=1,\"IP\",\"internet\"\r", [&](uint8_t *data, size_t len) {
|
|
|
|
// return command_result::OK;
|
|
|
|
// }, 1000);
|
|
|
|
// command("ATD*99***1#\r", [&](uint8_t *data, size_t len) {
|
|
|
|
// return command_result::OK;
|
|
|
|
// }, 1000);
|
|
|
|
device->setup_data_mode();
|
|
|
|
device->set_mode(dte_mode::DATA_MODE);
|
|
|
|
dce_dte->set_mode(dte_mode::DATA_MODE);
|
|
|
|
ppp_netif.start();
|
|
|
|
}
|
2021-03-04 20:19:18 +01:00
|
|
|
void exit_data();
|
2021-03-03 20:35:08 +01:00
|
|
|
command_result command(const std::string& command, got_line_cb got_line, uint32_t time_ms) {
|
|
|
|
return dce_dte->command(command, got_line, time_ms);
|
|
|
|
}
|
2021-03-04 20:19:18 +01:00
|
|
|
void set_cmux();
|
2021-03-03 20:35:08 +01:00
|
|
|
private:
|
|
|
|
std::shared_ptr<DTE> dce_dte;
|
|
|
|
std::shared_ptr<DeviceIf> device;
|
2021-03-04 20:19:18 +01:00
|
|
|
PPP ppp_netif;
|
2021-03-03 20:35:08 +01:00
|
|
|
};
|