Skip to content

Commit e24152b

Browse files
committed
Apply product marketing positioning to README
1 parent 0423f42 commit e24152b

1 file changed

Lines changed: 45 additions & 50 deletions

File tree

‎README.md‎

Lines changed: 45 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,62 +6,57 @@
66
[![GitHub Pages](https://github.com/masarray/PtpLabClock/actions/workflows/pages.yml/badge.svg)](https://github.com/masarray/PtpLabClock/actions/workflows/pages.yml)
77
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
88

9-
**PTP Lab Clock Simulator and Process Bus Timing Monitor for IEC 61850 lab work.**
9+
**Process Bus Timing Lab: a Windows PTP lab simulator and timing-health monitor for IEC 61850 FAT, SAT, analyzer validation, and Process Bus troubleshooting.**
1010

11-
Process Bus Timing Lab is a Windows-friendly **PTPv2 Layer-2 lab simulator**, **IEC 61850 Process Bus timing visibility tool**, and **passive PTP health monitor** for FAT, SAT, commissioning preparation, analyzer validation, VLAN/QinQ verification, and controlled timing-fault scenarios.
11+
Process Bus Timing Lab helps substation automation engineers see whether PTPv2 Layer-2 timing traffic is visible, decodable, VLAN/QinQ-aware, and healthy enough for lab discussion before SV and GOOSE testing becomes guesswork.
1212

1313
**Product website:** https://masarray.github.io/PtpLabClock/
1414
**Download:** https://github.com/masarray/PtpLabClock/releases
1515
**License:** Apache-2.0
1616

17-
## What problem does it solve?
17+
> **Safety boundary:** this project is a lab simulator and diagnostic companion. It is **not** a certified PTP grandmaster, GPS clock, hardware-timestamped timing source, relay-acceptance reference, or replacement for IEC/IEEE 61850-9-3 compliant timing equipment.
1818
19-
Substation automation engineers often need to know whether the test network actually carries usable PTP traffic before troubleshooting Sampled Values, GOOSE, or protection relay behavior. This project helps answer practical questions quickly:
19+
## Product screenshot
2020

21-
- “Can Wireshark or my analyzer see PTP on this NIC?”
22-
- “Are Announce / Sync / Follow_Up / Pdelay frames decoded correctly?”
23-
- “Is this process-bus VLAN carrying visible PTP traffic?”
24-
- “Can I reproduce GM-lost, missing-Follow_Up, sequence-jump, or degraded-clock symptoms?”
25-
- “Can I export a short PDF/ZIP evidence package for engineering discussion?”
21+
> Add the supplied dashboard screenshot as `docs/assets/ptp-lab-dashboard.png` to show the real WPF workspace on GitHub and GitHub Pages.
2622
27-
> **Safety boundary:** this project is a lab simulator and diagnostic companion. It is **not** a certified timing source, GPS grandmaster, hardware-timestamped clock, or relay-acceptance timing reference.
23+
![Process Bus Timing Lab WPF dashboard showing PTP timing flow, scenario player, VLAN settings, and timing health cards for IEC 61850 Process Bus testing](docs/assets/ptp-lab-dashboard.png)
2824

29-
## Best-fit use cases
25+
*The dashboard combines Clock Profile setup, Live Timing Flow counters, Scenario Player actions, VLAN settings, RAW self-test, and Timing Health diagnostics in one compact engineering workspace.*
3026

31-
- IEC 61850 Process Bus lab validation.
32-
- IEC/IEEE 61850-9-3 visibility checks.
33-
- PTPv2 Layer-2 analyzer validation.
34-
- Sampled Values / GOOSE timing-context troubleshooting.
35-
- VLAN and QinQ PTP frame visibility testing.
36-
- Npcap / SharpPcap RAW NIC smoke testing on Windows.
37-
- FAT/SAT preparation and issue evidence export.
27+
## Why this tool exists
3828

39-
## Highlights
29+
In real Process Bus work, a relay, analyzer, or SV injector problem is often diagnosed too late because the timing layer is treated as invisible background infrastructure. Process Bus Timing Lab gives engineers a practical timing workspace for early-stage lab validation:
4030

41-
- WPF dashboard with Demo Mode fallback.
42-
- Console tool for adapter listing, protocol validation, RAW self-test, passive monitor, health monitor, and evidence export.
43-
- PTPv2 Layer-2 serializer for Announce, Sync, Follow_Up, Pdelay_Req, Pdelay_Resp, and Pdelay_Resp_Follow_Up.
44-
- Untagged, VLAN, and QinQ Ethernet frame builders.
45-
- SharpPcap/Npcap RAW transport isolated behind a dedicated project.
46-
- VLAN-aware capture filter for untagged, VLAN, and QinQ PTP.
47-
- Passive monitor grouped by domain and source clock identity.
48-
- Timing-health validator with explainable PASS/WARN/FAIL checks.
49-
- PDF report and ZIP session evidence export.
50-
- xUnit protocol regression tests and GitHub Actions CI.
51-
- Apache-2.0 license.
31+
- Confirm whether PTP traffic is visible on the selected NIC.
32+
- Validate analyzer decoding for Announce, Sync, Follow_Up, and Pdelay messages.
33+
- Exercise untagged, VLAN-tagged, and QinQ PTP frame paths.
34+
- Trigger controlled timing symptoms such as GM lost, missing Follow_Up, sequence jump, degraded clock, and stopped Pdelay.
35+
- Export evidence packages for FAT/SAT notes, analyzer validation, and engineering discussion.
5236

53-
## Portable release packages
37+
## Core capabilities
5438

55-
Release automation produces direct self-contained Windows single-file EXE artifacts:
39+
| Area | What it does |
40+
|---|---|
41+
| PTPv2 Layer-2 simulator | Builds synthetic Announce, Sync, Follow_Up, Pdelay_Req, Pdelay_Resp, and Pdelay_Resp_Follow_Up frames. |
42+
| Timing monitor | Groups observed PTP by domain, source clock identity, message type, and basic health symptoms. |
43+
| VLAN/QinQ validation | Builds and inspects untagged, IEEE 802.1Q VLAN, and stacked VLAN/QinQ PTP frames. |
44+
| RAW NIC mode | Uses SharpPcap/Npcap in an isolated transport project for real adapter listing, filtering, RX capture, and lab TX. |
45+
| Scenario player | Generates controlled lab conditions for analyzer diagnostics and training. |
46+
| Evidence export | Produces concise PDF/ZIP session artifacts and protocol validation PCAP output. |
47+
48+
## Download portable EXE
49+
50+
When a release tag is published, GitHub Actions creates direct portable EXE artifacts:
5651

57-
| Package | Use when |
52+
| Artifact | Use when |
5853
|---|---|
59-
| `PtpLabClock.App.win-x64.portable.exe` | You want the easiest Windows desktop app: download and run. |
60-
| `PtpLabClock.Console.win-x64.portable.exe` | You want CLI validation, RAW self-test, monitor, or scripting. |
61-
| `PtpLabClock.App.win-x64.portable.zip` | You want the app EXE bundled with license notices and README. |
62-
| `PtpLabClock.Console.win-x64.portable.zip` | You want the CLI EXE bundled with license notices and README. |
54+
| `PtpLabClock.App.win-x64.portable.exe` | You want the easiest Windows desktop app. |
55+
| `PtpLabClock.Console.win-x64.portable.exe` | You want CLI validation, RAW self-test, scripting, or CI-style checks. |
56+
| `PtpLabClock.App.win-x64.portable.zip` | You want EXE plus license, notices, and release notes in one folder. |
57+
| `PtpLabClock.Console.win-x64.portable.zip` | You want the CLI package with supporting release files. |
6358

64-
Each release also includes `checksums.txt`, `PtpLabClock.release-sbom.spdx.json`, and a protocol validation PCAP artifact.
59+
Each release also includes `checksums.txt`, `PtpLabClock.release-sbom.spdx.json`, and `ptp-validation.pcap`.
6560

6661
## 60-second source build
6762

@@ -80,12 +75,6 @@ Run the WPF app:
8075
dotnet run --project .\src\PtpLabClock.App
8176
```
8277

83-
Build local portable EXE artifacts:
84-
85-
```powershell
86-
.\tools\scripts\package-release.ps1
87-
```
88-
8978
## RAW NIC quick start
9079

9180
RAW mode requires Npcap installed on Windows and may require Administrator privileges.
@@ -116,6 +105,14 @@ Recommended capture filter for untagged, VLAN, and QinQ Layer-2 PTP:
116105
ether proto 0x88f7 or (vlan and ether proto 0x88f7) or (vlan and vlan and ether proto 0x88f7)
117106
```
118107

108+
## Who this is for
109+
110+
- IEC 61850 Process Bus engineers.
111+
- FAT/SAT and commissioning engineers.
112+
- Protection and automation test engineers.
113+
- Developers validating SV, GOOSE, PTP, or Process Bus analyzers.
114+
- Teams building lab workflows around ARSVIN / SV Injector and timing-health prechecks.
115+
119116
## Project structure
120117

121118
```text
@@ -127,20 +124,22 @@ src/PtpLabClock.Config JSON settings/profile helpers
127124
src/PtpLabClock.Console CLI validation, monitor, RAW self-test
128125
src/PtpLabClock.Reporting PDF/session evidence export
129126
tests/ xUnit regression tests
130-
.github/workflows CI, security, release, and GitHub Pages automation
127+
.github/workflows CI, security, Pages, release automation
131128
```
132129

133130
## Documentation
134131

135-
Start with [`docs/index.md`](docs/index.md) for repository documentation and the SEO landing page at [`docs/index.html`](docs/index.html):
132+
Start with the product website and repository docs:
136133

134+
- [Product landing page](https://masarray.github.io/PtpLabClock/)
137135
- [Quick start](docs/quick-start.md)
138136
- [Installation](docs/installation.md)
139137
- [RAW NIC mode](docs/raw-nic-mode.md)
140138
- [Protocol validation](docs/protocol-validation.md)
141139
- [Passive monitor](docs/passive-monitor.md)
142140
- [Timing health validation](docs/health-validation.md)
143141
- [Wireshark validation](docs/wireshark-validation.md)
142+
- [Product readiness audit](docs/product-readiness.md)
144143
- [Limitations](docs/limitations.md)
145144
- [Development](docs/development.md)
146145

@@ -152,10 +151,6 @@ Start with [`docs/index.md`](docs/index.md) for repository documentation and the
152151
- Third-party notices: [`THIRD-PARTY-NOTICES.md`](THIRD-PARTY-NOTICES.md).
153152
- Clean-room rule: do not copy incompatible or proprietary source code, UI assets, packet fixtures, or documentation text.
154153

155-
## Search terms this project intentionally serves
156-
157-
`PTP lab clock`, `IEC 61850 PTP monitor`, `IEC 61850-9-3 lab`, `PTPv2 Layer 2 analyzer`, `Process Bus timing monitor`, `Sampled Values timing`, `GOOSE timing context`, `VLAN PTP`, `QinQ PTP`, `Npcap PTP`, `SharpPcap raw Ethernet`, `FAT SAT commissioning PTP`.
158-
159154
## Limitations
160155

161156
This project does not provide hardware timestamping, clock servo discipline, BMCA-complete grandmaster behavior, conformance certification, or relay-acceptance timing guarantees. Use certified PTP grandmaster equipment for protection, metering, and final commissioning workflows.

0 commit comments

Comments
 (0)