Repository navigation
Releases: w1ne/iolinki-master
Releases · w1ne/iolinki-master
Release list
iolinki-master 1.1.0
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
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
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
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/IDENTICALinspection 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.