Заменить синтаксис с того, который был придуман для какого-то не слишком распространенного дивайса еще в начале девяностых, и с тех пор не получившего никакого распространения, на тот, что используется повсеместно, например в ЯВУ Си.
бедная Cisco ;(
Сделайте аналог 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.
В ядре linux есть управление gpio через sysfs. Там вся схема есть и проще этот стиль, а не код взять.
И не надо “сиськи” мять.
о, не знал. пойду посмотрю, чо у них там
То , что прочитал, пока не обнадеживает.
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
шелл разберется
В 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 .
“Look ma, no hands!”
Сколько нужно (и каких) системных задач, чтобы все работало в этом вашем ESP32.
Оказывается, кроме IDLE0 и IDLE1 ничего и не нужно.
Мне нравится идея файловой системы. Я доделаю ФТП сервер, и можно будет тогда заливать файловую систему на ЕСП32 просто фаловым менеджером. По ФТП.
И я подумал, что будет неплохой идеей иметь файлы, которые не файлы, а типа, как в /sysfs записи.
Однозначно надо сделать файлами весь флеш - чтобы можно было скачать, как файлы, например, загрузчик. Или фирмварь. Или - ROM. Или сделать, файл с образом RAM памяти, какой-нибудь ram.bin.
Мне нравится идея. Копировать из линукса их красноглазые костыли я не буду, мы сделаем чтонть свое, микроконтроллерное.