microsoft / jacdac

Device and service catalogs for Jacdac.
https://aka.ms/jacdac
Creative Commons Attribution 4.0 International
66 stars 25 forks source link

Device view crashes when using a couple of modules together with ultrasonic sensor or accelerometer #1353

Open fabianhugo opened 7 months ago

fabianhugo commented 7 months ago

Describe the bug I set up the Calliope mini V3 as Jacdac brain together with a power module, a servo module, one rotary button, one keycap button, one magnet sensor and a RGB ring, all from Kittenbot. Usually it works well, but at some points I encounter crashes of the makecode device view, where all or single devices disappear. One thing that consistently breaks the device view is inserting the ultra sonic sensor or the accelerometer, but sometimes it also seems to happen after a program is downloaded. When the accelerometer is plugged in the background loads without the 3D-cube and then the sensor disappears. When the ultrasonic sensor is plugged in the sensor appears then disappears. Maybe I am able to narrow this down in the next days, I have the feeling that it is connected to the power module. This was reproduced with micro:bit makecode and hardware as well. When I transfer the following program the device view also sometimes disappears, for example.

image

To Reproduce

  1. Open Makecode
  2. Plug a bigger number of sensors
  3. Plug in the ultrasonic sensor or accelerometer

Expected behavior The modules should not disappear, the device view should not crash.

fabianhugo commented 7 months ago

This also plays a big role when using the duckybot from kittenbot. Everytime I connect the ultra sonic sensor to the existing wiring (2 Servos, RGB strip, power module) the device dashboard inside makecode shows shortly the ultrasonic sensor, sometimes including a value, then the device is lost again. Also programs using the blocks of the ultrasonic sensor don't work reliably. grafik This program usually shows a 9 on the display, only when I disconnect and reconnect the ultrasonic module, the display value is correct for some 10 seconds, until the ultrasonic module disappears again and a 9 is shown. The problem actually persists when only one other module is connected to the bus. When only the ultrasonic sensor is plugged in the behavior is more stable, but also here I seen the device disappearing after 1minute or so.

pelikhan commented 7 months ago

Could you record a packet trace while this crash happens?

fabianhugo commented 7 months ago

trace_ultrasonic.jd (3).txt I recorded a trace with the full setup, 2 RGB rings, keycap button, magnet sensor, rotary button, slider, servo module. The jacdac dashboard seems to be more stable than the makecode device view. With two modules (keycap button + ultrasonic sensor) crashes more seldomly but still does and with the full setup the ultrasonic sensor appears and disappears while at makecode it usually didn't reappear. Edit: Within the trace there are multiple "crashes" where the ultrasonic module disappears and reappears.

fabianhugo commented 5 months ago

Any news on that? Was someone able to reproduce this?