Commit Graph

681 Commits

Author SHA1 Message Date
Joseph Doherty
a908dff7b5 Auto: s7-d1 — TIA Portal CSV + STEP 7 Classic AWL symbol import
Closes #299
2026-04-26 06:32:18 -04:00
ac3fd45cc6 Merge pull request '[opcuaclient] OpcUaClient — Reverse Connect' (#392) from auto/opcuaclient/11 into auto/driver-gaps 2026-04-26 06:11:11 -04:00
Joseph Doherty
5c72deb839 Auto: opcuaclient-11 — reverse connect (server-initiated)
Closes #283
2026-04-26 06:08:30 -04:00
9a3bc08e1c Merge pull request '[focas] FOCAS — Password / unlock parameter' (#391) from auto/focas/F4-d into auto/driver-gaps 2026-04-26 05:50:13 -04:00
Joseph Doherty
86f3fc2733 Auto: focas-f4d — password / unlock parameter
Closes #271
2026-04-26 05:45:13 -04:00
d676b4056d Merge pull request '[focas] FOCAS — pmc_wrpmcrng' (#390) from auto/focas/F4-c into auto/driver-gaps 2026-04-26 05:18:48 -04:00
Joseph Doherty
54c09d4d5d Auto: focas-f4c — pmc_wrpmcrng with bit-level RMW
Closes #270
2026-04-26 05:15:52 -04:00
0c967af645 Merge pull request '[focas] FOCAS — cnc_wrmacro + cnc_wrparam' (#389) from auto/focas/F4-b into auto/driver-gaps 2026-04-26 04:57:15 -04:00
Joseph Doherty
f48f31cfc7 Auto: focas-f4b — cnc_wrmacro + cnc_wrparam writes
Closes #269
2026-04-26 04:54:28 -04:00
71af554497 Merge pull request '[focas] FOCAS — Write infrastructure + per-tag opt-in' (#388) from auto/focas/F4-a into auto/driver-gaps 2026-04-26 04:35:27 -04:00
Joseph Doherty
1bfe8fba0e Auto: focas-f4a — write infrastructure + per-tag opt-in
Closes #268
2026-04-26 04:32:43 -04:00
6f1657b1c0 Merge pull request '[ablegacy] AbLegacy — RSLogix 500/PLC-5 symbol import' (#387) from auto/ablegacy/11 into auto/driver-gaps 2026-04-26 04:16:00 -04:00
Joseph Doherty
4e8df38bb2 Auto: ablegacy-11 — RSLogix 500/PLC-5 CSV symbol import
Closes #254
2026-04-26 04:13:13 -04:00
4fdeef7a6c Merge pull request '[ablegacy] AbLegacy — Diagnostic counters as tags' (#386) from auto/ablegacy/10 into auto/driver-gaps 2026-04-26 03:53:28 -04:00
Joseph Doherty
42472b5549 Auto: ablegacy-10 — diagnostic counters as tags
Closes #253
2026-04-26 03:50:47 -04:00
14876ea210 Merge pull request '[ablegacy] AbLegacy — Per-device timeout / retry overrides' (#385) from auto/ablegacy/9 into auto/driver-gaps 2026-04-26 03:35:25 -04:00
Joseph Doherty
c292dcc1db Auto: ablegacy-9 — per-device timeout / retry overrides
Closes #252
2026-04-26 03:32:45 -04:00
4ff1537d8a Merge pull request '[abcip] AbCip — _RefreshTagDb writeable system tag' (#384) from auto/abcip/4.4 into auto/driver-gaps 2026-04-26 03:19:13 -04:00
Joseph Doherty
e0e5e04e48 Auto: abcip-4.4 — _RefreshTagDb writeable system tag
Closes #241
2026-04-26 03:16:28 -04:00
e46e4de31f Merge pull request '[abcip] AbCip — Diagnostic / system tags as browseable variables' (#383) from auto/abcip/4.3 into auto/driver-gaps 2026-04-26 02:58:40 -04:00
Joseph Doherty
901a5b9b21 Auto: abcip-4.3 — diagnostic / system tags as browseable variables
Closes #240
2026-04-26 02:55:56 -04:00
9c108cd00a Merge pull request '[abcip] AbCip — Write deadband / write-on-change' (#382) from auto/abcip/4.2 into auto/driver-gaps 2026-04-26 02:34:27 -04:00
Joseph Doherty
da9936f7f0 Auto: abcip-4.2 — write deadband / write-on-change
Closes #239
2026-04-26 02:31:50 -04:00
9202ebe5ef Merge pull request '[abcip] AbCip — Per-tag scan rate / scan group bucketing' (#381) from auto/abcip/4.1 into auto/driver-gaps 2026-04-26 02:18:25 -04:00
Joseph Doherty
b45713622f Auto: abcip-4.1 — per-tag scan rate / scan group bucketing
Closes #238
2026-04-26 02:15:50 -04:00
e5c38a5a0e Merge pull request '[twincat] TwinCAT — Cycle-time / jitter / PLC-state diagnostics' (#380) from auto/twincat/3.2 into auto/driver-gaps 2026-04-26 02:02:36 -04:00
Joseph Doherty
24a3cda56a Auto: twincat-3.2 — cycle-time / jitter / PLC-state diagnostics
Closes #314
2026-04-26 01:59:56 -04:00
30e39a752a Merge pull request '[twincat] TwinCAT — Per-tag MaxDelay tuning' (#379) from auto/twincat/3.1 into auto/driver-gaps 2026-04-26 01:47:44 -04:00
Joseph Doherty
fb57717f6f Auto: twincat-3.1 — per-tag MaxDelay tuning
Closes #313
2026-04-26 01:45:12 -04:00
621de94126 Merge pull request '[s7] S7 — Pre-flight PUT/GET enablement test' (#378) from auto/s7/PR-S7-C5 into auto/driver-gaps 2026-04-26 01:34:27 -04:00
Joseph Doherty
64a11ef285 Auto: s7-c5 — pre-flight PUT/GET enablement test
Closes #298
2026-04-26 01:31:48 -04:00
4bc8aa2478 Merge pull request '[s7] S7 — Deadband / on-change with thresholds' (#377) from auto/s7/PR-S7-C4 into auto/driver-gaps 2026-04-26 01:17:33 -04:00
Joseph Doherty
06b39a28fa Auto: s7-c4 — deadband / on-change with thresholds
Closes #297
2026-04-26 01:14:59 -04:00
8909302929 Merge pull request '[s7] S7 — Per-tag scan group / publish rate' (#376) from auto/s7/PR-S7-C3 into auto/driver-gaps 2026-04-26 01:05:39 -04:00
Joseph Doherty
162c82b8d9 Auto: s7-c3 — per-tag scan group / publish rate
Closes #296
2026-04-26 01:03:00 -04:00
ca3d4bf581 Merge pull request '[s7] S7 — TSAP / Connection Type selector' (#375) from auto/s7/PR-S7-C2 into auto/driver-gaps 2026-04-26 00:51:44 -04:00
Joseph Doherty
3b98e4d366 Auto: s7-c2 — TSAP / Connection Type selector
Closes #295
2026-04-26 00:49:10 -04:00
bcf83bf39b Merge pull request '[s7] S7 — PDU size negotiation surfaced' (#374) from auto/s7/PR-S7-C1 into auto/driver-gaps 2026-04-26 00:38:24 -04:00
Joseph Doherty
6540bbe1ef Auto: s7-c1 — surface negotiated PDU size via DriverHealth.Diagnostics
Closes #294
2026-04-26 00:35:49 -04:00
f469cf7e0d Merge pull request '[opcuaclient] OpcUaClient — Auto re-import on ModelChangeEvent' (#373) from auto/opcuaclient/10 into auto/driver-gaps 2026-04-26 00:27:00 -04:00
Joseph Doherty
ab3ed6b6a3 Auto: opcuaclient-10 — auto re-import on ModelChangeEvent
Closes #282
2026-04-26 00:24:24 -04:00
eed5857aa9 Merge pull request '[focas] FOCAS — cnc_rdalmhistry alarm-history extension' (#372) from auto/focas/F3-a into auto/driver-gaps 2026-04-26 00:10:36 -04:00
Joseph Doherty
7f9d6a778e Auto: focas-f3a — cnc_rdalmhistry alarm-history extension
Adds FocasAlarmProjection with two modes (ActiveOnly default, ActivePlusHistory)
that polls cnc_rdalmhistry on connect + on a configurable cadence (5 min default,
HistoryDepth=100 capped at 250). Emits historic events via IAlarmSource with
SourceTimestampUtc set from the CNC's reported timestamp; dedup keyed on
(OccurrenceTime, AlarmNumber, AlarmType). Ships the ODBALMHIS packed-buffer
decoder + encoder in Wire/FocasAlarmHistoryDecoder.cs and threads
ReadAlarmHistoryAsync through IFocasClient (default no-op so existing transport
variants stay back-compat). FocasDriver now implements IAlarmSource.

13 new unit tests cover: mode switch, dedup, distinct-timestamp emission,
type-as-key behaviour, OccurrenceTime passthrough (not Now), HistoryDepth
clamp/fallback, and decoder round-trip. All 341 FOCAS unit tests still pass.

Docs: docs/drivers/FOCAS.md (new), docs/v2/focas-deployment.md (new),
docs/v2/implementation/focas-wire-protocol.md (new),
docs/v2/implementation/focas-simulator-plan.md (new),
docs/drivers/FOCAS-Test-Fixture.md (alarm-history bullet appended).

Closes #267
2026-04-26 00:07:59 -04:00
1922b93bd5 Merge pull request '[ablegacy] AbLegacy — Per-tag deadband / change filter' (#371) from auto/ablegacy/8 into auto/driver-gaps 2026-04-25 23:52:42 -04:00
Joseph Doherty
eb5286148e Auto: ablegacy-8 — per-tag deadband / change filter
Closes #251
2026-04-25 23:50:07 -04:00
69069aa3be Merge pull request '[ablegacy] AbLegacy — Array contiguous block addressing' (#370) from auto/ablegacy/7 into auto/driver-gaps 2026-04-25 23:38:40 -04:00
Joseph Doherty
c689ac58b1 Auto: ablegacy-7 — array contiguous block addressing
Closes #250
2026-04-25 23:36:01 -04:00
05528bf71c Merge pull request '[abcip] AbCip — Logical-blocking / non-blocking strategy selector' (#369) from auto/abcip/3.3 into auto/driver-gaps 2026-04-25 23:18:47 -04:00
Joseph Doherty
01f4ee6b53 Auto: abcip-3.3 — read-strategy selector (WholeUdt / MultiPacket / Auto)
Closes #237
2026-04-25 23:16:06 -04:00
8a8dc1ee5a Merge pull request '[abcip] AbCip — Symbolic vs logical (instance-ID) addressing toggle' (#368) from auto/abcip/3.2 into auto/driver-gaps 2026-04-25 23:01:13 -04:00