fix: address all 9 findings from final calibration code review
- calibration.js: fix baseSignalName('[0]') parity with Go/C++ (>= 0 not > 0)
- calibration.test.js: add assertions for '[0]' edge case in two existing tests
- app.js: remove stale typeof guard around refreshVScaleMenu (always defined)
- app.js: call refreshTrigThresholdField on trig-signal change (both assignment sites)
- index.html: drop maxlength='16' on unit input; normaliseCal is the sole enforcer
- configcheck/main.go: delete dead nextOneOf function (no callers)
- hub_calibration_test.go: delete orphaned waitBroadcast comment (function never existed)
- calibration.go: correct arrayIndexSuffix comment to document known Go/C++ difference
- Docs/StreamHub-API.md: add calibration entry count and unit byte limits to §5 table
- spec: fix configReloaded missing path field, '16 chars'→'16 UTF-8 bytes', StreamString→char[], chain scenario→configcheck program, four→five new frames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
42f5a726af
commit
1f8592f854
@@ -2552,7 +2552,7 @@ document.getElementById('trig-signal').addEventListener('change', e => {
|
||||
const n = meta ? numElements(meta) : 1;
|
||||
if (meta && !isTemporal(meta) && n > 1) {
|
||||
showArrayIdxPicker(val, n, idx => {
|
||||
trig.signal = val + '[' + idx + ']'; sendTrigConfig();
|
||||
trig.signal = val + '[' + idx + ']'; refreshTrigThresholdField(); sendTrigConfig();
|
||||
if (trig.enabled) trigArm();
|
||||
}, () => {
|
||||
// Cancelled: revert selection to current trig.signal base or empty.
|
||||
@@ -2562,7 +2562,7 @@ document.getElementById('trig-signal').addEventListener('change', e => {
|
||||
});
|
||||
return;
|
||||
}
|
||||
trig.signal = val; sendTrigConfig();
|
||||
trig.signal = val; refreshTrigThresholdField(); sendTrigConfig();
|
||||
if (trig.enabled && trig.signal) trigArm(); else if (!trig.signal) trigDisarm();
|
||||
});
|
||||
document.getElementById('trig-edge').addEventListener('change', e => { trig.edge = e.target.value; sendTrigConfig(); });
|
||||
@@ -3467,7 +3467,7 @@ function applyCalibrationChanged() {
|
||||
persistCalibration();
|
||||
buildSidebar(); // unit badges
|
||||
plots.forEach(p => { p.needsRedraw = true; });
|
||||
if (typeof refreshVScaleMenu === 'function') refreshVScaleMenu(); // Task 8
|
||||
refreshVScaleMenu();
|
||||
// The threshold is held in calibrated units, so a calibration change alters
|
||||
// the raw value the hub must compare against — resend it.
|
||||
if (trig.signal) { refreshTrigThresholdField(); sendTrigConfig(); }
|
||||
|
||||
Reference in New Issue
Block a user