* Автоматический запуск печати при загрузке файла.
* Удаление файлов с SD карты
* Загрузка файлов на SD карту
* Настройка WIFI модуля (сеть и пароль)
@ -18,36 +19,49 @@
### Не работает (совсем)
* **Имена файлов на русском** Переименуйте файл в Cura
* Запуск печати. При нажатии "Print over Flying Bear Ghost 4S" файл загружается, но печать автоматически не стартует. Надо из меню принтера выбрать "Print from media"
* Отображение состояния принтера (печатает, не печатает) в Cura
* Все остальное, что не в указано в "работает"
## Как собрать прошивку самому
## Как работает, как настроить
### Настройки WIFI
### Если нет желания самому собирать прошивку
В файле [mks_wifi_settings.h](./Marlin/src/module/mks_wifi/mks_wifi_settings.h)
Готовые файлы лежат в папке firmware.
### Как понять, что оно работает
Если вы используете драйвера 2208, или аналогичные, прошивка в папке 2208 [Robin_nano35.bin](./firmware/2208/Robin_nano35.bin)
При включении принтера, на экране отобразится статус "WIFI init"
Если вы используете стандартные драйвера, прошивка в папке std [Robin_nano35.bin](./firmware/std/Robin_nano35.bin)
Если ESP модулю удалось подключиться к сети указанной в mks_wifi_settings.h, на экране будет IP адрес.
Отличия сборок только в инвертировании осей.
При старте передачи файла отображается "Upload file", в процессе загрузки отображается прогресс в процентах.
### Настройки WIFI, если вы используете готовую прошивку
Если файл успешно принят отобразится "Upload done" и **прозвучит звуковой сигнал**
Если модуль уже был настроен, то возможно никакая настройка не понадобится. Если модуль не был настроен, либо по какой-то причине не смог подключиться к сети, то он запустится в режиме точки доступа с именем сети MKSWIFI??? (вместо ? будут произвольные символы). Подключитесь к этой сети, откройте страницу по адресу 192.168.4.1 и установите нужные настройки.
Если во время приема файла были ошибки, отобразится надпись "Upload Failed" и **звукового сигнала не будет**
### Настройки WIFI, если вы собираете прошивку сами
В файле [mks_wifi_settings.h](./Marlin/src/module/mks_wifi/mks_wifi_settings.h)
Для того, чтобы эти настройки применялись при включении, "MKS_WIFI_ENABLED_WIFI_CONFIG" должен быть раскоментирован. Если закоментировать "#define MKS_WIFI_ENABLED_WIFI_CONFIG" при запуске настройки ESP модулю отправляться не будут
### Диагностика WIFI
При успешном подключении к сети (или создании сети в режиме точки доступа) в стандартный UART, который выведен на USB разъем принтера, будет выведен IP адрес и название сети. Если у модуля ESP есть какие-то настройки сети, но подключиться к ней он не смог, то модуль перейдет в режим точки доступа, и выдаст в UART название точки доступа и свой IP. На попытки подключения к сети уходит несколько минут.
IP адрес так же будет на экране.
### Что и где и зачем
### Как понять, что оно работает
Основной код работы лежит в Marlin/src/module/mks_wifi
При включении принтера, на экране отобразится статус "WIFI init"
Для работы с файловой системой, в Marlin/src/libs/fatfs лежит FATFs и драйвер SDIO. Marlin зачем-то использует формат имен файлов в формате 8.3, а ESP модуль и plugin в Cura используют длинные имена файлов. Мне не удалось использовать для этого библиотеку из Marlin. Кроме того, драйвер SDIO используемый Marlin не умеет мультиблочное чтение/запись. Поэтому я использовал FATFs и свой драйвер SDIO. При начале передачи карта отключается от Marlin, заново происходит инит карты, и уже через FATFs запись файла. После передачи файла карта обратно подключается в Marlin.
Если ESP модулю удалось подключиться к сети, на экране будет IP адрес.
Во время передачи файла управление в цикл Marlin не возвращается. Это значит, что пока идет передача никакой функционал Marlin не работает, команды не исполняются, устройства не управляются. Предполагается, что загрузка файла происходит во время простоя принтера. Есть проверка на то, чтобы передача не началась во время печати, но лучше не пробовать.
При старте передачи файла отображается "Upload file", в процессе загрузки отображается прогресс в процентах.
Почему такая убогая работа с DMA, с опросом флага в цикле. Я не смог использовать прерывание. Авторы libmapple зачем-то переименовали общепринятые названия обработчиков прерываний. Обработчик по умолчанию с "weak" я нашел, но почему-то мой обработчик с таким именем не работал. Если кто-то может показать как подключить свой обработчик прерывания DMA, это сделает код чище, проще и немного быстрее.
Если файл успешно принят отобразится "Upload done" и **прозвучит звуковой сигнал**
Скорость работы. Примерно такая же как у стандартного 4S. В целом упирается в ESP модуль, на карту можно писать и быстрее.
Если во время приема файла были ошибки, отобразится надпись "Upload Failed" и **звукового сигнала не будет**