Espshell : отладочный инструментарий для ESP32

Заменить синтаксис с того, который был придуман для какого-то не слишком распространенного дивайса еще в начале девяностых, и с тех пор не получившего никакого распространения, на тот, что используется повсеместно, например в ЯВУ Си.

бедная Cisco ;(

1 лайк

Сделайте аналог sysfs и procfs. Там уже все придумано, даже запуск скриптов.

Это задача для Espressif. Если я это сделаю, то кто это будет использовать? Это ж надо свои программы переписывать будет.

/proc:

Процессы и так смотреть можно, управлять ими:

show tasks
kill
suspend
resume
priority

/dev
Devfs и так есть в ESP-IDF, можно, например, open(“/dev/uart0”) делать.

/sys
А sysfs.. зачем? В ESP32 нет разделения на kernel-space и user-space. Пользовательская программа и так может лазить по всем кернельным структурам, безо всяких sysfs и syscall.

1 лайк

В ядре linux есть управление gpio через sysfs. Там вся схема есть и проще этот стиль, а не код взять.

И не надо “сиськи” мять.

1 лайк

о, не знал. пойду посмотрю, чо у них там

То , что прочитал, пока не обнадеживает.

linux, sysfs:

sudo echo 18 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio18/direction 
sudo echo 1 > /sys/class/gpio/gpio18/value

ESP32, espshell:

pin 18 out high

Можно даже

p 18 o h

шелл разберется :slight_smile:

В linux, sysfs, если я хочу сохранить состояние пина, мне нужно прочитать содержимое файлов выше. И хорошо, если они вообще читаются, а не write-only.

В espshell:

esp32#>pin 18 save
esp32#>pin 18 load

Например: сохранить настройки пина, сконфигурить его как ADC, прочитать аналоговое значение и , затем, восстановить состояние пина, как был:

esp32#>pin 18 save aread load   //aread -> "analog read"

Я немного про другое. Если будет реализация echo 1 > /sys/… , то это позволит расширять отдельной частью данную псвдофайловую систему. И как вариант делать ее dump.

А по /sysfs - там не только управление gpio .

1 лайк

“Look ma, no hands!”

Сколько нужно (и каких) системных задач, чтобы все работало в этом вашем ESP32.

Оказывается, кроме IDLE0 и IDLE1 ничего и не нужно.

Мне нравится идея файловой системы. Я доделаю ФТП сервер, и можно будет тогда заливать файловую систему на ЕСП32 просто фаловым менеджером. По ФТП.

И я подумал, что будет неплохой идеей иметь файлы, которые не файлы, а типа, как в /sysfs записи.

Однозначно надо сделать файлами весь флеш - чтобы можно было скачать, как файлы, например, загрузчик. Или фирмварь. Или - ROM. Или сделать, файл с образом RAM памяти, какой-нибудь ram.bin.

Мне нравится идея. Копировать из линукса их красноглазые костыли я не буду, мы сделаем чтонть свое, микроконтроллерное.