Проблема с OTA-обновлением ESP32. Потеряно байт ⇐ C++
Проблема с OTA-обновлением ESP32. Потеряно байт
Добрый день, надеюсь, кто-нибудь поможет мне со следующей проблемой.
Ситуация: У меня есть приложение Flutter, подключенное к серверу веб-сокетов, размещенному на esp32, с помощью библиотеки link2004/websockets (https://github.com/Links2004/arduinoWebSockets). Я пытаюсь передать прошивку через сокет в двоичном виде, этот процесс правильный, я также добавляю байт идентификатора (чтобы знать, что я нахожусь в обновлении) и следующий, чтобы знать, является ли он последним, в заключение я добавляю байт в конце в результате вычисления контрольной суммы кадра.
На обоих концах я проверяю контрольную сумму и объем данных, но получаю следующую ошибку:
Преждевременное завершение: res:0, pos:864256/1966080
Наиболее актуальный код и следы отладки:
esp_err_t Updater::handleUpdateData(const uint8_t *data, size_t length) { //отладка переменных. статический int k; статический int j; если (!isUpdateInProgress) { logger().log("Неустранимая ошибка, обновление не запущено", debug_info_t::WARNING_D); вернуть ESP_FAIL; } если (длина 10048 ..... I/futter (5132): пакет 85 => 864128 I/futter (5132): пакет 86=> 865712 Отладочные трассировки на стороне ESP32: [ИНФО]: Пакет 0 записан => 10048 [ИНФО]: всего=>10048 .... [ИНФО]: Packet85 записан => 10048 [ИНФО]: всего=> 864128 [ИНФО]: Packet86 записан => 1584 [ИНФО]: всего=> 865712 Просмотр свойств моего файла прошивки.bin по данным проводника ОС (liux), прошивка занимает 865712 байт.
Поэтому я получаю следующее сообщение об ошибке: [ 19662][E][Updater.cpp:284] end(): преждевременное завершение: res:0, pos:864256/1966080
1456 байт потеряно, и я не понимаю, почему.
Если кто-нибудь сможет мне помочь, буду очень благодарен.
Добрый день, надеюсь, кто-нибудь поможет мне со следующей проблемой.
Ситуация: У меня есть приложение Flutter, подключенное к серверу веб-сокетов, размещенному на esp32, с помощью библиотеки link2004/websockets (https://github.com/Links2004/arduinoWebSockets). Я пытаюсь передать прошивку через сокет в двоичном виде, этот процесс правильный, я также добавляю байт идентификатора (чтобы знать, что я нахожусь в обновлении) и следующий, чтобы знать, является ли он последним, в заключение я добавляю байт в конце в результате вычисления контрольной суммы кадра.
На обоих концах я проверяю контрольную сумму и объем данных, но получаю следующую ошибку:
Преждевременное завершение: res:0, pos:864256/1966080
Наиболее актуальный код и следы отладки:
esp_err_t Updater::handleUpdateData(const uint8_t *data, size_t length) { //отладка переменных. статический int k; статический int j; если (!isUpdateInProgress) { logger().log("Неустранимая ошибка, обновление не запущено", debug_info_t::WARNING_D); вернуть ESP_FAIL; } если (длина 10048 ..... I/futter (5132): пакет 85 => 864128 I/futter (5132): пакет 86=> 865712 Отладочные трассировки на стороне ESP32: [ИНФО]: Пакет 0 записан => 10048 [ИНФО]: всего=>10048 .... [ИНФО]: Packet85 записан => 10048 [ИНФО]: всего=> 864128 [ИНФО]: Packet86 записан => 1584 [ИНФО]: всего=> 865712 Просмотр свойств моего файла прошивки.bin по данным проводника ОС (liux), прошивка занимает 865712 байт.
Поэтому я получаю следующее сообщение об ошибке: [ 19662][E][Updater.cpp:284] end(): преждевременное завершение: res:0, pos:864256/1966080
1456 байт потеряно, и я не понимаю, почему.
Если кто-нибудь сможет мне помочь, буду очень благодарен.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Клиент Firebase ESP32: получение ошибки INVALID_EMAIL при анонимной аутентификации на ESP32
Anonymous » » в форуме C++ - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-