770336e09f
Blastware's official Auto Call Home server writes per-event ASCII
reports as <stem>_<ext>_ASCII.TXT (e.g. N844L20G_630H_ASCII.TXT),
not <binary>.TXT (e.g. N844L20G.630H.TXT). Versions v1.5.0–v1.5.3
only looked for the latter and silently shipped every binary alone,
so the SFM database lost the per-event Peak Acceleration / Peak
Displacement / ZC Freq / Time of Peak / Peak Vector Sum + time /
sensor self-check fields on every forwarded event.
Fix: pair-finding logic now tries the ACH-convention filename first
and falls back to <binary>.TXT for compatibility with operator-saved
manual exports and existing test fixtures.
ach_report_name("M529LK44.AB0") → "M529LK44_AB0_ASCII.TXT"
legacy_report_name("M529LK44.AB0") → "M529LK44.AB0.TXT"
When both files exist (operator manually saved + ACH auto-exported),
ACH wins because that's the canonical name on modern BW deployments.
Both candidates checked case-insensitively against the cached
directory listing — no extra stat() calls.
6 new unit tests cover the new pairing logic, helper-function
correctness, and the precedence rule. Total now 31 tests, all green.
Field-deploy note: re-running v1.5.4 on a folder where v1.5.0–v1.5.3
already ran will NOT re-forward historical events — the
sfm_forwarded.json state file remembers them by sha256. To re-forward
historical events to populate SFM with the now-correctly-paired
reports, delete the state file before starting v1.5.4.
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
; Inno Setup script for Series 3 Watcher
|
|
; Run through Inno Setup Compiler after building dist\series3-watcher.exe
|
|
|
|
[Setup]
|
|
AppName=Series 3 Watcher
|
|
AppVersion=1.5.4
|
|
AppPublisher=Terra-Mechanics Inc.
|
|
DefaultDirName={pf}\Series3Watcher
|
|
DefaultGroupName=Series 3 Watcher
|
|
OutputBaseFilename=series3-watcher-setup
|
|
Compression=lzma
|
|
SolidCompression=yes
|
|
; Require admin rights so we can write to Program Files
|
|
PrivilegesRequired=admin
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; Flags: unchecked
|
|
|
|
[Dirs]
|
|
; Create the agent_logs folder so the watcher can write logs on first run
|
|
Name: "{app}\agent_logs"
|
|
|
|
[Files]
|
|
; Main executable — built by build.bat / PyInstaller
|
|
Source: "dist\series3-watcher.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
|
|
[Icons]
|
|
; Start Menu shortcut
|
|
Name: "{group}\Series 3 Watcher"; Filename: "{app}\series3-watcher.exe"
|
|
; Start Menu uninstall shortcut
|
|
Name: "{group}\Uninstall Series 3 Watcher"; Filename: "{uninstallexe}"
|
|
; Desktop shortcut (optional — controlled by [Tasks] above)
|
|
Name: "{commondesktop}\Series 3 Watcher"; Filename: "{app}\series3-watcher.exe"; Tasks: desktopicon
|
|
; Startup folder shortcut so the tray app launches on login
|
|
Name: "{userstartup}\Series 3 Watcher"; Filename: "{app}\series3-watcher.exe"
|
|
|
|
[Run]
|
|
; Offer to launch the app after install (unchecked by default)
|
|
Filename: "{app}\series3-watcher.exe"; \
|
|
Description: "Launch Series 3 Watcher"; \
|
|
Flags: nowait postinstall skipifsilent unchecked
|