linuxcnc-ethercat (1.42.2.g7fffa62-0) unstable; urgency=low

  * fix(main): fold pll_err into [-period/2, period/2) in the
    master-to-reference branch as well; the resync correction now
    removes only whole periods, so a partially-synchronised slave no
    longer sees a full-period phase jump. The fold is stepped twice
    on the startup cycle where pll_err spans two periods.
  * fix(cia402): 0x6077 actual torque is 16 bits, not 32.
  * fix(cia402): swPositionLimitMax writes 0x607D:02, not 0x607D:01.
  * docs: update DEVICES.md.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Tue, 04 Aug 2026 15:28:54 +0800

linuxcnc-ethercat (1.42.1-1) unstable; urgency=low

  * fix(main): skip the DC reference-clock read when the master runs
    free. The ioctl fails there and the IgH library prints the failure
    to stderr from the cyclic thread, which can block for milliseconds
    when stderr sits on a writeback filesystem. pll-err now reads 0 in
    free-running mode (the previous value compared against an
    unsynchronised clock and never reached the control path).
  * docs: warn against installing with a pending kernel update.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Thu, 30 Jul 2026 11:21:19 +0800

linuxcnc-ethercat (1.42.0-1) unstable; urgency=low

  * feat(main): add domain WKC monitoring pins to the master
    (wkc, wkc-min, wkc-change-count, wkc-state, wkc-reset) and DC
    synchrony monitoring pins (dc-sync-diff, dc-sync-converged,
    dc-sync-max, dc-sync-monitor), with invalidation of the DC-sync
    pins on communication loss.
  * docs: document the master WKC and DC synchrony monitoring pins.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Tue, 21 Jul 2026 15:50:00 +0800

linuxcnc-ethercat (1.41.2-1) unstable; urgency=low

  * fix(syncs): bounds-check the dynamic PDO layout and report an
    overflow instead of writing past the sync-manager buffer.
  * fix(main): guard lcec_read_master against being called before the
    master is activated, avoiding a crash on early reads.
  * ci: bump the GitHub Actions runners to the Node 24 releases.
  * ci: pull libethercat-dev from our own apt repo
    (linuxcnc-ethercat.github.io/apt) instead of the OpenSUSE
    science:/EtherLab builds, removing an out-of-our-control build
    dependency.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Fri, 10 Jul 2026 10:48:07 +0800

linuxcnc-ethercat (1.41.1-3) unstable; urgency=low

  * ci/release: build the trixie package against Debian main's
    linuxcnc-uspace (1:2.9.4) instead of linuxcnc.org's 1:2.9.8.
    dpkg-shlibdeps takes the dependency floor from the build
    environment, so the deb13 package required
    linuxcnc-uspace (>= 1:2.9.8) and was uninstallable on stock
    Debian trixie, where main only carries 1:2.9.4-2. The new
    >= 1:2.9.4 floor is satisfiable both from Debian main and
    from linuxcnc.org. Bullseye and bookworm keep building
    against linuxcnc.org (Debian 11 has no linuxcnc; Debian 12
    only a 2.9.0~pre1 snapshot).

 -- Luca Toniolo <toniolo.luca@gmail.com>  Thu, 11 Jun 2026 13:00:00 +0200

linuxcnc-ethercat (1.41.1-2) unstable; urgency=low

  * shlibs.local: drop ethercat-master from the libethercat.so.1
    alternatives. ethercat-master ships only the master daemon and
    CLI tools, no shared library, so apt treated the OR-dependency
    as satisfied on systems that already had ethercat-master
    installed and never pulled in libethercat. lcec_configgen (and
    anything else linked against libethercat.so.1) then failed to
    start. The runtime library dependency now resolves to
    libethercat or etherlabmaster only; the ethercat CLI is still
    covered by the explicit etherlabmaster | ethercat-master
    dependency in debian/control.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Thu, 11 Jun 2026 12:00:00 +0200

linuxcnc-ethercat (1.41.1-1) unstable; urgency=low

  * Bump upstream to 1.41.1 to overtake the bad 1.41.0+debNNu1
    pool versions that were published before release.yml was
    fixed to read the version from debian/changelog. dpkg
    parsed those as upstream='1.41.0+debNNu1' with no debian
    revision, so any 1.41.0-N+debNNu1 build sorted lower and
    apt refused to upgrade systems still running the bad build.
    1.41.1-1 is unambiguously higher and triggers a clean
    apt upgrade.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Tue, 19 May 2026 09:00:00 +0200

linuxcnc-ethercat (1.41.0-2) unstable; urgency=low

  * shlibs.local: list libethercat first in the alternatives chain
    for libethercat.so.1. The previous order let apt resolve the
    runtime dep to ethercat-master (which ships only the master
    daemon, no .so), so a clean install of linuxcnc-ethercat could
    leave lcec.so unable to load at runtime.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Mon, 18 May 2026 22:00:00 +0200

linuxcnc-ethercat (1.41.0-1) unstable; urgency=low

  * Drop the -bb/-pi flavor split: bb is now the canonical driver.
    Rename source and binary package back to linuxcnc-ethercat.
    Conflicts/Replaces/Provides arranged so any installed
    linuxcnc-ethercat-bb or -pi migrates cleanly.
  * Add HAL initf activation path (clean DC SYNC0 phasing on
    LinuxCNC master/2.10 builds; legacy BANG-BANG retained as
    fallback when initf is not registered or unavailable).
  * Build matrix .deb packages on Debian 11/12/13 and publish to
    linuxcnc-ethercat/apt on tagged releases.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Tue, 12 May 2026 12:00:00 +0200

linuxcnc-ethercat-bb (1.41.0~pre5-bb1) unstable; urgency=low

  * Rename source/binary package to linuxcnc-ethercat-bb to ship in
    parallel with linuxcnc-ethercat-pi flavor (Sittner PI controller).
    Conflicts/Provides/Replaces linuxcnc-ethercat for clean upgrade.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Mon, 27 Apr 2026 10:00:00 +0200

linuxcnc-ethercat (1.41.0~pre5-1) unstable; urgency=low

  * Revert "Adopt Sittner's DC sync callback architecture with PI
    controller" (7a89bf3). Restore pre-callback DC sync code.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Wed, 22 Apr 2026 16:00:00 +0200

linuxcnc-ethercat (1.41.0~pre4-1) unstable; urgency=low

  * Revert "fix(dcsync-m2r): discard slave's pre-epoch SystemTime on
    first read" (0fe4200): did not help OP transition speed.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Wed, 22 Apr 2026 14:00:00 +0200

linuxcnc-ethercat (1.41.0~pre3-1) unstable; urgency=low

  * Restore pre-activation ecrt_master_application_time() seed in
    lcec_activate_master(). Speeds up OP state transition.

 -- Luca Toniolo <toniolo.luca@gmail.com>  Wed, 22 Apr 2026 12:00:00 +0200

linuxcnc-ethercat (1.41.0~pre2-1) unstable; urgency=low

  * Loosen libethercat shlib dep via debian/shlibs.local: accept
    etherlabmaster | libethercat | ethercat-master (>= 1.5.2).

 -- Luca Toniolo <toniolo.luca@gmail.com>  Tue, 21 Apr 2026 12:00:00 +0200

linuxcnc-ethercat (0.9.5-1) unstable; urgency=low

  * Current HEAD: 0c872dd
  * Using Real Floats (#114)
  * Allow dynamic mapping of PDOS depending on Device-Config (#115)
  * added EL5002 and EL5032

 -- Bjarne von Horn <vh@igh.de>  Fri, 9 Nov 2023 16:53:00 +0100

linuxcnc-ethercat (0.9.5) unstable; urgency=low

  * better buffer handling of dynamic fsoe data
  * fixed el1918_logic pdo count calculation
  * added inverted inputs to EL1904
  * fixed el1918 to adapt new el6900 config method
  * Add Delta MS300
  * add additional AX5100 Types
  * removed txpdo state bit from el6900, due firmware change
  * Support added for EL9576
  * Adding Support for EK1101 and EL2652
  * Support added for EL9576
  * added support for EL1918 as TwinSAFE plc

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Thu, 10 Mar 2022 09:13:50 +0100

linuxcnc-ethercat (0.9.4) unstable; urgency=low

  * added EL7211 debug pins
  * route digital input to HAL for EL7201-9014
  * added ramp function with at-speed pin to el7211/el7411 for use as spindle
  * Add support for all Omron G5 drives
  * added EP2809, EP2008, EK1120
  * added EL7411 (HALL velocity mode)
  * added EL7201-9014
  * added EL7031 and EL7041_0052 support
  * added EL1859
  * added EL2634
  * added EL3164
  * added EL1819
  * add SK1110 support
  * add linuxcnc 2.8 support
  * add 3lm2rm support
  * add el4134 support
  * moved from PI to BANG-BANG controller for task PLL.
  * add EL7221 support
  * added EL40x8 support
  * add support for EL2612
  * fixed fsoe command read data type
  * allow IP trsition on SDO initialization
  * added external encoder supoort for MDS5000
  * support for complete write on SDO init commads
  * added support for ax5203
  * add fsoe support
  * fixed a problem that could not read an unordered property
  * fix segfault during `lcec_update_slave_state_hal()` on Machinekit HAL
  * fixed el2521 sdo 8000:07 read size

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Wed, 21 Jul 2021 11:47:50 +0200

linuxcnc-ethercat (0.9.3) unstable; urgency=low

  * NEW: support to sync master's task to the EC refclock (sittner)
      enabled via refSyncCycle="1", needs supplied patch against linuxcnc
  * NEW: support for EL2798 (frankbrossette)
  * NEW: support for EL41x4 (frankbrossette)
  * NEW: support for EL3255 5 Ch Potentiometer input device (sittner)
  * NEW: support EP2028 (sittner)
  * NEW: support for EL7211 (sittner)
  * NEW: support for AX5206 (sittner)
  * NEW: added SoE setup function for ethercat-config.xml (sittner)
  * NEW: added support to include external CoE/SoE init commands for ethercat-config.xml (sittner)
  * NEW: new module specific parameter support (narogon, sittner)
  * NEW: stmds5k, deasda, ax5206 and el7211 uses same encoder class for position feedback (sittner)
      ATTENTION: this may need some changes to existing configs, as some pins have changed
  * FIX: Fixed conceptual bug in intermediate config buffer handling (sittner)
  * FIX: sync refclock to masterclock now respects local jitter (sittner)
  * FIX: use master's synchronous ecrt_master_sdo_upload to read SDOs on init (sittner)
  * FIX: build script uses Makefile.modinc (sirop, sittner)
  * DEPRECATE: RTAI is not tested anymore (sittner)
  * CLEANUP: reworked pin export method (sittner)
  * CLEANUP: introduced function class concept (sittner)

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Fri, 23 Mar 2018 14:38:41 +0200

linuxcnc-ethercat (0.9.2) unstable; urgency=low

  * added autoreset fault retry option for delta asda driver (sittner)
  * add driver support for EL2622 (koppi)
  * EL7342: fix counter underflow, counter overflow PDOs (koppi)
  * add device driver for EL7041-1000 (koppi)
  * fixed scale/offset config parsing (sittner)
  * GENERIC: support for complex pins (frankbrossette, sittner)
  * support for EL2202 and EL1252 added (claudiolorini)

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Sun, 04 Oct 2015 21:51:14 +0200

linuxcnc-ethercat (0.9.1) unstable; urgency=low

  * Stoeber MDS5000 tourque calculation fixed
  * Support for simulation mode
  * Rework of build system

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Wed, 11 Mar 2015 00:00:00 +0100

linuxcnc-ethercat (0.9.0-2) unstable; urgency=low

  * added example files

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Tue, 28 Jan 2015 16:26:32 +0100

linuxcnc-ethercat (0.9.0-1) unstable; urgency=low

  * Initial release

 -- Sascha Ittner <sascha.ittner@modusoft.de>  Mon, 12 Jan 2015 10:19:04 +0100

