--- 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.)*