This website requires JavaScript.
5562877c99
fix(udps): publish the producer's HRT frequency so timestamps survive the hop
main
Martino Ferrari and Claude Opus 4.6
2026-09-02 02:49:50 +02:00
092fd3c775
fix(streamhub): stop the trigger going deaf between captures
Martino Ferrari and Claude Opus 4.6
2026-09-02 01:45:13 +02:00
fbae7d712c
fix(udps): stop packets being dated from an earlier time base
Martino Ferrari and Claude Opus 4.6
2026-09-02 01:14:40 +02:00
f334995865
feat(webui): sporadic-trigger capture, CSV export and UI rework
Martino Ferrari and Claude Opus 4.6
2026-09-02 01:18:46 +02:00
deabd257e5
fix(udps): stop packets being dated from an earlier time base
feature/udpscope
Martino Ferrari and Claude Opus 4.6
2026-09-02 01:14:40 +02:00
13fac79400
fixed flickering
Martino Ferrari
2026-09-01 09:51:07 +02:00
0398434c61
fixed and improved ui
Martino Ferrari
2026-08-29 23:18:36 +02:00
6b3056c612
fixed and improved ui
Martino Ferrari
2026-08-29 23:18:00 +02:00
ec0a0cdb12
fixed and improved ui
Martino Ferrari
2026-08-29 23:17:41 +02:00
044ce57ba3
fixed issue on udpstreamer trigger logic
Martino Ferrari
2026-08-28 16:53:17 +02:00
1c61e814c0
fix(udpscope): keep the packet counter in lockstep with the tick reference
Martino Ferrari and Claude Opus 4.6
2026-08-28 06:41:47 +02:00
f97fd825c4
fix(udpscope): stop a wrong hrtDt from displacing the trace permanently
Martino Ferrari and Claude Opus 4.6
2026-08-28 06:11:45 +02:00
3add2c42b9
fix(udpscope): carry warm-up state across the hrt handover
Martino Ferrari and Claude Opus 4.6
2026-08-28 05:49:01 +02:00
440b805afd
fix(udpscope): make rule 3 converge in both branches and survive reordering
Martino Ferrari
2026-08-27 22:43:27 +02:00
a2efc142c3
fix(udpscope): keep the accumulated-scalar timeline monotonic and bounded
Martino Ferrari and Claude Opus 4.6
2026-08-27 22:16:11 +02:00
3270284cfe
fix(udpscope): bound the reconstructed timeline against the wall clock
Martino Ferrari and Claude Opus 4.6
2026-08-27 21:55:33 +02:00
7102412a9f
fix(udpscope): reconstruct lost accumulated bursts from the packet counter
Martino Ferrari and Claude Opus 4.6
2026-08-27 20:16:52 +02:00
892e3eae28
fix(udpscope): bound accumulated-burst chaining so packet loss cannot displace the trace
Martino Ferrari and Claude Opus 4.6
2026-08-27 20:08:05 +02:00
5a8479cda9
feat(udpscope): per-element timestamp reconstruction from UDPS frames
Martino Ferrari and Claude Sonnet 4.6
2026-08-27 20:01:30 +02:00
c89decef8e
docs: say that HrtRateFit::toSeconds returns producer-epoch, not wall, seconds
Martino Ferrari and Claude Opus 4.6
2026-08-27 19:55:24 +02:00
e4817dd284
fix(udpscope): keep the clock-offset recalibration threshold symmetric
Martino Ferrari and Claude Opus 4.6
2026-08-27 19:52:41 +02:00
41ab151a2f
feat(udpscope): producer-clock calibration and hrt tick-rate fit
Martino Ferrari and Claude Sonnet 4.6
2026-08-27 19:50:24 +02:00
ea9689591d
test: add coverage for closeLeaf's two untested branches
Martino Ferrari and Claude Opus 4.6
2026-08-27 19:46:29 +02:00
0e5d103e73
feat(udpscope): BSP pane tree with split, close and hit-testing
Martino Ferrari and Claude Sonnet 4.6
2026-08-27 19:42:09 +02:00
c1029a25df
fix(udpscope): make the time-order test actually exercise the swap, guard the font copy
Martino Ferrari and Claude Opus 4.6
2026-08-27 19:39:14 +02:00
fba4360c80
feat(udpscope): build scaffold and min/max envelope decimation
Martino Ferrari and Claude Sonnet 4.6
2026-08-27 17:27:41 +02:00
2d62e1808b
docs: fix six cross-task defects found in the UDPScope plan pre-flight
Martino Ferrari and Claude Opus 4.6
2026-08-27 17:07:08 +02:00
cf815e1d3f
docs: implementation plan for the UDPScope direct-UDPS oscilloscope
Martino Ferrari and Claude Opus 4.6
2026-08-27 16:35:41 +02:00
52958cf8bc
docs: design for UDPScope, a direct-to-streamer ImGui oscilloscope
Martino Ferrari and Claude Opus 4.6
2026-08-27 11:28:54 +02:00
7c5eb31a52
feat: standalone C/C++ UDPS client library
Martino Ferrari and Claude Opus 4.6
2026-08-22 16:51:40 +02:00
e03c60db25
Implemented and fixed many issues
Martino Ferrari
2026-08-21 23:24:48 +02:00
14d5351a81
fix: UDPSClient uses two-arg Join so multicast receiver lands on the right interface
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 08:23:41 +02:00
61a2aa3988
docs: Interface takes an interface IP, not an interface name
Martino Ferrari and Claude Opus 4.6
2026-08-17 08:09:21 +02:00
c827ecefff
test: fix UDPStreamer multicast tests broken by mandatory Interface
Martino Ferrari and Claude Opus 4.6
2026-08-17 08:06:35 +02:00
72c286db33
chore: untrack SDD scratch reports
Martino Ferrari and Claude Opus 4.6
2026-08-17 08:01:09 +02:00
7aba1260be
Merge branch 'feature/signal-calibration-config'
Martino Ferrari
2026-08-17 08:00:09 +02:00
1f8592f854
fix: address all 9 findings from final calibration code review
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 07:57:28 +02:00
42f5a726af
fix: three StreamHub C++ defects from final code review
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 07:50:01 +02:00
686fc2ce7d
docs: fix three review findings in calibration documentation
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 07:34:48 +02:00
d26b78b7f6
docs: document per-signal calibration and config save/reload
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 07:27:25 +02:00
e37eec0276
webui: add the Sources & Config sidebar section
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 07:23:08 +02:00
5917ab1bf2
Restore calibration parity: revert unit-stripping from normaliseCal, fix CSV quoting at export
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 01:15:13 +02:00
3cb998c5da
webui: calibrate CSV export, trigger threshold and unit display
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:55:07 +02:00
4908c039a5
fix(webui): keep cal-invalid styling on focused field during hub broadcast
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:52:04 +02:00
4e3a90b2c6
webui: add calibration editor to the V-Scale toolbar
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:48:39 +02:00
0e9ec61226
webui: apply per-signal calibration to the whole display path
Martino Ferrari
2026-08-17 00:43:18 +02:00
7312dd0ca0
docs(calibration.js): explain why one UTF-8 repair pass suffices in JS
Martino Ferrari and Claude Opus 4.6
2026-08-17 00:41:00 +02:00
48d62c1f80
fix(calibration.js): cap unit at 16 UTF-8 bytes, matching both hubs
Martino Ferrari and Claude Opus 4.6
2026-08-17 00:36:01 +02:00
21d084d2ea
webui: add pure calibration module with unit tests
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:29:53 +02:00
b1c2a34eea
test(configcheck): harden frame-strictness, sort-order, and document BroadcastSources difference
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:26:12 +02:00
73ba725d8f
test: add cross-hub calibration and config-persistence parity checker
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:14:15 +02:00
bdc74f5fd2
StreamHub: loop UTF-8 tail repair to match Go CalConfig.Normalise()
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:06:45 +02:00
93e00d0c21
fix(StreamHub): correct UTF-8 tail repair to run only after truncation
Martino Ferrari and Claude Sonnet 4.6
2026-08-17 00:02:33 +02:00
2f9b135c62
task-4-report: append Fix round 1 section
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 23:55:49 +02:00
957be793ae
StreamHub: fix calibration trim, UTF-8 unit truncation, and sort order
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 23:55:46 +02:00
cdafb877a3
StreamHub: per-signal calibration, config reload, whitespace-tolerant JSON
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 19:56:44 +02:00
ffe7cb1cc5
wshub: add setCalibration/reloadConfig frames and config acks
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 19:36:09 +02:00
dfd257cfd9
wshub: persist calibration alongside sources; add config reload
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 19:27:23 +02:00
66efd74dd5
wshub: fix CalConfig.Normalise parity gaps vs C++ twin and JS client
Martino Ferrari and Claude Sonnet 4.6
2026-08-16 19:21:41 +02:00
47f1567a26
wshub: add per-signal calibration store and flat config-file codec
Martino Ferrari
2026-08-16 19:16:22 +02:00
6d26e8191c
docs: implementation plan for per-signal calibration and persistent hub config
Martino Ferrari
2026-08-16 19:14:34 +02:00
5ab1721df5
docs: spec per-signal calibration and persistent hub config
Martino Ferrari and Claude Opus 4.6
2026-08-16 18:17:07 +02:00
2370848994
added trigger
Martino Ferrari
2026-08-13 10:28:56 +02:00
ff5ad22447
included jitter correction on client
Martino Ferrari
2026-08-13 10:28:43 +02:00
a49ab5ba25
Added silence timeout as floating point
Martino Ferrari
2026-08-10 17:18:50 +02:00
1ddb4fe356
Implemented hearthbit client side + tests
Martino Ferrari
2026-08-09 18:51:51 +02:00
915a192b16
fixed multicast updated tests
Martino Ferrari
2026-07-25 16:46:25 +02:00
3e0a481c13
added interface and added join to multicast
Martino Ferrari
2026-07-25 12:26:51 +02:00
2d5ca20ae4
minor changes and addeed debug tests
Martino Ferrari
2026-07-02 16:27:40 +02:00
f2042d624b
Implemented full e2e testing
Martino Ferrari
2026-07-02 10:10:57 +02:00
f8c79131c9
docs: refresh run_e2e.sh flag list in AGENTS.md
Martino Ferrari and Claude Opus 4.6
2026-07-02 00:04:22 +02:00
28d149f536
fix(e2e): assert real FORCE/TRACE/BREAK acks in the debug scenario
Martino Ferrari and Claude Opus 4.6
2026-07-02 00:03:47 +02:00
9a39cf923a
fix(e2e): isolate coverage-pass WORK dir; filter chain-only e2e report section
Martino Ferrari and Claude Opus 4.6
2026-07-01 23:59:54 +02:00
07b6b4898a
fix(e2e): rebuild test binaries when restoring non-instrumented build
Martino Ferrari and Claude Opus 4.6
2026-07-01 22:55:48 +02:00
03c7a95e9b
docs: fix stale run_combined_test.sh comment in combined_test.cfg
Martino Ferrari
2026-07-01 22:08:21 +02:00
45dcb9a71f
docs: fix remaining dangling references to retired run_e2e_test.sh
Martino Ferrari
2026-07-01 22:05:29 +02:00
4286ea4539
chore(e2e): retire streamhub/datasources/recorder standalone scripts superseded by run_e2e.sh
Martino Ferrari
2026-07-01 22:04:08 +02:00
8337d678be
feat(e2e): render direct/recorder/debug/tcplogger/stress sections in the unified report
Martino Ferrari and Claude Opus 4.6
2026-07-01 21:57:11 +02:00
b65ac06ce2
feat(e2e): instrument-first coverage flow with double-run + new skip flags; port stress multi-fragment sizing
Martino Ferrari
2026-07-01 21:07:03 +02:00
83d0a060fe
feat(e2e): add debug/tcplogger E2E scenario kinds using debugclient
Martino Ferrari and Claude Opus 4.6
2026-07-01 19:36:47 +02:00
efb4ea48fb
feat(e2e): add debugclient Go tool for DebugService/TCPLogger E2E scenarios
Martino Ferrari
2026-07-01 19:18:34 +02:00
f0f83110a4
fix(debugger): extract MarteController into an importable controller package
Martino Ferrari
2026-07-01 19:18:08 +02:00
269b2c4d97
refactor(debugger): extract MarteController sink so it can run headless
Martino Ferrari
2026-07-01 19:12:41 +02:00
1d78b45963
feat(e2e): dispatch direct/recorder scenario kinds in run_e2e.sh
Martino Ferrari and Claude Opus 4.6
2026-07-01 19:06:30 +02:00
ef58553c63
feat(e2e): add kind discriminator + direct/recorder scenario definitions
Martino Ferrari
2026-07-01 18:51:18 +02:00
69e52af20b
refactor(e2e): rename Test/E2E/chain -> Test/E2E/suite, run_chain_e2e.sh -> run_e2e.sh
Martino Ferrari
2026-07-01 18:42:33 +02:00
1fcc4e4e6d
fix(streamhub-test): unblock make test by fixing BoundsCheckTest C++98 build and registering both orphaned GTest files
Martino Ferrari
2026-07-01 18:34:16 +02:00
462b05b71a
docs(testing): implementation plan for unified test/E2E/reporting/coverage pipeline
Martino Ferrari and Claude Opus 4.6
2026-07-01 18:29:29 +02:00
dcaa466736
docs(testing): design for unified test/E2E/reporting/coverage pipeline
Martino Ferrari and Claude Opus 4.6
2026-07-01 18:14:09 +02:00
0bea41f866
Implemented better testing and fixed skipepd frames
Martino Ferrari
2026-07-01 16:39:34 +02:00
7a326c5d78
test(gtest): wire DebugServiceGTest into the shared MainGTest binary
Martino Ferrari and Claude Sonnet 4.6
2026-07-01 09:34:20 +02:00
6d49b311ae
Working on stress tests
feature/stress-report-integration
Martino Ferrari
2026-06-26 14:04:32 +02:00
5892251622
docs(e2e-stress): document --stress workflow in CLAUDE.md
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:32:43 +02:00
ca564fb233
test(e2e-chain): render Stress Tests section in the PDF report
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:30:20 +02:00
ec8e5c43c3
test(e2e-chain): fold stress results into report_data.json
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:26:45 +02:00
7bd61912af
test(e2e-stress): improve stress phase observability
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:23:40 +02:00
da56fb8694
test(e2e-chain): add opt-in --stress phase to the orchestrator
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:20:24 +02:00
d17881ff3d
test(e2e-stress): fix stale sub-64KB comments after multi-fragment extension
Martino Ferrari
2026-06-26 09:18:36 +02:00
471b482af4
test(e2e-stress): extend size axis into multi-fragment regime
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:15:52 +02:00
036dd4a656
docs(e2e-stress): implementation plan for stress suite report integration
Martino Ferrari and Claude Opus 4.6
2026-06-26 09:11:19 +02:00