Skip to content

Commit b97dfc0

Browse files
feat(modem): added sqn_gm02s connect function
1 parent 8560f02 commit b97dfc0

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

components/esp_modem/include/esp_modem_c_api_types.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ esp_err_t esp_modem_set_apn(esp_modem_dce_t *dce, const char *apn);
163163
esp_err_t esp_modem_set_urc(esp_modem_dce_t *dce, esp_err_t(*got_line_cb)(uint8_t *data, size_t len));
164164
#endif
165165

166+
esp_err_t esp_modem_sqns_gm02s_connect(esp_modem_dce_t *dce, const esp_modem_PdpContext_t *pdp_context);
167+
166168
/**
167169
* @brief This API provides support for temporarily pausing networking in order
168170
* to send/receive AT commands and resume networking afterwards.

components/esp_modem/src/esp_modem_c_api.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -459,44 +459,49 @@ extern "C" esp_err_t esp_modem_config_network_registration_urc(esp_modem_dce_t *
459459
return ESP_ERR_INVALID_ARG;
460460
}
461461

462-
return command_response_to_esp_err(dce_wrap->dce->configure_network_registration_urc(value));
462+
return command_response_to_esp_err(dce_wrap->dce->config_network_registration_urc(value));
463463
}
464464

465465
extern "C" esp_err_t esp_modem_get_network_registration_state(esp_modem_dce_t *dce_wrap, int *p_state)
466466
{
467-
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || p_state == nullptr)
468-
{
467+
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || p_state == nullptr) {
469468
return ESP_ERR_INVALID_ARG;
470469
}
471470

472471
int state;
473472
auto ret = command_response_to_esp_err(dce_wrap->dce->get_network_registration_state(state));
474473

475-
if (ret == ESP_OK)
476-
{
474+
if (ret == ESP_OK) {
477475
*p_state = state;
478476
}
479477
return ret;
480478
}
481479

482480
extern "C" esp_err_t esp_modem_config_mobile_termination_error(esp_modem_dce_t *dce_wrap, int mode)
483481
{
484-
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || mode > 2)
485-
{
482+
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || mode > 2) {
486483
return ESP_ERR_INVALID_ARG;
487484
}
488485

489486
return command_response_to_esp_err(dce_wrap->dce->config_mobile_termination_error(mode));
490487
}
491488

492-
extern "C" esp_err_t esp_modem_config_edrx(esp_modem_dce_t *dce, int value, const char *access_technology)
489+
extern "C" esp_err_t esp_modem_config_edrx(esp_modem_dce_t *dce, int mode, int access_technology, const char *edrx_value, const char *ptw_value)
493490
{
491+
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || mode > 3 || access_technology > 5) {
492+
return ESP_ERR_INVALID_ARG;
493+
}
494+
495+
if ((mode == 1 || mode == 2 ) && (strlen(edrx_value) != 4 || strlen(ptw_value) != 4)) {
496+
return ESP_ERR_INVALID_ARG;
497+
}
494498

499+
return command_response_to_esp_err(dce_wrap->dce->config_edrx(mode,access_technology,std::string(edrx_value),std::string(ptw_value)));
495500
}
496501

497-
extern "C" esp_err_t esp_modem_sqns_gm02s_connect(esp_modem_dce_t *dce, const esp_modem_PdpContext_t *pdp_context)
502+
extern "C" esp_err_t esp_modem_sqns_gm02s_connect(esp_modem_dce_t *dce_wrap, const esp_modem_PdpContext_t *pdp_context)
498503
{
499-
if (dce_wrap == nullptr || dce_wrap->dce == nullptr || dce_wrap->modem_type != ESP_MODEM_DCE_SQNGM02S)
504+
if (dce_wrap == nullptr || dce_wrap->dce == nullptr)
500505
{
501506
return ESP_ERR_INVALID_ARG;
502507
}

0 commit comments

Comments
 (0)