Multiple ACE detected, only slots from first available - Kobra S1 #95
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hello,
I discovered your tool just yesterday and have been testing it with a Kobra S1. Reddit posts and Gemini indicated it should work with the S1.
My configuration in the S1 with two ACE Pro units (Not ACE2).
So far I have tested the following successfully:
Camera
Set temp of hot end.
Set temp of bed
Home All
Move Print head in X and Y
Move Bead Up and Down (Z)
Adjust Cooling fan speed from 0 to 100%
Both ACE Units are detected and the temperature is properly displayed. Humidity is displayed as 0, which appears to match information found in the logs.
I am able to adjust the time and temperature setting for drying and these are updated on the dashboard correctly. I can also start and stop drying on both units.
I have also successfully connected to the printer with OrcaSlicer-KX
The issue I have encountered is that it appears only the slots from the first unit are being detected - the one directly connected to the printer. The log contains information for the slots from both units, but I only see slots from the first unit in the dashboard and these are the only four slots which will sync to the slicer. If I change the order the ACE units are connected, I still only see four slots, but the spool information changes to the unit that is directly connected to the printer. I also noticed the slot information appears in the log, there is a message indicating only 4 slots were received.
Attached is a picture from the dashboard as well as a copy of the log.
This tool looks very promising. Thank you for your work on this.
Thanks for the detailed report and log, @hoovercl. Found it: the bridge only kept the first ACE unit's slots when the printer reports multiple units without a toolhead buffer (your S1's topology). Fixed locally so both units show up (8 slots total), covered by new tests using your exact payload.
One thing I can't verify without S1 hardware: whether printing from a slot on the second unit addresses it correctly. If you can test that once you're on the nightly, that'd help a lot.
Next nightly build is expected in about 5 hours — you're on 0.9.27 stable, so you'll need the
:nightlyDocker tag (or./start.sh nightly) to get it.Fix is now committed and online
I have installed the nightly.
All slots now appear on the dashboard.
All filaments sync;'d to the slicer (both standard OrcaSlicer and OrcaSlicer-KX). One note, my second unit had an empty slot, but it was also sync'd to the slicer as "Generic ABS".
I printed a calibration cube using a filament loaded in the second ACE unit successfully.
Great to hear both units sync correctly and printing from the second one worked, @hoovercl — thanks for taking the time to test it on real S1 hardware, that's not something I can verify myself.
On the empty-slot-shows-as-"Generic ABS" note: the bridge treats a slot as occupied purely based on the printer's own
status: 5flag (and only sends real material data for those, otherwise it's meant to appear as an empty placeholder tray). If your second unit's empty slot got treated as occupied, that suggests the S1 (or its ACE Pro firmware) reports an empty slot's status differently than the Kobra X does for its own ACE unit — something the bridge wasn't originally built against, since testing so far has only been on Kobra X hardware.This is a much smaller, separate issue from the "second unit invisible entirely" bug you originally reported (which is fully fixed), so I'll leave the main issue here closed out. If the empty-slot mislabeling bothers you enough to chase down, a bridge log snippet showing that specific slot's
multiColorBox/reportentry (status/type fields) while it's actually empty would tell me exactly what the S1 reports differently — happy to open a separate, lower-priority issue for it if you want to send that over.