Каким образом ее можно будет ускорить, если в симуляции использовать совершенно другую - абстрактную - библиотеку, после чего для контроллера переписывать все заново с совершенно иным принципом отрисовки?
Ничего не понял. Это потом и в "боевом" микроконтроллере будет генерироваться код .gv? Или он только в симуляции и фактически заменяет какой-нибудь фотошоп, в котором редактируется компоновка экрана? А если так, то о какой отладке вообще идет речь, если потом все равно надо будет все переписывать и отлаживать на реальном микроконтроллере?
Вам принесли 6ти слойную электронную плату прямо с производства. Её ещё ни разу не включали. Обычно в таких случаях 90% вероятность, что в PCB есть какие-то аппаратные баги: короткие замыкания на GND, короткие замыкания на VCC или вовсе непропай пинов MCU.
Срочно менять такое забагованное производство.
Как вы думаете зачем в микроконтроллерах есть функция pull-up/pull-down, если можно просто воспользоваться установкой логического уровня push-pull?
Или не воспринимать слишком серьезно подобные личные оценочные суждения, написанные как непререкаемая истина :) Загрузчик должен стартовать до основной прошивки и передать управление основной программе, либо по какому-либо условию/сигналу принять извне удобным способом новую основную прошивку и записать ее во флэш контроллера. И всё :) Остальные фичи могут быть востребованы, а могут и не быть, зависит от задач и пожеланий :) И методы реализации этих фич так же могут быть разными.
Простейший загрузчик вполне можно уложить и в пару килобайт, а может быть даже и меньше :)
Ни разу не сталкивались с "не представляю зачем они так сделали" при ловле багов в чужих программах? :) Более того, бывает даже "не представляю зачем я это тогда так сделал" :))
Современные микроконтроллеры могут стартовать много как - с заводского загрузчика, с фиксированного адреса RAM, с фиксированного адреса FLASH - все зависит от конфигурации, заданной во фьюзах или определенным подключением специальных выводов. Как правило его конфигурируют на старт из FLASH, где и находится пользовательская прошивка.
Выше я уже написал, что инпут шейпер не магия и борется с резонансом, ограничивая скорость (и ускорение) на потенциально проблемных участках.
Инпут шейпер борется с резонансом вставляя в движение рывки в противофазе резонансу. Именно для этого ему необходимо указывать частоту и коэффициент ослабления резонанса.
Вы же снова заявляете, что знаете все лучше всех и еще хамите про отсутствие понимания у всех вокруг, утверждая, что инпут шейпер не ограничивает скорость печати.
Вы снова откровенно лжете. И снова сольетесь если я попрошу показать где я писал, про всё и всех. Понимание отсутствует у Вас, а не у всех, и это не хамство, а факт.
Еще раз прошу показать код, если вы так уверены в своих познаниях. Кстати, релевантного кода там немного и можно сделать ссылку на нужные строки на гитхаб.
И нет там никаких десятков килобайтов кода, которые отвечают за изменения скорости при работе инпут шейпера - всего кода управления двигателем около 3000 строк
Как найдете строку наподобие ShapingDecreaseSpeedAndAcceleration() - поделитесь ссылкой. Основного кода управления двигателями в файлах Stepper.* там больше 5000 строк, и это еще без нового метода с интегрированными способами шейпинга - Fixed Time Motion. Насчет десятков килобайт я ошибки, да. На самом деле сотни.
Активное шумоподавление подразумевает обратную связь, а марлин вообще не пользуется датчиками для оценки резонанса, все в конфиге задается.
В частном случае наподобие рассматриваемого - известны частота и фаза подавляемого сигнала - обратная связь необязательна. Так что да, учите матчасть.
Ну и где тут хоть что-то напоминающее "инпут шейпинг увеличивает скорость выше заданного в слайсере предела"?
но код не показываете
Весь код доступен любому желающему в репозитории Марлина на гитхабе. Или Вы ожидаете, что я сюда скопирую десятки килобайт кода, отвечающего за работу с моторами?
так что все, что может сделать, это замедлить движения, потенциально приводящие к резонансу (двигаться медленнее и быстрее так, чтобы предотвратить колебания, требует знания следующих команд, что невозможно в принципе на 8битных и совместимых платформах).
Вы опять болтаете ерундой при отсутствии понимания. Знаете как работает активное шумоподавление? Вот тот же принцип лежит и в основе ИШ.
Вместо того чтобы агрессивно отрицать процессы, которые Вы не понимаете, лучше почитайте про них, изучите. Благо, сейчас любая информация доступна по щелчку пальцев. В конце концов понаблюдайте за работой подъемных кранов как там гасят раскачивание груза на тросе - это вот и есть принцип работы инпут шейпинга.
Каким образом ее можно будет ускорить, если в симуляции использовать совершенно другую - абстрактную - библиотеку, после чего для контроллера переписывать все заново с совершенно иным принципом отрисовки?
Ничего не понял. Это потом и в "боевом" микроконтроллере будет генерироваться код .gv? Или он только в симуляции и фактически заменяет какой-нибудь фотошоп, в котором редактируется компоновка экрана? А если так, то о какой отладке вообще идет речь, если потом все равно надо будет все переписывать и отлаживать на реальном микроконтроллере?
Срочно менять такое забагованное производство.
Например для выходов open-emitter/open-collector.
Скорее около 50:
Может быть имеется в виду глубина твердой породы, а +10 - это слой пыли? Это объяснило бы резкий рост температуры на глубине выше 0.
Или не воспринимать слишком серьезно подобные личные оценочные суждения, написанные как непререкаемая истина :) Загрузчик должен стартовать до основной прошивки и передать управление основной программе, либо по какому-либо условию/сигналу принять извне удобным способом новую основную прошивку и записать ее во флэш контроллера. И всё :) Остальные фичи могут быть востребованы, а могут и не быть, зависит от задач и пожеланий :) И методы реализации этих фич так же могут быть разными.
Простейший загрузчик вполне можно уложить и в пару килобайт, а может быть даже и меньше :)
Местные животные и растения мутируют, ага.
Ни разу не сталкивались с "не представляю зачем они так сделали" при ловле багов в чужих программах? :) Более того, бывает даже "не представляю зачем я это тогда так сделал" :))
Любая инерциальная система имеет накапливающуюся со временем погрешность. Ее нужно будет регулярно корректировать по достоверным измеренным данным.
Зашел только из-за заголовка "написал свою прошивку с нуля" и в самом же начале увидел резкий разворот на 180° - "с нуля писать не буду" :(
То, что можно зажать, уже перестало быть определяющим фактором :)
Сейчас там с этим все непросто
В Заголовке Слово "Хорошего" Надо Изменить На "Моего".
Современные микроконтроллеры могут стартовать много как - с заводского загрузчика, с фиксированного адреса RAM, с фиксированного адреса FLASH - все зависит от конфигурации, заданной во фьюзах или определенным подключением специальных выводов. Как правило его конфигурируют на старт из FLASH, где и находится пользовательская прошивка.
Когда доступно всего сотня килобайт, аппетиты по загрузчику придется очень сильно умерить.
В последние месяцы мой провайдер VPN регулярно информирует об очередных сбоях из-за блокировок. Благо, он довольно быстро фиксит эти неприятности...
Эпоха простого использования VPN подходит к концу, увы :(
Ну как я и предположил в предыдущем сообщении - с ответа на прямой вопрос Вы слились.
А вообще мне надоело Ваше агрессивное невежество, пока.
P.S.: в паре сообщество по 3D-печати народ дружно поржал над консольным дрыгостолом, качественно печатающим на скорости 200 с ускорениями 5000.
Инпут шейпер борется с резонансом вставляя в движение рывки в противофазе резонансу. Именно для этого ему необходимо указывать частоту и коэффициент ослабления резонанса.
Вы снова откровенно лжете. И снова сольетесь если я попрошу показать где я писал, про всё и всех. Понимание отсутствует у Вас, а не у всех, и это не хамство, а факт.
Нате Вам ссылку на процедуру шейпинга, раз Вы сами не можете найти ее - https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/Marlin/src/module/stepper.cpp#L2105
Как найдете строку наподобие ShapingDecreaseSpeedAndAcceleration() - поделитесь ссылкой. Основного кода управления двигателями в файлах Stepper.* там больше 5000 строк, и это еще без нового метода с интегрированными способами шейпинга - Fixed Time Motion. Насчет десятков килобайт я ошибки, да. На самом деле сотни.
В частном случае наподобие рассматриваемого - известны частота и фаза подавляемого сигнала - обратная связь необязательна. Так что да, учите матчасть.
Ну и где тут хоть что-то напоминающее "инпут шейпинг увеличивает скорость выше заданного в слайсере предела"?
Весь код доступен любому желающему в репозитории Марлина на гитхабе. Или Вы ожидаете, что я сюда скопирую десятки килобайт кода, отвечающего за работу с моторами?
Вы опять болтаете ерундой при отсутствии понимания. Знаете как работает активное шумоподавление? Вот тот же принцип лежит и в основе ИШ.
Покажите мне где я писал, что ИШ увеличивает скорость.
Вместо того чтобы агрессивно отрицать процессы, которые Вы не понимаете, лучше почитайте про них, изучите. Благо, сейчас любая информация доступна по щелчку пальцев. В конце концов понаблюдайте за работой подъемных кранов как там гасят раскачивание груза на тросе - это вот и есть принцип работы инпут шейпинга.