- CbBxCamType now spans the full width of CbBxCameraModel
- BtnTest_Click moved to the bottom of AiQ_GUI.cs for easier testing/navigation
- Unused using directives removed across files
- Login credentials factored out and reused in MobileAPI.cs
- VLC.cs Capture function reviewed and superseded by TakeSnapshot
- InsertCamTab implementation updated to avoid use of `var`
- Misleading '// Non-ONVIF cameras' comment corrected
- Added Level.Debug logging, accessible only to developers, for detailed diagnostics
• Introduced new Mobile API.cs module
• Encapsulates firmware checks, day/night mode switching, and snapshot operations
• Methods: CheckFirmwareAsync(), SetDayModeAsync(), SetNightModeAsync()
• Improves code maintainability and separates API logic from test execution
UI Components
• DayImgPcbx PictureBox: Displays day snapshot
• NightImgPcbx PictureBox: Displays night snapshot
• DayImage Label: Shows day luminance percentage
• NightImage Label: Shows night luminance percentage
Features Implemented
• Luminance-based validation: Uses ImageProcessing.GetMeanLuminance() to quantitatively analyze day and night snapshots
• Validation logic: Day luminance must exceed night luminance to pass the test
• Real-time luminance display: Appends calculated luminance percentages (0-100%) to day and night image labels
• Enhanced error reporting: Logs detailed luminance values when test fails for debugging purposes
• Captures day mode snapshot → Analyzes luminance
• Captures night mode snapshot → Analyzes luminance
• Compares values and updates UI labels with percentages
• Result: "Day/Night Mode = Passed" (green) or "Day/Night Mode = Failed" (red) with error details
- Added new tab called Video
- Removed unused tabs on load (Soak, Mobile, Video, Images).
- Refactored InsertCamTab():
- Uses CurrentTabs to manage multiple tabs per camera type.
Mobile → inserts Video + Mobile tabs.
AiQ → inserts Images + Soak tabs.
-Cleans up previous tabs before inserting new ones.
-Updated BtnTest_Click():
Added 5-second delay before snapshot.
Takes snapshot after video starts playing.
- New file created VLC.cs
Streams the given IP into the Video tab and takes a snapshot
- Pre test now checks firmware and adds the label dynamically to the panel
• AiQ_GUI.Designer.cs
- Added CbBxCameraModel.SelectedIndexChanged to properly wire UI element.
• Microsoft/StatsExcel.cs
- Improved workbook loading error handling to distinguish between corruption and file access issues.
• Added null-checks so labels are created dynamically when lblVorI is null (uses MainForm.Instance.AddLabelToPanel).
• Camera/CameraModules.cs
• Added null-label handling to create dynamic module labels with the correct content (OK or the error message).
• AiQ_GUI.cs
• Increased dynamic label width in MakeNewLabel from 220 → 700 to avoid truncated messages.
• Succesfully ran through a pre-test with dynamic labels
- Code refactored, DIagsPt1 and 2 moved into there own folder called DIagnostics
- Pre tests and final tests moved into a AiQ tests
- Mobile Pre Tests added
- Mobile pre test - Added firmware check for the SRZ
Features added:
- Onvif discoverable
- New Camera Type combo box
- Access has be changed to be more scalable and dynamic in preparation for more cameras