Skip to content

Startup Test Requirements

Document ID: REQ-STARTUP-ESP32-DISTANCE
Version: 1.0
Date: 2025-09-16
Author: ESP32 Distance Project Team
Parent Document: SRS-ESP32-DISTANCE

Document Purpose

This document specifies requirements for the startup test sequence that provides visual feedback to users during system initialization, demonstrating hardware functionality and successful boot.

Requirements Traceability

Requirement ID Design Reference Priority
REQ-STARTUP-1 DSN-STARTUP-1 Mandatory
REQ-STARTUP-2 DSN-STARTUP-2 Mandatory
REQ-STARTUP-3 DSN-STARTUP-3 Important

Dependencies:

  • REQ-STARTUP-2 depends on REQ-LED-1 (cannot test LEDs without LED controller support)

Functional Requirements

REQ-STARTUP-1: LED Controller Initialization

Type: Functional
Priority: Mandatory
Description: The system SHALL initialize the LED controller during startup before performing the visual test sequence.

Rationale: LED hardware must be ready before the startup sequence can execute.

Acceptance Criteria:

  • AC-1: LED controller SHALL be initialized successfully during startup
  • AC-2: System SHALL proceed to visual sequence only after successful LED initialization

Verification: Verify LED controller initializes without errors during system startup.

REQ-STARTUP-2: Visual Boot Sequence

Type: User Experience
Priority: Mandatory
Description: The system SHALL display a visual boot sequence by lighting LEDs in sequential order from first to last, providing clear indication that the system is initializing and all LEDs are functional.

Rationale: Gives users immediate visual feedback that the device is booting properly and demonstrates that all LEDs in the strip are working correctly.

Acceptance Criteria:

  • AC-1: LEDs SHALL light sequentially from position 0 to position (led_count-1)
  • AC-2: Each LED SHALL display a distinct color during the sequence (e.g., blue or white)
  • AC-3: Test SHALL complete within reasonable time limits (example: 40 LEDs @ 50ms each = 2.0 second maximum)
  • AC-4: Each LED SHALL turn off before the next LED activates (single moving light pattern)
  • AC-5: Normal distance measurement SHALL begin after sequence completes

Verification: Observe startup sequence, verify all LEDs activate in order with appropriate timing and visual clarity.


Non-Functional Requirements

REQ-STARTUP-3: Timing Performance

Type: Performance
Priority: Important
Description: The startup test sequence SHALL complete within reasonable time limits to avoid significantly delaying normal system operation.

Rationale: Users expect reasonable boot times; startup test should provide value without excessive delay.

Acceptance Criteria:

  • AC-1: Complete startup sequence SHALL finish within 5 seconds for 60 LEDs
  • AC-2: LED activation timing SHALL be configurable (default 50ms per LED)
  • AC-3: Total startup delay SHALL not exceed 10 seconds regardless of LED count

Verification: Measure startup sequence timing with different LED counts, verify performance meets timing requirements.


Requirements Summary

Total Requirements: 3

  • Functional: 2 requirements (LED initialization, visual sequence)
  • Non-Functional: 1 requirement (timing performance)

Priority Distribution:

  • Mandatory: 2 requirements
  • Important: 1 requirement

Key Benefits:

  • User Confidence: Clear visual feedback that system is working properly
  • LED Validation: Demonstrates all LEDs in the strip are functional
  • Professional Appearance: Polished boot experience