89 lines
8.1 KiB
Markdown
89 lines
8.1 KiB
Markdown
|
|
---
|
||
|
|
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.)*
|