-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
area: build-systemCMake, compilation issuesCMake, compilation issuesarea: hardwareHardware-related issuesHardware-related issuespriority: criticalSystem stability, safety-critical featuresSystem stability, safety-critical features
Milestone
Description
Requirement Description
REQ-HW-002: The system SHALL provide native simulation capabilities for development and testing.
Objective
Implement native simulation capabilities using Zephyr's native_sim platform to enable development and testing without requiring physical hardware, facilitating efficient firmware development and comprehensive automated testing.
Technical Requirements
Core Simulation Platform
- Zephyr native_sim board configuration and setup
- Host-based firmware execution environment
- Cross-platform simulation support (Linux/Windows/macOS)
- Real-time simulation capabilities for timing-sensitive operations
Hardware Simulation Framework
- Mock implementations for hardware-dependent components which have no simulation provided by zephyr
- UART communication based on virtual COM/TTY devices
- Virtual GPIO pin simulation for hardware interactions
- Mock stepper motor driver simulation
- Simulated sensor inputs and system monitoring
- Virtual device tree configuration for simulated hardware
Development Integration
- Seamless build system integration with west/CMake
- Standard debugging tool support (GDB integration)
- Comprehensive logging and trace output
- Development workflow optimization for rapid iteration
Testing Infrastructure Support
- Automated test execution in simulation environment
- Unit test framework integration with simulated components
- Integration testing support for system-level functionality
- Continuous integration pipeline compatibility
Acceptance Criteria
- Native simulation builds successfully with west build system
- Firmware logic executes correctly in simulation environment
- All major subsystems functional in simulation mode
- Communication capabilities over virtual serial ports with other tools on the host (OatControl, Indi, ASCOM etc.)
- Debugging capabilities operational with standard development tools
- Automated tests run successfully in simulation environment
- Simulation provides meaningful feedback for development workflow
- Performance characteristics suitable for development and testing
Implementation Notes
Zephyr RTOS Integration
- Use Zephyr's native_sim board configuration
- Implement hardware abstraction layers for simulated components
- Configure device tree overlays for simulation-specific settings
- Follow Zephyr simulation best practices and coding standards
Build System Configuration
west build -b native_sim # Simulation build
west build -b native_sim -- -DEXTRA_CONF_FILE=debug.conf # Debug simulation
./build/zephyr/zephyr.exe # Run simulationTesting Requirements
- Automated test suites executable in simulation environment
- Hardware-independent unit tests for core firmware logic
- Integration tests for inter-component communication
- Regression testing support for continuous integration
Dependencies
- Prerequisite: REQ-SYS-001 (Zephyr RTOS integration functional)
- Prerequisite: REQ-SYS-002 (32-bit microcontroller platform support)
- Enables: Efficient development workflow and comprehensive testing
Implementation Priority
🔴 priority:critical - Native simulation capabilities are essential for efficient development workflow, comprehensive testing, and continuous integration. This enables rapid development iteration without requiring physical hardware for every change.
Related Files
boards/native_sim/- Native simulation board configurationapp/src/- Application logic with simulation compatibilitylib/- Reusable components with simulation supporttests/- Test suites designed for simulation executionCMakeLists.txt- Build system configuration for simulationprj.conf- Project configuration for simulation features
Definition of Done
- Native simulation environment fully operational
- All acceptance criteria met and tested
- Build system seamlessly supports simulation and hardware targets
- Development workflow validated with simulation environment
- Automated testing pipeline functional in simulation
- Code review completed
- Documentation updated with simulation usage instructions
Metadata
Metadata
Assignees
Labels
area: build-systemCMake, compilation issuesCMake, compilation issuesarea: hardwareHardware-related issuesHardware-related issuespriority: criticalSystem stability, safety-critical featuresSystem stability, safety-critical features