Hi,
I've set up a fresh instance and want to test out the debugging stack, but can't seem to get a connection to the simulated MCU.
I start the stack with the following:
docker compose \
--profile mainsail \
--profile hostmcu \
-f docker-compose.yaml \
-f docker-compose.extra.simulavr.yaml \
up -d
The simulator starts up fine:
simulavr-1 | Starting AVR simulation: machine=atmega644 speed=16000000
simulavr-1 | Serial: port=/opt/printer_data/run/simulavr.tty baud=250000
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register MCUSR not simulated (write 0x00 to register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 246: MCU register WDTCSR not simulated (read from register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register WDTCSR not simulated (write 0x18 to register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register WDTCSR not simulated (write 0x00 to register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register WDTCSR not simulated (write 0x18 to register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register WDTCSR not simulated (write 0x0d to register)
simulavr-1 | WARNING: file /opt/simulavr/libsim/rwmem.cpp: line 252: MCU register WDTCSR not simulated (write 0x40 to register)
Klippy log says the following:
mcu 'mcu': Wait for identify_response
Traceback (most recent call last):
File "/opt/klipper/klippy/serialhdl.py", line 75, in _get_identify_data
params = self.send_with_response(msg, 'identify_response')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/klipper/klippy/serialhdl.py", line 271, in send_with_response
return src.get_response([cmd], self.default_cmd_queue)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/klipper/klippy/serialhdl.py", line 331, in get_response
self.serial.raw_send_wait_ack(cmds[-1], minclock, reqclock,
File "/opt/klipper/klippy/serialhdl.py", line 263, in raw_send_wait_ack
self._error("Serial connection closed")
File "/opt/klipper/klippy/serialhdl.py", line 68, in _error
raise error(self.warn_prefix + (msg % params))
serialhdl.error: mcu 'mcu': Serial connection closed
I have confirmed that it loads the included printer-simulavr.cfg file.
$ git diff docker-compose.extra.simulavr.yaml
diff --git a/docker-compose.extra.simulavr.yaml b/docker-compose.extra.simulavr.yaml
index 1194b9d..f43c3b3 100644
--- a/docker-compose.extra.simulavr.yaml
+++ b/docker-compose.extra.simulavr.yaml
@@ -7,7 +7,7 @@ services:
context: docker/klipper
target: build-simulavr
args:
- VERSION: master
+ VERSION: 2f05309d59743c1a20b271da3a8c481397c16424
privileged: true
volumes:
- /dev:/dev
$ docker compose --profile mainsail --profile hostmcu -f docker-compose.yaml -f docker-compose.extra.simulavr.yaml exec klipper ls -l /opt/printer_data/run
total 0
srwxr-xr-x 1 klipper klipper 0 Jul 6 22:51 klipper.sock
lrwxrwxrwx 1 klipper klipper 10 Jul 6 22:49 klipper.tty -> /dev/pts/2
lrwxrwxrwx 1 root root 10 Jul 6 22:45 klipper_host_mcu.tty -> /dev/pts/5
lrwxrwxrwx 1 klipper klipper 10 Jul 6 22:49 simulavr.tty -> /dev/pts/1
$ docker compose --profile mainsail --profile hostmcu -f docker-compose.yaml -f docker-compose.extra.simulavr.yaml exec klipper ls -l /dev/pts/1
crw--w---- 1 klipper tty 136, 1 Jul 6 22:52 /dev/pts/1
$ uname -a
Linux homelab 6.17.0-35-generic #35~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 19:30:42 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ docker --version
Docker version 29.5.2, build 79eb04c
Did a separate test with a real MCU (and host MCU) which connected fine, so things work in general, but I'm now a bit stuck setting up the simulator.
Am I missing something obvious here ?
Hi,
I've set up a fresh instance and want to test out the debugging stack, but can't seem to get a connection to the simulated MCU.
I start the stack with the following:
The simulator starts up fine:
Klippy log says the following:
I have confirmed that it loads the included
printer-simulavr.cfgfile.Did a separate test with a real MCU (and host MCU) which connected fine, so things work in general, but I'm now a bit stuck setting up the simulator.
Am I missing something obvious here ?