Команду M502 попробую. Просто не думала, что EEPROM нужно для работы. А "все переменные" едва ли хранятся в EEPROMе, а потому должны стираться при отключении питания или RESET'е. Думаю, именно по этой причине всякий раз после старта требуется хоуминг - программа забывает прежние координаты.
Про моторы подумаю, то старых CDROM-приводов у меня дома тоже нет.
Прошивка переписана с рабочей платы, но та вместе с принтером находится в другой организации. А аналог платы я получила только в пятницу вечером, причем именно для того, чтобы что-то можно было проверить на ней дома, никуда не выезжая. Команды G0 я на живом 3D-принтере тоже пока не испытывала, т.к. решила пока поэкспериментировать на своей плате. Впрочем, и на ней у меня всё вроде бы работает, кроме злосчастной команды G0/G1, которая мне как раз и нужна.
Макет отличается от принтера тем, что кроме ардуино-платы на моем "макете" ничего больше нет. Точнее говоря, есть еще драйверы шаговых двигателей, но я их в разъемы платы не вставляла, тем более что питания для шаговиков у меня нет (у них отдельное питание, а не от USB компьютера).
Вместо заливки Marlin'а вы бы мне лучше посоветовали, как откомпилировать ее исходники, а то с Ардуино-компилятором у меня проблемы. А именно - программа не компилируется из-за отсутствия хэдера, который в комментарии предлагается добывать в другом месте:
#include <U8glib.h> // library for graphics LCD by Oli Kraus (
https://github.com …likraus/U8glib_Arduino)
Тогда как в "другом месте" в нагрузку к этому хэдеру прилагается еще 123 C-файла, с которыми я не знаю чего делать.
Будь оно иначе, то я бы напихала во внутрь кода своих сообщений и тогда бы точно узнала место, где сбоит, и причину сбоя.