Я новичок в Arduino, многое делаю методом проб и ошибок. В определенный момент времени я устал от бесконечных циклов исправил\скомпилировал\залил\проверил и написал шелл, в котором наиболее частые и простые вещи можно делать командами в консоли.
С помощью этого шелла я отлаживаюсь сам, в частности - он мне помог с i2c устройствами и GSM модемом sim7600e
Шелл представляет собой один файл, espshell.c , который нужно просто положить в каталог со скетчем (в каталог с вашим .ino файлом) и нажать кнопку компиляции и прошивки в Arduino IDE. Шелл автоматически перехватит управление при старте скетча и запустит CLI на UART0
Общаться с шелом можно через Arduino IDE Serial Monitor, но лучше - через Tera Term. Или PuTTY. Это связано с тем, что Serial Monitor не умеет посылать CTRL+C и CTRL+Z которые нужны при отладке устройств с uart интерфейсом.
Вся эта красота НЕ будет работать на USB-Serial бордах (где серийник - не
class HardwareSerial, а class USBCDC, например Nano ESP32). Как обзаведусь платой с USB-OTG, тогда доработаю шелл.
Отлично README написан, за 15 секунд глазами, наискось листа смог прочитать!
(на Гитхабе)
а class USBCDC, например Nano ESP32) есть ещё ESP32C3 (но они бывают и с CH340)
какой такой шелл, мой юный друг, ты наверное не в курсе, но данный чип поддерживает аппаратную отладку. надо всего лишь приобрести простой советский программатор ESP-PROG за 15 долларов / 1500 рублей с доставкой
какието шеллы люди делают, во блин, еще криптоалгоритмы начните делать.
ну я делаю то, чем сам пользуюсь. скоро приделаю spi. :). всю переферию - это незачем. надо чтобы use cases были какие-то. вот с уартом и и2ц я намучался (вернее, с устройствами, подключенными по уарт и и2ц), поэтому сделал команды для работы с и2ц и уарт-устройствами
ну а основная идея-то в том, что просто кинув 1 файл в свой скетч ты получаешь шелл, в котором можно какие-то простенькие штуки проверять не перекомпилируя скетч каждый раз. Этот шел - программа-паразит :). Ему нужен скетч, к которому она прилипнет
кстати о либах, не вижу ничего плохого, особенно для таких как я - не настоящих сталеваров )))
PS сегодня пытался запустить для ядра от STM дисплей ILI9341, ни на библиотеках от Adafruit ни на TFT_eSPI не зарабатоло (а позиционируются как поддерживающие), пришлось из кубиков собирать свою