Skip to content

Releases: w1ne/iolinki-master

iolinki-master 1.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 13:02
3b91a4a

Release 1.1.0

Date: 2026-10-17

📊 Quality Report

Metric Status
Tests ✅ 17 Passed / 17 Total
Coverage 📈

🚀 New Features

  • feat(port): establish communication per V1.1.5 7.3.2.2
  • feat: emit a one-line gateway record from a master port

🐛 Bug Fixes

  • fix: serialize M-sequence exchanges for direction-dependent replies
  • fix: flush stale rx bytes when a direction-changing request is sent
  • fix: answer the sample cyclic WRITE with the spec reply layout
  • fix: decode the spec OPERATE reply layout ([OD][PD-in] CKS)
  • fix: emit a gateway line once device identity is known
Other Changes (Docs, Refactor, Maint)

Documentation

  • docs: note the joint device/master upgrade for the multi-octet OPERATE layout
  • docs: describe the OPERATE reply-layout fix
  • docs: describe the V1.1.5 establish-communication sequence

Maintenance

  • Merge pull request #28 from w1ne/fix/operate-reply-layout
  • chore(release): stamp v1.1.0 changelog, version and roadmap
  • Merge pull request #27 from w1ne/feat/wake-response-baud-detection
  • Merge pull request #26 from w1ne/feat/gateway-line
  • Align master licensing and restore file-backed integration test persistence (#25)

iolinki-master 1.0.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 01:55

Release 1.0.0

Date: 2026-09-25

📊 Quality Report

Metric Status
Tests ✅ 15 Passed / 15 Total
Coverage 📈

🚀 New Features

  • feat: emit spec-conformant startup probe and OPERATE transition
  • feat(zephyr): add Zephyr module, west manifest and native_sim sample

🐛 Bug Fixes

  • fix(port): TYPE_2_1/2_2 carry one OD octet per Table A.10
  • fix(event): only route a sent diagnosis read's OD into the event readout
  • fix(isdu): advance FlowCTRL to COUNT 1 once the response has started
  • fix(port): carry PD-out and M-sequence type bits in OPERATE ISDU frames
  • fix(port): T_DMT, T_DWU, response deadline from T_BIT, restart after retry exhaustion
  • fix(parameters): Table A.10 M-sequence codes and Table B.6 descriptor validation
  • fix(events): read the Table 58 event memory over the diagnosis channel
  • fix(isdu): spec ISDU framing, lengths, CHKPDU and FlowCTRL segmentation
  • fix(wire): verify replies with the A.1.6 checksum
  • fix(params): decode ProcessData descriptor Length per Table B.6
Other Changes (Docs, Refactor, Maint)

Documentation

  • docs: link the companion device stack from the top of the docs
  • docs(plan): record the review follow-up results
  • docs(plan): record the master slice status
  • docs: record the spec-conformant wire
  • docs(plan): reply layout per A.1.5
  • docs(plan): master slice of the spec-conformant wire
  • docs: Doxygen documentation with module sections (master stack) (#17)
  • docs: cite on-wire test evidence for master services

Refactoring

  • refactor: name magic numbers, clear MISRA 17.7/13.4/15.7

Testing

  • test: real-device interop expects a 3-octet DeviceID and ErrorType 0x8023
  • test: drive startup through the DeviceOperate CKS ack and A.1.6 type-bit vectors
  • test(isdu): regression for pre-response filler after request_sent

Maintenance

  • chore(release): prepare v1.0.0
  • Merge pull request #23 from w1ne/docs/cross-link-companion
  • Merge pull request #22 from w1ne/fix/type2-od-width
  • Merge pull request #21 from w1ne/fix/event-readout-od-guard
  • Merge pull request #19 from w1ne/feat/spec-wire-checksum-isdu
  • wip: CKT type bits in checksum, ExtLength count, DeviceOperate CKS ack
  • Merge pull request #6 from w1ne/docs/onwire-evidence
  • Merge branch 'master' into docs/onwire-evidence
  • Merge pull request #18 from w1ne/ci/move-to-hosted-runner
  • ci: run cmake-ctest on GitHub-hosted runner
  • Merge pull request #16 from w1ne/feat/spec-conformant-wire
  • ci: re-trigger against conformant iolinki develop + labwired main
  • wire(isdu): conformant I-Service nibble (Table A.12) [slice 1/3]
  • Merge pull request #15 from w1ne/test/isdu-filler-regression
  • Merge pull request #14 from w1ne/feat/zephyr-support
  • ci(zephyr): use host toolchain for native_sim (no Zephyr SDK needed)
  • ci(zephyr): run west steps under bash for set -o pipefail
  • Merge master into feat/zephyr-support
  • Merge pull request #13 from w1ne/chore/magic-numbers-misra
  • Merge pull request #12 from w1ne/fix/pd-descriptor-spec-conformance

iolinki-master 0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 20:32
45aba3a

Release 0.2.0

Date: 2026-07-04

📊 Quality Report

Metric Status
Tests ✅ 14 Passed / 14 Total
Coverage 📈

🚀 New Features

  • No major features in this release

🐛 Bug Fixes

  • No bug fixes in this release
Other Changes (Docs, Refactor, Maint)

Maintenance

  • Merge pull request #11 from w1ne/chore/release-0.2-infra
  • chore(release): 0.2 infra — SBOMs, security docs, quality gate, release automation

iolinki-master v0.1.0

Choose a tag to compare

@w1ne w1ne released this 04 Jul 20:14
96e4d95

First tagged release of iolinki-master — a portable, heap-free IO-Link master protocol library with a caller-owned opaque API.

Status: protocol-core, simulation-validated (co-designed fake device + on-wire labwired-real-firmware-model CI). This is not yet a conformant master for real hardware — wake-response baud detection, physical wake-pulse timing, and official conformance remain open. See docs/IMPLEMENTATION_STATUS.md.

Highlights

  • Startup state machine, fixed + auto-baudrate scan, per-baud wake-up retry
  • Cyclic PD for M-sequence Types 0 / 1_x / 2_x; RX accumulation, checksum + retry handling
  • ISDU read/write (segmented), Data Storage read/write/restore + verify, block parameterization
  • Device identity (VendorID/DeviceID) with NO_CHECK / TYPE_COMP / IDENTICAL inspection levels
  • MasterCycleTime octet decoding; Master Command channel/address helpers
  • Event read/ack + optional dispatch callbacks
  • 100us cycle pacing, response deadlines, cycle-slip / jitter / link-quality diagnostics
  • Multi-port controller; SIO DI/DQ; documented PHY boundary
  • 16 CTest targets (CMocka), fake-device harness, 1-port and 4-port examples
  • Dual-licensed (GPLv3 + commercial)

Full notes: CHANGELOG.md.

Next (0.2)

STRIDE threat model, per-release SBOMs (CycloneDX + SPDX) + release automation, -Werror/cppcheck/MISRA quality gate, Doxygen, pre-commit, coverage, expanded docs.