dataforth(datasheet): Fix 2 — data-driven DSCA load note (fixes DSCA39 footer artifact)
Root cause of the DSCA39 footer mismatch: the "Standard output load for test is 250 ohms." line is a footer note, not a parameter, but the STAGE 1 extractor captured it as a (column-truncated) row "Standard output load for te". And the renderer's OUTSIGTYPE==='CURRENT' emission was wrong on both ends — it printed the note (after the underline, invisible to the validator gate) for many -C current models whose staged originals never had it, and never placed it correctly for the models that do. Fix is data-driven, matching the rest of the template approach: - derive-dsca-templates.js: detect the "Standard output load..." line, capture it as a per-model `loadNote` property, and exclude it from rows. Regenerated dsca-templates.json — surgically clean: only the 5 DSCA39 models changed (lost the truncated row, gained loadNote); all 121 others byte-identical. - datasheet-exact.js: emit `dscaTpl.loadNote` (blank line + note) before the footer underline, only for models that have it; removed the OUTSIGTYPE-based emission. STAGE 3 re-validation: FINAL-TEST CLEAN 85 -> 88, mismatches 9 -> 6, matches 2206 -> 2278. DSCA39-01/02/07 now fully clean; DSCA39-01 byte-content-verified. No regression — the -C current models stayed clean and no longer carry the spurious after-underline note. The 6 remaining dirty models (DSCA38-05/-1793/-19C/-19E, DSCA39-05, DSCA39-1950) are ALL retest data-vintage: the staged .TXT is an older test run than the DB latest-wins record (Supply Current / Linearity differ by more than rounding). Not render bugs — cannot be reconciled against an older sheet. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -697,6 +697,13 @@ function generateExactDatasheet(record, specs) {
|
||||
}
|
||||
lines.push(line);
|
||||
}
|
||||
// Footer load note ("Standard output load for test is ... ohms.") — printed
|
||||
// before the underline, only by the models whose staged original had it
|
||||
// (captured per-model in STAGE 1; not all current-output models print it).
|
||||
if (dscaTpl.loadNote) {
|
||||
lines.push('');
|
||||
lines.push(TAB5 + dscaTpl.loadNote);
|
||||
}
|
||||
} else {
|
||||
// QB: TAB(12); "Parameter"; TAB(30); "Measured Value"; TAB(51); "Specification "; TAB(70); "Status"
|
||||
let hdr1 = setCol('', 11, 'Parameter');
|
||||
@@ -794,11 +801,6 @@ function generateExactDatasheet(record, specs) {
|
||||
lines.push(setCol(TAB5 + 'Pins Straight: __X__', 44, 'Module Header: __X__'));
|
||||
}
|
||||
|
||||
// DSCA current output load note
|
||||
if (family === 'DSCA' && specs && specs.OUTSIGTYPE && specs.OUTSIGTYPE.trim().toUpperCase() === 'CURRENT') {
|
||||
lines.push(TAB5 + 'Standard output load for test is 250 ohms.');
|
||||
}
|
||||
|
||||
lines.push('');
|
||||
lines.push(TAB5 + 'It is hereby certified that the above product is in conformance with');
|
||||
lines.push(TAB5 + 'all requirements to the extent specified. This product is not');
|
||||
|
||||
Reference in New Issue
Block a user