Заменить синтаксис с того, который был придуман для какого-то не слишком распространенного дивайса еще в начале девяностых, и с тех пор не получившего никакого распространения, на тот, что используется повсеместно, например в ЯВУ Си.
бедная 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.
Мне нравится идея. Копировать из линукса их красноглазые костыли я не буду, мы сделаем чтонть свое, микроконтроллерное.
В следующей итерации ожидаем таки поддержку сети. А пока, вот, сканируем сети:
выясняем подробности скрытой сети:
вопрос, а где MTU настраивается?
Я не знаю, не задумывался. Если в сторону уменьшения, то lwIP.
Когда формируются IP пакеты, то они создаются с оглядкой на MTU интерфейса, но это значение можно поменять в меньшую сторону: IP стек будет просто формировать пакеты меньшего размера.
Как поменять его в железе для WiFi - надо искать. Может и никак. А ты что хотел-то? Роутинг wifi → ethernet с разными MTU? Ну, геморой будет, наверняка. Я бы на уровне IP пытался бы сделать все.
можно и IP, через некоторых сотовых пакеты ESP32 не ходют, надо MTU сделать правильным
Ну каким? Меньше 1500 или больше?
нужно два один где-то 1380 второй больше 1500, это для разных каналов
Если больше, то ой:
https://docs.espressif.com/projects/esp-faq/en/latest/software-framework/wifi.html :
What is the maximum length of Wi-Fi MTU for an ESP32 and how to change it?
The maximum Wi-Fi MTU length for ESP32 is 1500. You can change this value in the LwIP component by
netif>mtu. However, it is not recommended to change this value.
Они говорят о том, что надо lwip пересобирать. Т.е. если ты в Arduino окружении - то вообще никак, практически*.
это называется засада




