Тецкатлипок
не кто не сталкивался как прошить несколько прошивок на esp32 одновременно и через какой нибудь лаунчер, который стартует при старте контроллера, выбирать что именно запускать
Скрипт написать Скомпилировать бинарник и его через скрипт гнать Новое устройство > ttl > является ли есп32 с нужным количеством памяти > пошла прошивка
Тецкатлипок
Банально запускаете скрипт в бесконечный цикл Вызов одной командой
Василий
Василий
Василий
проверил отладочку встроенную в с3
Василий
работает
Василий
только точки останова на лету неумеет
Василий
новые можно добавлять пока стоим
Василий
Василий
лепюцца и бегают
Василий
ну пару точек останова уже хлебушек
Василий
можно жить)
Василий
кстати отладочка с тайп си разъемами, от vcc-gnd.com
Василий
мне понравилась больше официальной
Василий
https://aliexpress.ru/item/1005003613170790.html?_ga=2.97062239.1989480513.1644046378-1980601506.1606258313&sku_id=12000026495139791&spm=a2g39.orderlist.0.0.fb864aa6KpOWLA
Василий
о, закончились.....
Василий
успел схватить
Denisio
отладъка по второму поди
Василий
да, один уарт, второй внутренний отладчик и уарт
Василий
по нему и отладку жмакал
Denisio
прикольно, надо заказать
Serg
Там ниже, но уже разобрали.
Serg
https://t.me/ProEsp8266/125312
Andrei
да, один уарт, второй внутренний отладчик и уарт
я немного не в теме, а под обычную esp32 есть подобное поделие? всё мучаемся под freertos с аудио и гироскопом, отследить лаги трудно.
Василий
за 7 баксов
Василий
и отлаживайте
Василий
встроенный отладчик только в s2 и c3
Василий
US $3.04 33%OFF | CJMCU-2232 FT2232 HL USB для UART FIFO SPI I2C JTAG RS232 Module FT2232HL N9P6 https://a.aliexpress.com/_9GUSYN
Andrei
купите ftdi2232
вот такая хрень пойдёт?)
Василий
таким отладка м
Василий
да, то что над
Василий
2232 просто два интерфейса можно одновременно
Василий
уарт и отладку
Andrei
а, вон в чём разница
Василий
кстати еще jlink можно юзать
Василий
для отладки
Василий
а jlink можно из stlink сделать))))
Василий
вобщем возможностей валом
Leonid
ArduinoOTA + ping/timer
А это разве не по воздуху обновление?
Google
А это разве не по воздуху обновление?
Принципиально обновляться не по воздуху ?
Leonid
Принципиально обновляться не по воздуху ?
Эмм, а зачем мне вообще обновляется
Leonid
Мне нужен мультибут, не буду же я по 10 раз на дню его шить
Google
Мне нужен мультибут, не буду же я по 10 раз на дню его шить
Что стоит разделить прошивку на две части: одна - загрузка / обновление прошивки, вторая - рабочий код ?
Leonid
Не удобно, не везде и не всегда есть wifi
Leonid
И это долго
Serjio
BLE?
Leonid
А что есть ?
Есть микросд, но один фиг, шить каждый вариант это не выход
Google
И это долго
Считанные секунды - или это долго ?
Google
Есть микросд, но один фиг, шить каждый вариант это не выход
А что мешает перемычками поставить загрузку ESP с SD ? ;)
Leonid
Там минимум 5 вариантов будет
Google
Там минимум 5 вариантов будет
Подключите в прошивке предление при загрузке с SD наличие 5 перемычек - выбор вариантов загрузки ;)
alexey ⚡️
вот такая хрень пойдёт?)
Я таким шью, и отлаживаю. Единственное надо будет одну строчку в клнфиге поправить для openocd
Mike
Всем привет. Бъюсь с объявлением в перегруженной функции необязательного параметра. Кто-нибудь такое использовал с arduino+platformio? уже в и хидер перенес объявление всех переруженных функций, ошибки сыпит либо без объявлении в Хидере error: 'putLogln' was not declared in this scope либо с хидером не может выбрать подходящую: error: call of overloaded 'putLogln(const Printable&)' is ambiguous может есть ньюансы с ними?
Serjio
хедер он.
Mike
в хидере объявляю без дефолтного параметра, примерно так: extern void putLogln(); extern void putLogln(const Printable& x); extern void putLogln(unsigned char b, int base); extern void putLogln(const char *results); extern void putLog(const String &results); extern void putLogln(const String &results); в ino уже сами функции: void putLogln(int msg_level_debug=0){ ... } void putLogln(const Printable& x, int msg_level_debug=0) { putLogln(x); ... } void putLogln(unsigned char b, int base, int msg_level_debug=0){ // !!! отбрасываем систему счисления, потом нужно переделать с конвертацией putLogln(String(b) + String("/n")); return; } void putLogln(const char *results, int msg_level_debug=0){ putLogln(String(results)); return; } void putLog(const String &results, int msg_level_debug=0){ ... } void putLogln(const String &results, int msg_level_debug=0){ ... }
Denis
extern "C" не пробовали возможно ф-ции обьявленны в ка си
Mike
extern "C" не пробовали возможно ф-ции обьявленны в ка си
не понял, если честно как это сделать. больше этих функций ни где нет, они только в других модулях вызываются.
Mike
убрать extern? =)
Denis
там где естрн добави "C"
Serjio
а что это даст?
Mike
там где естрн добави "C"
вроде как раз нотация подразумевает просто external. без нее тоже работает, ругается уже детально: C:/avrprojects/GSM_alarm_garage_esp32/src/config.ino:474:13: error: call of overloaded 'putLogln(const Printable&)' is ambiguous putLogln(x); ^ In file included from C:/avrprojects/GSM_alarm_garage_esp32/src/gsm_alarm_garage_esp32.ino:122:0: src\config.h:175:7: note: candidate: void putLogln(const Printable&) void putLogln(const Printable& x); ^ C:/avrprojects/GSM_alarm_garage_esp32/src/config.ino:472:6: note: candidate: void putLogln(const Printable&, int) void putLogln(const Printable& x, int msg_level_debug=0)
Denis
в си++ приводит ф-ю си к формату си++
Serjio
почему он ее должен считать как си?
Serjio
чем с точки зрения компилятора отличаются вот эти? void putLogln(const char *results, int msg_level_debug=0) void putLogln(const String &results, int msg_level_debug=0)
Serjio
а вообще вот https://support.arduino.cc/hc/en-us/articles/360021722399-Error-call-of-overloaded-write-int-is-ambiguous
Mike
чем с точки зрения компилятора отличаются вот эти? void putLogln(const char *results, int msg_level_debug=0) void putLogln(const String &results, int msg_level_debug=0)
типами, не более. выберет разные в зависимости от входных параметров при вызове
Serjio
ссылка выше может натолкнуть на какую-нибудь мысль
Serjio
https://techoverflow.net/2020/06/17/how-to-fix-c-c-error-call-of-overloaded-absuint32_t-is-ambiguous/ то есть при вызове предлагают явно указать правильный тип?
Mike
имхо есть подозр, что компилятор пытается внутри вызова функции вызвать её же, вот пример моей функции, на которую и ошибка выше при компиляции (474 строка): void putLogln(const Printable& x, int msg_level_debug=0) { putLogln(x); return; } типа вызов putLogln(x); пытается вызвать эту же функцию putLogln(const Printable& x, int msg_level_debug=0) как чинить, только не понятно.
Serjio
как вариант - назвать иначе?
Serjio
сорри за темноту, а зачем вообще нужны эти перегружаемые методы?
alexey ⚡️
Кто-нибудь баловался с выводом звука на блютуз? Например wifi radio проект, используя esp-idf только?
Serjio
я думаю, подрзерние там неправильное. лучше словами проговорить, какой это тип параметра const Printable& x что делает с ним компилятор и что потом происходит, когда с ним вызывается putLogIn снова