Евгений
да, пусть за себя сами скажут
Да! Пусть отвечают перед честнЫм сообществом, по нашему, по еспшному!
А то всякий уинт унсайнед дефайнит варнинги...
Если весь аррай келбэком накатит, резетом не поднимешь!
Ruslan
запылится, будет некрасивый
SSR
Ruslan
тупой вопрос по си:
void log_me(char *msg) { ESP_LOGW(TAG, msg); }
линтер ругается на msg, говорит, перед ним должна стоять скобка закрывающая... WTF
Max
Макросы неправильно раскрывает, наверное
Ruslan
логично, может кто знает как правильно?
Алексей
ESP_LOGW - что это и TAG что это?
Алексей
Есть возможность в IDE развернуть макрос?
Ruslan
выташил журналирование из функции и всё
w
Ruslan
w
Denis
CryoniXXX.cc 🇰🇵
Ебучи бот пон?
Ruslan
плотно гоняю OTA, пока радует )))
Ruslan
надо всё многократно проверить и потом можно закрывать шифрование прошивки окончательно и отрубать обновление прошивки по UART... хотя, наверное достаточно отключить скачивание по нему
CryoniXXX.cc 🇰🇵
Ruslan
а у меня?
CryoniXXX.cc 🇰🇵
а у меня?
Да вроде бы верхняя часть текста нет)))0
Ruslan
I (1981734) MQTT: OTA upgrade successful. Rebooting ...
Ruslan
остался только один непонятный момент, почему-то обнуляется NVS
Ruslan
при окончании OTA, зачем-то проверяет первый раздел два раза (это не мой код, а из SDK), потом сообщает, что оба раздела кошерные
D (1981684) boot_comm: Both OTA copies are valid
Ruslan
затем софтовый ребут:
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
Ruslan
таблицу разделов не трогаю, в прошивки ключи не стираю, но такое чувство, что стирается всё в дефолтном разделе NVS
Ruslan
остальные NVS разделы в полном сохране
Евгений
Ruslan
/**
* @brief Точка входа в приложение.
*/
void app_main() {
ESP_LOGI(TAG, "Startup...");
// Настраиваем доступ к параметрам в NVS
setup_nvs();
...
}
Ruslan
/**
* @brief Инициализируем NVS, размещение берётся из таблицы разделов.
*
*/
void setup_nvs(void)
{
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_LOGD("NVS", "Force initialization of the default partition");
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
} else {
nvs_stats_t nvs_stats;
nvs_get_stats(NULL, &nvs_stats);
ESP_LOGD("NVS", "Count: UsedEntries = (%d), FreeEntries = (%d), AllEntries = (%d)",
nvs_stats.used_entries, nvs_stats.free_entries, nvs_stats.total_entries);
}
ESP_ERROR_CHECK(ret);
...
}
Ruslan
Ruslan
I (958) APP: Startup...
D (958) partition: Loading the partition table
D (958) partition: Partition table MD5 verified
D (1038) NVS: Count: UsedEntries = (0), FreeEntries = (1638), AllEntries = (1638)
Ruslan
никаких действий по очистке раздела не производится моим кодом... сцуко, почему он теряется...
Serjio
сохрани куда-нибудь перед ребутом, какой он есть? может он до того где-то теряется?
Ruslan
Serjio
ну выведи в лог. или в сеть.
Ruslan
раздел в полтора мегабайта каждый, прошивка занимает половину раздела, то есть даже случайно не перепишет NVS
Ruslan
придётся перечитать доку по NVS
ㅤ
Hidden Mystery
Serjio
ну если MEMS можно назвать ультразвуком.. наверное, да
Ruslan
Иначе прибить могут
показал твой ответ про батарейке своим знакомым милфам, они поржали, написали "какое милое заблуждение" (цитата) ))))
Max
Serjio
Serjio
(и в свободной продаже)
Hidden Mystery
Max
Ну так его не только поднять, но и правильно уронить надо)
Artem
Hidden Mystery
Serjio
я сначала подумал, это опять проделки stable diffusion..
Hidden Mystery
Как учёбнве гранаты
SSR
Я когда-то поднимал в 20 раз больше
SSR
Эх
Hidden Mystery
SSR
До сих пор жалею, что бросил
Hidden Mystery
Я максимум 40-45 могу, но если это не в виде кирпича
Hidden Mystery
А хотя бы в виде человека или не маленьких размеров
Ruslan
Итак, при старте обновления, я получаю из NVS ключ для расшифровки...
I (956714) OTA: Starting OTA...
D (956724) esp_ota_ops: found ota app max = 2
D (956724) boot_comm: Both OTA copies are valid
D (956724) esp_ota_ops: finding ota_17 app...
I (956734) OTA: Running partition type 0 subtype 17 (offset 0x001c0000)
D (956744) nvs: nvs_open_from_partition CERTIFICATES 1
D (956744) nvs: nvs_get_str_or_blob PRIVKEY
D (956754) nvs: nvs_get_str_or_blob PRIVKEY
D (956764) nvs: nvs_close 9
I (956764) esp_encrypted_img: Starting Decryption Process
Ruslan
в конце прошивки тоже было чтение из NVS, всё отработало штатно
Ruslan
так: D (1158) nvs: nvs_open_from_partition DEVICE_INFO 1
Ruslan
колобок! давай помогай!
Serjio
что за DEVICE_INFO 1?
Ruslan
именованное пространство внутри NVS, не знал о такой фиче?
Ruslan
кажется я понял что происходит... реально меняется структура раздела
Pavel
Товарищи, кто-нибудь сталкивался с проблемой:
хочу прошить esp32 wroom 32 через eclipse на macOS не хочет сам дергать ногой RTS для автоматической прошивки, приходится нажимать на кнопки руками) При этом когда захожу в терминал в той же среде ребут происходит
Andreas F.D.
ㅤ
Pavel
Так сравни с какими флагами оно вызывает есптул
Полагаю все как надо
esptool esp32 -p /dev/cu.usbserial-0001 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000
ㅤ
Pavel
Nica
А для чего схема спроектированна?
w
ㅤ
Че за схема. В чем проектировал? В альтиуме?