Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Печать с внутренней карты MicroSD #5

Closed
ursoft opened this issue Nov 19, 2019 · 15 comments
Closed

Печать с внутренней карты MicroSD #5

ursoft opened this issue Nov 19, 2019 · 15 comments
Assignees

Comments

@ursoft
Copy link
Owner

ursoft commented Nov 19, 2019

При USB-соединении с принтером доступна эта карта. Скорость записи почти мегабайт в секунду. Возможно, захочется gcode туда засылать. Осталось заставить оттуда распечатать - SDCARD_CONNECTION ONBOARD, но так, чтобы LCD не потерять.

@ursoft ursoft self-assigned this Nov 19, 2019
@fixid-pub
Copy link
Collaborator

Это плохая идея, внутренняя карта нужна для обновления прошивки. Туда достаточно записать firmware.bin для автоматического обновления. Octoprint может обновлять прошивку путем монтирования карты и закидывания бинарника прошивки

@ursoft
Copy link
Owner Author

ursoft commented Nov 20, 2019

если сломается обновление прошивки, то ничего делать не будем, конечно

@ursoft
Copy link
Owner Author

ursoft commented Nov 21, 2019

Обновление прошивки не ломается, но и одновременной работы не предусмотрено. Т.е. если таки доработать marlin для работы с 2 картами, то подав M21/M22 можно внутреннюю смонтировать/отмонтировать. Когда отмонтирована - доступна через USB с ПК. В любом состоянии можно запускать печать из pronterface (сам смонтирует). Самый большой минус - в прошивке не предусмотрена одновременная работа с 2 картами, а если и предусмотреть, это скушает немало памяти и работы не так мало, как в других запросах. Так что, возможно, и не стоит овчинка выделки. Время покажет.

@ssavickiy
Copy link
Collaborator

имхо, я не вижу смысла в этой фишке.

@ursoft
Copy link
Owner Author

ursoft commented Nov 22, 2019

Такая функция у меня в стоковом дримере была. Прямо из слайсера файл отправлялся по USB на ту флешку, что в материнке торчит (и тут же сам запускался). Удобно, комп можно выключить и никаких тебе расходов на малинку или дерганий SDCARD из разъёма в разъём. Тут же я наверное таки проленюсь это самолично делать (к тому же мне-то малинка приедет скоро, а остальные приучены к своим способам, а не избалованы, как я). Я надеюсь, в исходном репозитории марлина рано или поздно это сделают, раз техническая возможность имеется - может тогда и подтянем.

@ssavickiy
Copy link
Collaborator

@ursoft малинка умеет на сд карту кидать, но как дальше печать происходит не проверял. наверное можно тогда и малину отрубить

@ursoft
Copy link
Owner Author

ursoft commented Nov 22, 2019

@ssavickiy если она кидает файл командами GCODE через эмуляцию USB<->RS-232 - то да, можно ее потом отключить. Но наверное лучше все же с нее и печатать, чтобы избежать лишней задержки на предварительную передачу файла по USB-каналу 100-200кБит. У дримера-то был полноценный по скорости канал на внутреннюю флешку - а тут будет куцый на внешнюю.

@ssavickiy
Copy link
Collaborator

@ursoft столкнулся с тем, что все таки это опция должна быть включена SDCARD_CONNECTION ONBOARD
для того, чтобы была возможность через октопринт прошивать плату. но я не пойму, при этом поломается печать с сд карты экрана?

@ssavickiy
Copy link
Collaborator

update
сейчас прошился через октопринт и без этой опции. хотя в самой инструкции указано https://github.com/OctoPrint/OctoPrint-FirmwareUpdater#lpc1768-boards

@ursoft
Copy link
Owner Author

ursoft commented Dec 9, 2019

В инструкции опечатка, они должны были написать LCD вместо ONBOARD (это действительно значение по умолчанию). Сами же потом монтируют диск по USB. Если таки доделаем запрос, то октопринт сможет на высокой скорости записывать задание на печать по USB, а потом хоть помирать.

@ursoft
Copy link
Owner Author

ursoft commented Dec 9, 2019

Вот какой получается алгоритм (включается SDCARD_CONNECTION=LCD_AND_ONBOARD и предполагает наличие внутренней карты, иначе не имеет смысла):

  1. Монтаж карты осуществляется в следующем приоритете: внешняя карта важнее, но если ее нет, смонтируется внутренняя.
  2. На старте монтируем карту согласно п1, чтобы проверить, есть ли auto#.g или recovery. Если есть, отрабатываем их и по возможности демонтируем внутреннюю карту (чтобы была видна в ПК как USB-диск). Иначе обязательно демонтируем внутреннюю. Если не демонтировалась, это можно сделать командой M22 (или из меню) - и можно заливать с ПК прошивку или gcode.
  3. Если какие-то действия пользователя привели к монтажу внутренней карты, автоматически она потом не демонтируется.
  4. Если какие-то действия пользователя привели к монтажу внешней карты, автоматически демонтируется внутренняя.

ursoft added a commit that referenced this issue Dec 9, 2019
@ursoft ursoft closed this as completed in 5749521 Dec 9, 2019
ursoft added a commit that referenced this issue Dec 9, 2019
ursoft added a commit that referenced this issue Dec 10, 2019
@ssavickiy
Copy link
Collaborator

ssavickiy commented Jan 23, 2020

Firmware Updater перестал работать на октопринте, причин пока не вижу
UPD
помогло добавление следующих строк в /lib/systemd/system/systemd-udevd.service

PrivateMounts=no
MountFlags=shared

@ursoft
Copy link
Owner Author

ursoft commented Jan 23, 2020

Спасибо, я и забыл написать про PrivateMounts

ursoft added a commit that referenced this issue Jan 25, 2020
ursoft added a commit that referenced this issue Jan 25, 2020
@ursoft
Copy link
Owner Author

ursoft commented Jan 25, 2020

Откатил временно, костыль конфликтует с включением режима UART

@ursoft ursoft reopened this Jan 25, 2020
@ursoft ursoft closed this as completed in 3d4507f Jan 25, 2020
@ursoft
Copy link
Owner Author

ursoft commented Jan 28, 2020

теперь порядок

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants