Думал изменить пару параметров в прошивке, подцепил кабель, запустил прошивку из Arduino IDE. Вывались ошибки, на что я не особо обратил внимание, попробовал опять. После очередной такой попытки и перезапуска принтера на экране стало пусто. Я честно говоря даже не отследил момент когда это произошло. Все внимание было на консоль вывода ошибок прошивки. В процессе прошивки вываливаются таймауты. Прошиваю прошивкой от производителя, т.е. все настройки там должны быть как были до этого, кроме пары измененных мной (инверсия движения двигателей). Поскольку экран не работает, подцепил малинку с уже настроенным Octoprint который на этом принтере работал. Соединяется, прошивка весело рапортует это это Marlin 1.1.0-RC7. Но спустя недолгое время отваливается из-за многочисленных таймаутов - по словам опять же того же Octoprint. На команды не реагирует, задание не печатает. Спустя какое то время даже соединятся отказывается.
Пробовал еще раз прошить, жалуется на таймауты. Но, если включить, нажать резет и тут же нажать прошить - может повезти и прошьет. Но поскольку у меня были сомнения, я решил для верности прошить программатором, причем и прошивку и бутлоадер. Инструкция бралась здесь:
http://3dtoday.ru/blogs/dagov/as-i-was- ... ot-loader/. Все прошилось без ошибок, но делу это не помогло.
Прошиваю из под Linux - Fedora. Куда копать дальше?
Вот лог прошивки самой прошивки через программатор:
Код:
Используем библиотеку Wire в папке: /usr/share/arduino/hardware/arduino/avr/libraries/Wire
Используем библиотеку U8glib в папке: /home/rafaelrs/Arduino/libraries/U8glib
Используем библиотеку LiquidCrystal в папке: /usr/share/arduino/libraries/LiquidCrystal
Используем библиотеку SPI в папке: /usr/share/arduino/hardware/arduino/avr/libraries/SPI
............................ Здесь полотенце сообщений компиляции..............................
Sketch uses 104 894 bytes (41%) of program storage space. Maximum is 253 952 bytes.
Global variables use 4 670 bytes (57%) of dynamic memory, leaving 3 522 bytes for local variables. Maximum is 8 192 bytes.
/usr/bin/avrdude -C/etc/avrdude/avrdude.conf -v -patmega2560 -cstk500v1 -P/dev/ttyACM0 -b19200 -Uflash:w:/tmp/build2359125171720070438.tmp/Marlin.cpp.hex:i
avrdude: Version 6.3, compiled on May 21 2016 at 20:29:13
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude/avrdude.conf"
User configuration file is "/home/rafaelrs/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyACM0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/build2359125171720070438.tmp/Marlin.cpp.hex"
avrdude: writing flash (104894 bytes):
Writing | ################################################## | 100% 105.81s
avrdude: 104894 bytes of flash written
avrdude: verifying flash memory against /tmp/build2359125171720070438.tmp/Marlin.cpp.hex:
avrdude: load data flash data from input file /tmp/build2359125171720070438.tmp/Marlin.cpp.hex:
avrdude: input file /tmp/build2359125171720070438.tmp/Marlin.cpp.hex contains 104894 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 65.84s
avrdude: verifying ...
avrdude: 104894 bytes of flash verified
avrdude done. Thank you.
Вот лог от Octoprint:
Код:
Changing monitoring state from 'Offline' to 'Detecting serial port'
Serial port list: ['/dev/ttyUSB0']
Connecting to: /dev/ttyUSB0
Error while connecting to /dev/ttyUSB0: 'Timeout'
Changing monitoring state from 'Detecting serial port' to 'Error: Failed to autodetect serial port, please set it manually.'
Failed to autodetect serial port, please set it manually.
Connecting to: /dev/ttyUSB0
Changing monitoring state from 'Offline' to 'Opening serial port'
Connected to: Serial(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Starting baud rate detection
Changing monitoring state from 'Opening serial port' to 'Detecting baudrate'
Trying baudrate: 250000
Send: N0 M110 N0*125
Recv: start
Changing monitoring state from 'Detecting baudrate' to 'Operational'
Send: N0 M110 N0*125
Recv: echo: External Reset
Recv: Marlin 1.1.0-RC7
Recv: echo: Last Updated: 2016-07-3h����� default config)
Recv: Compiled: May 28 2017
Recv: echo: Free Memory: 3506 PlannerBufferBytes: 1232
Recv: echo:Hardcoded Default Settings Loaded
Recv: echo:Steps per unit:
Recv: echo: M92 X100.00 Y100.00 Z400.00 E158.00
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X500.00 Y400.00 Z2.00 E25.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X9000 Y9000 Z50 E10000
Recv: echo:Accelerations: P=printing, R=retract and T=travel
Recv: echo: M204 P3000.00 R3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:Home offset (mm)
Recv: echo: M206 X0.00 Y0.00 Z0.00
Recv: echo:Material heatup parameters:
Recv: echo: M145 S0 H180 B70 F0
Recv: echo: M145 S1 H240 B110 F0
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I1.08 D114.00
Recv: echo:Filament settings: Disabled
Recv: echo: M200 D3.00
Recv: echo: M200 D0
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: N1 M115*39
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: N2 M21*18
No response from printer after 3 consecutive communication timeouts, considering it dead. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Changing monitoring state from 'Operational' to 'Offline: Too many consecutive timeouts, printer still connected and alive?'
Connection closed, closing down monitor