Skip to content

'NTC 100K beta 3950' invalid temp sensor name. Changed to 'Generic 3950' - #19

Merged
Kobra-S1 merged 1 commit into
Kobra-S1:devfrom
shoikan:dev
Oct 28, 2026
Merged

Kobra-S1 merged 1 commit into
Kobra-S1:devfrom
shoikan:dev

Conversation

@shoikan

@shoikan shoikan commented Jun 7, 2026

Copy link
Copy Markdown

Invalid temperature sensor name fixed in printer_KS1.cfg.

@Kobra-S1 Kobra-S1 closed this Oct 28, 2026
@Kobra-S1 Kobra-S1 reopened this Oct 28, 2026
@Kobra-S1
Kobra-S1 merged commit afb0bfe into Kobra-S1:dev Oct 28, 2026
1 check passed
Kobra-S1 added a commit that referenced this pull request Oct 28, 2026
Same change as #19 for printer_KS1.cfg: upstream Klipper removed the
deprecated "NTC 100K beta 3950" definition.
Kobra-S1 added a commit that referenced this pull request Oct 28, 2026
Same change as #19 and #41 for the Kobra X config, which exists only
on kobra-x.
Kobra-S1 added a commit that referenced this pull request Oct 29, 2026
* Kobra X support

ACE behind the Kobra X tool changer: tool numbering from the changer's
offset, gated intake load/unload through the RDM, measured park and
overshoot lengths, printer_KX.cfg and ace_KX.cfg.

Also: ACE2 firmware update and rollback assist, slow first unwind on ACE2,
idle feed-assist pause, ACE_CHECK_TOOL, homing and unload fixes,
CANCEL_PRINT homing guard on all printers, panel fixes for 480x320, docs
brought in line with the code.

* ACE_CHECK_PRINT_TOOLS: refuse a print whose tools have no usable spool

G9111 on K3, K3M, KS1 and KS1M runs it first, before anything moves, so a
print using an empty or missing slot ends at start instead of at its first
tool change. Tools come from the slicer's filament summary, else from the
file's T lines, scanned in chunks with a reactor turn between them.

* manager: name the RDM park step instead of redefining park

flake8 F811 failed the test gate.

* run_all_tests.sh: run the KlipperScreen tests when GTK is installed

Links the system's gi and cairo into .venv when present; without them or
without a display the tests still skip.

* commands: refused commands raise, dryer replies share one handler

ACE_FEED, ACE_RETRACT, their stops and ACE_SET_SLOT only printed their
refusals, so macros carried on and the dashboard showed a refused save as
saved. A dryer stop for all units never re-armed the start message.
Tests for the tool change failure path, print end, smart unload and the
state-setting commands.

* protocols: bound the ACE1 frame length, keep ACE2 bus ids unique

A corrupt ACE1 length field stalled every reply until a reconnect; the
reader now resyncs past it. The ACE2 id plan skips ids already held.
Lane sync no longer re-validates unknown_material_mode (config owns it);
two protocol defaults without an override are named as such.
Parser tests for split frames, junk, short headers, CRC, empty slots,
colours, request builders and malformed protobuf.

* instance: one early stop per retract, retry refused assist restores

An early-stop reason after the dwell re-sent the stop on every wait cycle
and was not reported. A refused or unanswered feed assist restore is
retried within its attempt budget. Status recovery re-arms when neither
reconnect nor disconnect ran.
Tests for assist-off before motion, the firmware-abort load retry and
malformed RFID and status data.

* serial_manager: a write error fails every in-flight request

Requests whose bytes were dropped waited for their timeout.
Tests for port claims, re-entry, a disabled ACE and port lookup.

* manager: a failing transport disconnect does not abort teardown

Tests for shared-bus routing by device id, the stale-index and tool
change guards, retract paths and the state flush on disconnect.

* One retract before the cut, relative in any extrusion mode

K3, K3M and KX CUT_TIP retract themselves, so ACEPRO's pre-cut retract
doubled theirs to 4 mm; pre_cut_retract_length is 0 there and stays 2 on
the KS1 and KS1M, whose CUT_TIP does not retract. Both retracts save the
G-code state and run under M83, so a file in absolute extrusion gets a
2 mm retract instead of a move to E-2. The length may be fractional; the
KS1 CUT_TIP's unused variable_retract is gone.

* tests: endless spool swaps only between ACE tools behind a tool changer's

* Queue the connection-issue pause behind the running G-code command

The monitor timer ran PAUSE with run_script_from_command, which skips the
G-code lock: inside a running CANCEL_PRINT its moves interleaved with the
cancel's motor-off and the MCU shut down with "Timer too close". The pause
now runs as a queued _ACE_CONNECTION_PAUSE, only if the print is still
printing then, and only when the unstable unit feeds the loaded tool.

* runout_monitor: handle runout, tangle and dry resume as queued commands

The monitor timer ran PAUSE, the dialogs and the endless-spool swap with
run_script_from_command, which skips the G-code lock, so they ran inside
whatever command was executing. Like Klipper's filament sensors, the timer
now only stops the print file and queues _ACE_MONITOR_EVENT, which runs
behind the running command and drops the event if the print ended.

* connection_pause: show the dialog when PAUSE fails

* ARCHITECTURE: module map lists the queued-command modules

* protocol_ace2: report the dryer duration in minutes like ACE1

ACE2 takes DURATION in minutes but echoes it in seconds (1800 for
DURATION=30, seen on fw V1.1.31). remain_time is seconds on both
units, so ACE_GET_STATUS labels it s, not min.

* serial_manager: connecting starts at the backoff floor

connect_to_ace began with whatever backoff the previous run of failed
attempts had reached, so switching ACE off and on waited up to 25 s
before the first new attempt. It now resets the backoff to its floor
(1 s with a known USB location, 5 s without) and drops the delay
argument it never used.

* printer_KX: bed thermistor Generic 3950

Same change as #19 and #41 for the Kobra X config, which exists only
on kobra-x.

* CONNECTION_SUPERVISION: reconnect backoff as the code does it

The doc showed a 5 s floor and a 30 s step. The floor is 1 s once the
USB location is known, and the backoff drops back to it before ever
waiting 30 s.

* Docs and comments for review findings on kobra-x

README: a failed command stops the calling macro; the Kobra X options
are explained in ace_KX.cfg. ace_KX.cfg: a feed the ACE aborted itself
gets no 150 mm pull-back. gear_err is documented as seen on ACE2 only;
the dryer-duration comment names the unit it normalizes to.

* Add feed_assist_off_when_idle to keep feed assist on while idle

The idle-timeout hook stopped feed assist on every printer with no way
to switch it off. Default True keeps the current behaviour.

* Add [ace] tool_changer to name the printer-side tool changer

The driver, the KlipperScreen panel and RESUME looked up kx_toolchanger
by a fixed name. The option names it; ace_state publishes the name and
the tool base, which the panel and RESUME now read.

* Fix docs drift on kobra-x; keep tool numbering in the status fallback

README: the KX tool changer sends printer tool numbers, the missing
modules and internal commands, the panel's Force Unload, status wait and
small-screen layout; drop command counts and the removed "Empty" material.
ARCHITECTURE: decision records state constraints instead of incidents.

get_status()'s exception fallback lacked tool_changer and tool_base, so
the panel would refuse slot taps for as long as it was returned.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants