From a77e9a8ab937c41992426aba50fdb30c8657a897 Mon Sep 17 00:00:00 2001 From: Jonathan Dreyer Date: Sat, 30 Jan 2021 23:29:32 +0100 Subject: [PATCH] Move typedef with private resource into esp_modem_dce.h Signed-off-by: Jonathan Dreyer Signed-off-by: Liu Han --- .../components/modem/include/esp_modem_dce.h | 10 +++ .../modem/private_include/bg96_private.h | 9 --- .../pppos_client/components/modem/src/bg96.c | 56 ++++++++-------- .../modem/src/esp_modem_dce_service.c | 9 --- .../components/modem/src/sim7600.c | 8 +-- .../components/modem/src/sim800.c | 65 ++++++++----------- 6 files changed, 70 insertions(+), 87 deletions(-) diff --git a/examples/protocols/pppos_client/components/modem/include/esp_modem_dce.h b/examples/protocols/pppos_client/components/modem/include/esp_modem_dce.h index 6a88de0c36..3da9d0aea1 100644 --- a/examples/protocols/pppos_client/components/modem/include/esp_modem_dce.h +++ b/examples/protocols/pppos_client/components/modem/include/esp_modem_dce.h @@ -23,6 +23,7 @@ extern "C" { typedef struct modem_dce modem_dce_t; typedef struct modem_dte modem_dte_t; +typedef struct esp_modem_dce esp_modem_dce_t; /** * @brief Result Code from DCE @@ -96,6 +97,15 @@ struct modem_dce { esp_err_t (*deinit)(modem_dce_t *dce); /*!< Deinitialize */ }; +/** + * @brief ESP Modem with private resource + * + */ + struct esp_modem_dce { + void *priv_resource; /*!< Private resource */ + modem_dce_t parent; /*!< DCE parent class */ + }; + #ifdef __cplusplus } #endif diff --git a/examples/protocols/pppos_client/components/modem/private_include/bg96_private.h b/examples/protocols/pppos_client/components/modem/private_include/bg96_private.h index 6b245fc8fd..eef0bd4aad 100644 --- a/examples/protocols/pppos_client/components/modem/private_include/bg96_private.h +++ b/examples/protocols/pppos_client/components/modem/private_include/bg96_private.h @@ -26,12 +26,3 @@ goto goto_tag; \ } \ } while (0) - -/** - * @brief BG96 Modem - * - */ -typedef struct { - void *priv_resource; /*!< Private resource */ - modem_dce_t parent; /*!< DCE parent class */ -} bg96_modem_dce_t; diff --git a/examples/protocols/pppos_client/components/modem/src/bg96.c b/examples/protocols/pppos_client/components/modem/src/bg96.c index 5f746b3c71..a4e96ae17b 100644 --- a/examples/protocols/pppos_client/components/modem/src/bg96.c +++ b/examples/protocols/pppos_client/components/modem/src/bg96.c @@ -118,52 +118,52 @@ err: */ static esp_err_t bg96_deinit(modem_dce_t *dce) { - bg96_modem_dce_t *bg96_dce = __containerof(dce, bg96_modem_dce_t, parent); + esp_modem_dce_t *esp_modem_dce = __containerof(dce, esp_modem_dce_t, parent); if (dce->dte) { dce->dte->dce = NULL; } - free(bg96_dce); + free(esp_modem_dce); return ESP_OK; } modem_dce_t *bg96_init(modem_dte_t *dte) { DCE_CHECK(dte, "DCE should bind with a DTE", err); - /* malloc memory for bg96_dce object */ - bg96_modem_dce_t *bg96_dce = calloc(1, sizeof(bg96_modem_dce_t)); - DCE_CHECK(bg96_dce, "calloc bg96_dce failed", err); + /* malloc memory for esp_modem_dce object */ + esp_modem_dce_t *esp_modem_dce = calloc(1, sizeof(esp_modem_dce_t)); + DCE_CHECK(esp_modem_dce, "calloc bg96_dce failed", err); /* Bind DTE with DCE */ - bg96_dce->parent.dte = dte; - dte->dce = &(bg96_dce->parent); + esp_modem_dce->parent.dte = dte; + dte->dce = &(esp_modem_dce->parent); /* Bind methods */ - bg96_dce->parent.handle_line = NULL; - bg96_dce->parent.sync = esp_modem_dce_sync; - bg96_dce->parent.echo_mode = esp_modem_dce_echo; - bg96_dce->parent.store_profile = esp_modem_dce_store_profile; - bg96_dce->parent.set_flow_ctrl = esp_modem_dce_set_flow_ctrl; - bg96_dce->parent.define_pdp_context = esp_modem_dce_define_pdp_context; - bg96_dce->parent.hang_up = esp_modem_dce_hang_up; - bg96_dce->parent.get_signal_quality = esp_modem_dce_get_signal_quality; - bg96_dce->parent.get_battery_status = esp_modem_dce_get_battery_status; - bg96_dce->parent.get_operator_name = esp_modem_dce_get_operator_name; - bg96_dce->parent.set_working_mode = bg96_set_working_mode; - bg96_dce->parent.power_down = bg96_power_down; - bg96_dce->parent.deinit = bg96_deinit; + esp_modem_dce->parent.handle_line = NULL; + esp_modem_dce->parent.sync = esp_modem_dce_sync; + esp_modem_dce->parent.echo_mode = esp_modem_dce_echo; + esp_modem_dce->parent.store_profile = esp_modem_dce_store_profile; + esp_modem_dce->parent.set_flow_ctrl = esp_modem_dce_set_flow_ctrl; + esp_modem_dce->parent.define_pdp_context = esp_modem_dce_define_pdp_context; + esp_modem_dce->parent.hang_up = esp_modem_dce_hang_up; + esp_modem_dce->parent.get_signal_quality = esp_modem_dce_get_signal_quality; + esp_modem_dce->parent.get_battery_status = esp_modem_dce_get_battery_status; + esp_modem_dce->parent.get_operator_name = esp_modem_dce_get_operator_name; + esp_modem_dce->parent.set_working_mode = bg96_set_working_mode; + esp_modem_dce->parent.power_down = bg96_power_down; + esp_modem_dce->parent.deinit = bg96_deinit; /* Sync between DTE and DCE */ - DCE_CHECK(esp_modem_dce_sync(&(bg96_dce->parent)) == ESP_OK, "sync failed", err_io); + DCE_CHECK(esp_modem_dce_sync(&(esp_modem_dce->parent)) == ESP_OK, "sync failed", err_io); /* Close echo */ - DCE_CHECK(esp_modem_dce_echo(&(bg96_dce->parent), false) == ESP_OK, "close echo mode failed", err_io); + DCE_CHECK(esp_modem_dce_echo(&(esp_modem_dce->parent), false) == ESP_OK, "close echo mode failed", err_io); /* Get Module name */ - DCE_CHECK(esp_modem_dce_get_module_name(&(bg96_dce->parent)) == ESP_OK, "get module name failed", err_io); + DCE_CHECK(esp_modem_dce_get_module_name(&(esp_modem_dce->parent)) == ESP_OK, "get module name failed", err_io); /* Get IMEI number */ - DCE_CHECK(esp_modem_dce_get_imei_number(&(bg96_dce->parent)) == ESP_OK, "get imei failed", err_io); + DCE_CHECK(esp_modem_dce_get_imei_number(&(esp_modem_dce->parent)) == ESP_OK, "get imei failed", err_io); /* Get IMSI number */ - DCE_CHECK(esp_modem_dce_get_imsi_number(&(bg96_dce->parent)) == ESP_OK, "get imsi failed", err_io); + DCE_CHECK(esp_modem_dce_get_imsi_number(&(esp_modem_dce->parent)) == ESP_OK, "get imsi failed", err_io); /* Get operator name */ - DCE_CHECK(esp_modem_dce_get_operator_name(&(bg96_dce->parent)) == ESP_OK, "get operator name failed", err_io); - return &(bg96_dce->parent); + DCE_CHECK(esp_modem_dce_get_operator_name(&(esp_modem_dce->parent)) == ESP_OK, "get operator name failed", err_io); + return &(esp_modem_dce->parent); err_io: - free(bg96_dce); + free(esp_modem_dce); err: return NULL; } diff --git a/examples/protocols/pppos_client/components/modem/src/esp_modem_dce_service.c b/examples/protocols/pppos_client/components/modem/src/esp_modem_dce_service.c index 51205db0f8..ff2527e5f3 100644 --- a/examples/protocols/pppos_client/components/modem/src/esp_modem_dce_service.c +++ b/examples/protocols/pppos_client/components/modem/src/esp_modem_dce_service.c @@ -30,15 +30,6 @@ static const char *DCE_TAG = "dce_service"; } \ } while (0) -/** - * @brief ESP Modem - * - */ -typedef struct { - void *priv_resource; /*!< Private resource */ - modem_dce_t parent; /*!< DCE parent class */ -} esp_modem_dce_t; - esp_err_t esp_modem_dce_handle_response_default(modem_dce_t *dce, const char *line) { esp_err_t err = ESP_FAIL; diff --git a/examples/protocols/pppos_client/components/modem/src/sim7600.c b/examples/protocols/pppos_client/components/modem/src/sim7600.c index 1c678d3348..1739b68ece 100644 --- a/examples/protocols/pppos_client/components/modem/src/sim7600.c +++ b/examples/protocols/pppos_client/components/modem/src/sim7600.c @@ -30,14 +30,14 @@ static const char *DCE_TAG = "sim7600"; static esp_err_t sim7600_handle_cbc(modem_dce_t *dce, const char *line) { esp_err_t err = ESP_FAIL; - bg96_modem_dce_t *bg96_dce = __containerof(dce, bg96_modem_dce_t, parent); + esp_modem_dce_t *esp_modem_dce = __containerof(dce, esp_modem_dce_t, parent); if (strstr(line, MODEM_RESULT_CODE_SUCCESS)) { err = esp_modem_process_command_done(dce, MODEM_STATE_SUCCESS); } else if (strstr(line, MODEM_RESULT_CODE_ERROR)) { err = esp_modem_process_command_done(dce, MODEM_STATE_FAIL); } else if (!strncmp(line, "+CBC", strlen("+CBC"))) { /* store value of bcs, bcl, voltage */ - int32_t **cbc = bg96_dce->priv_resource; + int32_t **cbc = esp_modem_dce->priv_resource; int32_t volts = 0, fraction = 0; /* +CBC: V*/ sscanf(line, "+CBC: %d.%dV", &volts, &fraction); @@ -82,9 +82,9 @@ static esp_err_t sim7600_handle_cpof(modem_dce_t *dce, const char *line) static esp_err_t sim7600_get_battery_status(modem_dce_t *dce, uint32_t *bcs, uint32_t *bcl, uint32_t *voltage) { modem_dte_t *dte = dce->dte; - bg96_modem_dce_t *bg96_dce = __containerof(dce, bg96_modem_dce_t, parent); + esp_modem_dce_t *esp_modem_dce = __containerof(dce, esp_modem_dce_t, parent); uint32_t *resource[3] = {bcs, bcl, voltage}; - bg96_dce->priv_resource = resource; + esp_modem_dce->priv_resource = resource; dce->handle_line = sim7600_handle_cbc; DCE_CHECK(dte->send_cmd(dte, "AT+CBC\r", MODEM_COMMAND_TIMEOUT_DEFAULT) == ESP_OK, "send command failed", err); DCE_CHECK(dce->state == MODEM_STATE_SUCCESS, "inquire battery status failed", err); diff --git a/examples/protocols/pppos_client/components/modem/src/sim800.c b/examples/protocols/pppos_client/components/modem/src/sim800.c index 6e4ac08c89..85123e270d 100644 --- a/examples/protocols/pppos_client/components/modem/src/sim800.c +++ b/examples/protocols/pppos_client/components/modem/src/sim800.c @@ -34,15 +34,6 @@ static const char *DCE_TAG = "sim800"; } \ } while (0) -/** - * @brief SIM800 Modem - * - */ -typedef struct { - void *priv_resource; /*!< Private resource */ - modem_dce_t parent; /*!< DCE parent class */ -} sim800_modem_dce_t; - /** * @brief Handle response from AT+CPOWD=1 */ @@ -138,52 +129,52 @@ err: */ static esp_err_t sim800_deinit(modem_dce_t *dce) { - sim800_modem_dce_t *sim800_dce = __containerof(dce, sim800_modem_dce_t, parent); + esp_modem_dce_t *esp_modem_dce = __containerof(dce, esp_modem_dce_t, parent); if (dce->dte) { dce->dte->dce = NULL; } - free(sim800_dce); + free(esp_modem_dce); return ESP_OK; } modem_dce_t *sim800_init(modem_dte_t *dte) { DCE_CHECK(dte, "DCE should bind with a DTE", err); - /* malloc memory for sim800_dce object */ - sim800_modem_dce_t *sim800_dce = calloc(1, sizeof(sim800_modem_dce_t)); - DCE_CHECK(sim800_dce, "calloc sim800_dce failed", err); + /* malloc memory for esp_modem_dce object */ + esp_modem_dce_t *esp_modem_dce = calloc(1, sizeof(esp_modem_dce_t)); + DCE_CHECK(esp_modem_dce, "calloc esp_modem_dce_t failed", err); /* Bind DTE with DCE */ - sim800_dce->parent.dte = dte; - dte->dce = &(sim800_dce->parent); + esp_modem_dce->parent.dte = dte; + dte->dce = &(esp_modem_dce->parent); /* Bind methods */ - sim800_dce->parent.handle_line = NULL; - sim800_dce->parent.sync = esp_modem_dce_sync; - sim800_dce->parent.echo_mode = esp_modem_dce_echo; - sim800_dce->parent.store_profile = esp_modem_dce_store_profile; - sim800_dce->parent.set_flow_ctrl = esp_modem_dce_set_flow_ctrl; - sim800_dce->parent.define_pdp_context = esp_modem_dce_define_pdp_context; - sim800_dce->parent.hang_up = esp_modem_dce_hang_up; - sim800_dce->parent.get_signal_quality = esp_modem_dce_get_signal_quality; - sim800_dce->parent.get_battery_status = esp_modem_dce_get_battery_status; - sim800_dce->parent.get_operator_name = esp_modem_dce_get_operator_name; - sim800_dce->parent.set_working_mode = sim800_set_working_mode; - sim800_dce->parent.power_down = sim800_power_down; - sim800_dce->parent.deinit = sim800_deinit; + esp_modem_dce->parent.handle_line = NULL; + esp_modem_dce->parent.sync = esp_modem_dce_sync; + esp_modem_dce->parent.echo_mode = esp_modem_dce_echo; + esp_modem_dce->parent.store_profile = esp_modem_dce_store_profile; + esp_modem_dce->parent.set_flow_ctrl = esp_modem_dce_set_flow_ctrl; + esp_modem_dce->parent.define_pdp_context = esp_modem_dce_define_pdp_context; + esp_modem_dce->parent.hang_up = esp_modem_dce_hang_up; + esp_modem_dce->parent.get_signal_quality = esp_modem_dce_get_signal_quality; + esp_modem_dce->parent.get_battery_status = esp_modem_dce_get_battery_status; + esp_modem_dce->parent.get_operator_name = esp_modem_dce_get_operator_name; + esp_modem_dce->parent.set_working_mode = sim800_set_working_mode; + esp_modem_dce->parent.power_down = sim800_power_down; + esp_modem_dce->parent.deinit = sim800_deinit; /* Sync between DTE and DCE */ - DCE_CHECK(esp_modem_dce_sync(&(sim800_dce->parent)) == ESP_OK, "sync failed", err_io); + DCE_CHECK(esp_modem_dce_sync(&(esp_modem_dce->parent)) == ESP_OK, "sync failed", err_io); /* Close echo */ - DCE_CHECK(esp_modem_dce_echo(&(sim800_dce->parent), false) == ESP_OK, "close echo mode failed", err_io); + DCE_CHECK(esp_modem_dce_echo(&(esp_modem_dce->parent), false) == ESP_OK, "close echo mode failed", err_io); /* Get Module name */ - DCE_CHECK(esp_modem_dce_get_module_name(&(sim800_dce->parent)) == ESP_OK, "get module name failed", err_io); + DCE_CHECK(esp_modem_dce_get_module_name(&(esp_modem_dce->parent)) == ESP_OK, "get module name failed", err_io); /* Get IMEI number */ - DCE_CHECK(esp_modem_dce_get_imei_number(&(sim800_dce->parent)) == ESP_OK, "get imei failed", err_io); + DCE_CHECK(esp_modem_dce_get_imei_number(&(esp_modem_dce->parent)) == ESP_OK, "get imei failed", err_io); /* Get IMSI number */ - DCE_CHECK(esp_modem_dce_get_imsi_number(&(sim800_dce->parent)) == ESP_OK, "get imsi failed", err_io); + DCE_CHECK(esp_modem_dce_get_imsi_number(&(esp_modem_dce->parent)) == ESP_OK, "get imsi failed", err_io); /* Get operator name */ - DCE_CHECK(esp_modem_dce_get_operator_name(&(sim800_dce->parent)) == ESP_OK, "get operator name failed", err_io); - return &(sim800_dce->parent); + DCE_CHECK(esp_modem_dce_get_operator_name(&(esp_modem_dce->parent)) == ESP_OK, "get operator name failed", err_io); + return &(esp_modem_dce->parent); err_io: - free(sim800_dce); + free(esp_modem_dce); err: return NULL; }