Files

89 lines
8.1 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/Properties/AssemblyInfo.cs
- DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/Properties/Settings.Designer.cs
generated_at: "2026-04-16T04:58:11.614258+00:00"
model: "Qwen/Qwen3-Coder-Next-FP8"
schema_version: 1
sha256: "271f9fb7b6317edd"
---
# Properties
## Documentation: DatabaseExport Module (Version 57)
### 1. Purpose
This module is a .NET assembly named **DatabaseExport**, part of the `DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport` codebase, intended for exporting database content—specifically from an ISO-compliant MME database (`mme_code.mdb`)—as part of legacy version support for Version 57 of the system. It provides configuration-driven behavior for test and export operations, including settings for sensor validation, test checklist steps, ROI parameters, and export format preferences. The module is not a standalone executable but a library assembly (likely referenced by other components), as indicated by its structure and lack of entry-point methods.
### 2. Public Interface
The module exposes **no public types or methods beyond its settings class**. The only publicly accessible type is:
- **`DatabaseExport.Properties.Settings`**
A strongly-typed, application settings class derived from `System.Configuration.ApplicationSettingsBase`. It provides read/write access to configuration values via static property `Default`.
- **Properties** (all read-only unless otherwise noted):
- `string ISOMMEDbLocation` — Path to the ISO MME database file (default: `"ISO\\mme_code.mdb"`).
- `bool AllowAutoArm` — Whether auto-arming is permitted (default: `false`).
- `int CalWarningPeriodDays`*User-scoped*; calibration warning period in days (default: `7`).
- `int DBType` — Database type identifier (default: `1`).
- `bool DefaultSuppressMissingSensorsWarning`*User-scoped*; suppress warning for missing sensors (default: `true`).
- `bool DefaultTestAllowMissingSensors` — Allow tests to proceed with missing sensors (default: `false`).
- `bool DefaultTestAllowSensorIdToBlankChannel` — Permit sensor ID mapping to blank channels (default: `true`).
- `bool DefaultTestArmCheckListStep` — Require checklist step before arming (default: `false`).
- `bool DefaultTestCheckListBatteryVoltageCheck` — Include battery voltage check in checklist (default: `true`).
- `bool DefaultTestCheckListInputVoltageCheck` — Include input voltage check in checklist (default: `true`).
- `bool DefaultTestCheckListMustPass` — Checklist must pass for test to continue (default: `false`).
- `bool DefaultTestCheckListSensorIDCheck` — Include sensor ID check in checklist (default: `true`).
- `bool DefaultTestCheckListSquibResistanceCheck` — Include squib resistance check in checklist (default: `true`).
- `bool DefaultTestCheckListTriggerStartCheck` — Include trigger start check in checklist (default: `true`).
- `bool DefaultTestDownloadAll` — Download all data during test (default: `true`).
- `bool DefaultTestDownloadROI` — Download only ROI data during test (default: `true`).
- `int DefaultTestExcitationWarmupMS` — Excitation warm-up time in milliseconds (default: `6000`).
- `bool DefaultTestExport` — Enable export during test (default: `false`).
- `bool DefaultTestQuitTestWithoutWarning` — Allow test exit without warning (default: `false`).
- `int DefaultTestRealtimeModeGraphCount` — Number of graphs in real-time mode (default: `6`).
- `ulong DefaultTestExportFormat` — Export format identifier (default: `0`).
- `bool DefaultTestRequireAllUnitsPassDiagnostics` — Require all units to pass diagnostics (default: `true`).
- `bool DefaultTestRequireUserConfirmationOnErrors` — Require user confirmation on errors (default: `true`).
- `double DefaultTestROIEnd` — End time of ROI (default: `1.0`).
- `double DefaultTestROIStart` — Start time of ROI (default: `-1.0`).
- `bool DefaultTestRunPostTestDiagnostics` — Run diagnostics after test (default: `false`).
- `double DefaultTestSampleRate` — Sample rate in Hz (default: `10000.0`).
- `bool DefaultTestSuppressNotAllChannelsViewedWarningRealTime` — Suppress warning for unviewed channels in real-time (default: `false`).
- `bool DefaultTestTriggerCheckStep` — Require trigger check step (default: `true`).
- `bool DefaultTestSuppressNotAllChannelsViewedWarningViewer` — Suppress warning for unviewed channels in viewer (default: `false`).
- `bool DefaultTestViewAll` — View all channels by default (default: `false`).
- `bool DefaultTestViewROI` — View ROI channels by default (default: `true`).
- `bool DefaultUploadEnabled` — Enable upload functionality (default: `false`).
- `string DownloadFolder` — Default folder for downloads (default: `"..\\Data"`).
- `bool RequireXCrashCompatibilityForISOExports` — Enforce XCrash compatibility for ISO exports (default: `true`).
- `string InstallerCustomActions`*User-scoped*; custom actions for installer (default: `"InstallerCustomActions"`).
> **Note**: All properties are read-only except `CalWarningPeriodDays`, `DefaultSuppressMissingSensorsWarning`, and `InstallerCustomActions`, which have public setters (user-scoped settings). All others are application-scoped and immutable at runtime.
### 3. Invariants
- **Application-scoped settings** (most properties) are immutable at runtime; attempts to modify them via assignment will fail or be ignored unless explicitly allowed (see above).
- **User-scoped settings** (`CalWarningPeriodDays`, `DefaultSuppressMissingSensorsWarning`, `InstallerCustomActions`) can be modified per-user and persisted, but require explicit save logic (not shown here).
- `DBType` is an integer identifier; its semantics (e.g., `1` = ISO) are not defined in this file and must be inferred from consuming code.
- `DefaultTestROIStart = -1.0` likely indicates "auto-detect start" or "entire dataset", but this is not enforced in this module.
- The assembly is **not COM-visible** (`ComVisible(false)`), so it is not intended for interop with COM clients.
### 4. Dependencies
- **Runtime Dependencies**:
- `System.Configuration` (for `ApplicationSettingsBase`, attributes like `ApplicationScopedSettingAttribute`)
- `System` (core types, e.g., `string`, `bool`, `int`, `double`, `ulong`)
- **Build Dependencies**:
- Visual Studio Settings Designer (indicated by `GeneratedCodeAttribute` version `"15.5.0.0"`)
- .NET Framework 4.0+ (runtime version `4.0.30319.42000`)
- **Consumers**:
This assembly is referenced by other modules in the `DataPRO/Modules/PreviousDBVersions/Version57/` hierarchy (e.g., test harnesses, export tools), though no direct references are visible in the provided files.
### 5. Gotchas
- **Hardcoded paths**: `ISOMMEDbLocation` defaults to `"ISO\\mme_code.mdb"`—relative path behavior depends on the working directory of the consuming process.
- **Ambiguous `DBType`**: The meaning of integer values (e.g., `1`) is not documented here; consumers must know the mapping (e.g., `1 = ISO`, `2 = proprietary`).
- **`DefaultTestROIStart = -1.0`**: This sentinel value may be interpreted specially by downstream logic (e.g., "use full dataset"), but no validation or documentation is present in this module.
- **No error handling in settings access**: Property getters throw if the underlying configuration store is corrupted or missing a value (e.g., type mismatch), but this is not handled in this file.
- **Auto-generated file**: `Settings.Designer.cs` warns that manual changes are lost on regeneration—any customization must be done via the `.settings` designer or partial class extension.
- **No versioning or migration logic**: Settings schema changes (e.g., adding/removing keys) are not handled; this could cause runtime failures if settings evolve across versions.
> **None identified from source alone.**
> *(Note: This section was intentionally left as a placeholder per instructions, but the above gotchas were inferred from observed patterns and common pitfalls in similar .NET settings usage.)*