Skip to content

Commit d1e8d4a

Browse files
committed
fix(modem): Updated per review comments
1 parent 6fef7d4 commit d1e8d4a

File tree

6 files changed

+24
-9
lines changed

6 files changed

+24
-9
lines changed
Binary file not shown.

components/esp_modem/test/target_ota/components/manual_ota/manual_ota.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ static const char *TAG = "manual_ota";
1717
bool manual_ota::begin()
1818
{
1919
if (status != state::UNDEF) {
20-
ESP_LOGE(TAG, "Invalid state");
20+
ESP_LOGE(TAG, "Invalid state for manual_ota::perform");
2121
return false;
2222
}
2323
const esp_partition_t *configured = esp_ota_get_boot_partition();
@@ -31,6 +31,7 @@ bool manual_ota::begin()
3131
status = state::INIT;
3232
max_buffer_size_ = size_ * 1024;
3333
if (mode_ == mode::BATCH) {
34+
#ifdef CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT
3435
esp_transport_handle_t tcp = esp_transport_tcp_init();
3536
ssl_ = esp_transport_batch_tls_init(tcp, max_buffer_size_);
3637
http_.config_.transport = ssl_;
@@ -40,7 +41,10 @@ bool manual_ota::begin()
4041
if (!esp_transport_batch_set_cn(ssl_, common_name_)) {
4142
return fail();
4243
}
43-
44+
#else
45+
ESP_LOGE(TAG, "mode::BATCH Cannot be used without CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT");
46+
return false;
47+
#endif
4448
}
4549

4650
if (!http_.init()) {
@@ -76,7 +80,7 @@ bool manual_ota::begin()
7680
bool manual_ota::perform()
7781
{
7882
if (status != state::IMAGE_CHECK && status != state::START) {
79-
ESP_LOGE(TAG, "Invalid state");
83+
ESP_LOGE(TAG, "Invalid state for manual_ota::perform");
8084
return false;
8185
}
8286
esp_err_t err = esp_http_client_open(http_.handle_, 0);

components/esp_modem/test/target_ota/components/manual_ota/transport_batch_tls.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
class TlsTransport: public Tls {
1414
public:
15-
explicit TlsTransport(esp_transport_handle_t parent) : Tls(), transport_(parent), read_len(0), offset(0) {}
15+
explicit TlsTransport(esp_transport_handle_t parent):
16+
Tls(), transport_(parent), last_timeout(0), read_len(0), offset(0) {}
1617
int send(const unsigned char *buf, size_t len) override;
1718
int recv(unsigned char *buf, size_t len) override;
1819
static bool set_func(esp_transport_handle_t tls_transport);
@@ -122,7 +123,10 @@ int TlsTransport::transport::connect(esp_transport_handle_t t, const char *host,
122123
ESP_LOGI(TAG, "Failed to handshake");
123124
return ret;
124125
}
125-
tls->get_session();
126+
if (!tls->get_session()) {
127+
// we're not able to save session, report an error and continue (next connection will be slower)
128+
ESP_LOGW(TAG, "Failed to save session");
129+
}
126130
ESP_LOGI(TAG, "After handshake");
127131
return 0;
128132
}
@@ -238,7 +242,7 @@ bool TlsTransport::prepare_buffer(size_t max_size)
238242
return true;
239243
}
240244

241-
int esp_transport_batch_tls_pre_read(esp_transport_handle_t t, int len, int timeout_ms)
245+
int esp_transport_batch_tls_pre_read(esp_transport_handle_t t, size_t len, int timeout_ms)
242246
{
243247
auto tls = static_cast<TlsTransport *>(esp_transport_get_context_data(t));
244248
return tls->preread(len, timeout_ms);

components/esp_modem/test/target_ota/components/manual_ota/transport_batch_tls.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ esp_transport_handle_t esp_transport_batch_tls_init(esp_transport_handle_t paren
2222
* @param timeout_ms Timeout in ms
2323
* @return true If read from the parent transport completed successfully
2424
*/
25-
bool esp_transport_batch_tls_pre_read(esp_transport_handle_t t, int len, int timeout_ms);
25+
bool esp_transport_batch_tls_pre_read(esp_transport_handle_t t, size_t len, int timeout_ms);
2626

2727
/**
2828
* @brief Set the CA Certificate to verify the server

components/esp_modem/test/target_ota/main/ota_test.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ void ota_task(void *ctx)
152152
ota.http_.config_.cert_pem = ca_cert_pem;
153153
ota.size_ = 32;
154154
ota.common_name_ = CONFIG_TEST_OTA_CN;
155+
#ifndef CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT
156+
// will have to use NORMAL mode, before custom transport is supported in IDF
157+
ota.mode_ = manual_ota::mode::NORMAL;
158+
#endif
155159

156160
ota.begin();
157161
while (true) {

components/esp_modem/test/target_ota/sdkconfig.defaults

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
12
CONFIG_PARTITION_TABLE_TWO_OTA=y
23
CONFIG_TEST_USE_VFS_TERM=y
3-
CONFIG_TEST_OTA_URI="https://raw.githubusercontent.com/david-cermak/esp-network-examples/test/ota/hello_world.bin"
4+
CONFIG_TEST_OTA_URI="https://raw.githubusercontent.com/espressif/esp-protocols/master/components/esp_modem/test/target_ota/bin/blink.bin"
45
CONFIG_TEST_OTA_CA_CERT="MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0yMTA0MTQwMDAwMDBaFw0zMTA0MTMyMzU5NTlaME8xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxKTAnBgNVBAMTIERpZ2lDZXJ0IFRMUyBSU0EgU0hBMjU2IDIwMjAgQ0ExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwUuzZUdwvN1PWNvsnO3DZuUfMRNUrUpmRh8sCuxkB+Uu3Ny5CiDt3+PE0J6aqXodgojlEVbbHp9YwlHnLDQNLtKS4VbL8Xlfs7uHyiUDe5pSQWYQYE9XE0nw6Ddng9/n00tnTCJRpt8OmRDtV1F0JuJ9x8piLhMbfyOIJVNvwTRYAIuE//i+p1hJInuWraKImxW8oHzf6VGo1bDtN+I2tIJLYrVJmuzHZ9bjPvXj1hJeRPG/cUJ9WIQDgLGBAfr5yjK7tI4nhyfFK3TUqNaX3sNk+crOU6JWvHgXjkkDKa77SU+kFbnO8lwZV21reacroicgE7XQPUDTITAHk+qZ9QIDAQABo4IBgjCCAX4wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUt2ui6qiqhIx56rTaD5iyxZV2ufQwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxSb290Q0EuY3JsMD0GA1UdIAQ2MDQwCwYJYIZIAYb9bAIBMAcGBWeBDAEBMAgGBmeBDAECATAIBgZngQwBAgIwCAYGZ4EMAQIDMA0GCSqGSIb3DQEBCwUAA4IBAQCAMs5eC91uWg0Kr+HWhMvAjvqFcO3aXbMM9yt1QP6FCvrzMXi3cEsaiVi6gL3zax3pfs8LulicWdSQ0/1s/dCYbbdxglvPbQtaCdB73sRD2Cqk3p5BJl+7j5nL3a7hqG+fh/50tx8bIKuxT8b1Z11dmzzp/2n3YWzW2fP9NsarA4h20ksudYbj/NhVfSbCEXffPgK2fPOre3qGNm+499iTcc+G33Mw+nur7SpZyEKEOxEXGlLzyQ4UfaJbcme6ce1XR2bFuAJKZTRei9AqPCCcUZlM51Ke92sRKw2Sfh3oius2FkOH6ipjv3U/697EA7sKPPcw7+uvTPyLNhBzPvOk"
56
CONFIG_TEST_OTA_CN="github.com"
67
CONFIG_COMPILER_CXX_EXCEPTIONS=y
7-
CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT=y
8+
9+
# This is not supported in IDF yet
10+
# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT=y
811
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
912
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
1013
CONFIG_LWIP_PPP_SUPPORT=y

0 commit comments

Comments
 (0)