- Remove dependency on result_handler for setting pipeline result callback
- Always call result_callback when handle_result is triggered
- This fixes the issue where GUI callbacks weren't being called because
output type 'display' wasn't supported, causing result_handler to be None
- Add more debug output to trace callback flow
- Add debug output in InferencePipeline result callback to see if it's called
- Add debug output in WorkflowOrchestrator handle_result to trace callback flow
- This will help identify exactly where the callback chain is breaking
- Previous test showed GUI can receive signals but callbacks aren't triggered
- Add time import for test result generation
- Add test signal emissions to verify GUI connection works
- Add debug prints for signal establishment
- Test both result_updated and terminal_output signals
- This will help identify if the issue is signal connection or data flow
- Add debug prints in combined_result_callback to see received data
- Add debug prints in update_inference_results to track GUI updates
- Fix tuple order in terminal formatting to match actual (probability, result) format
- This will help identify why results show in terminal but not in GUI
- Add upload_fw property to ExactModelNode for firmware upload control
- Display all model node properties in right panel (model_path, scpu_fw_path, ncpu_fw_path, dongle_series, num_dongles, port_id, upload_fw)
- Replace console terminal output with GUI terminal display in deployment dialog
- Add Terminal Output section to deployment tab with proper formatting
- Terminal results now appear in app view instead of console for packaged apps
- Maintain backward compatibility with existing pipeline configurations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add result callback mechanism to WorkflowOrchestrator
- Implement result_updated signal in DeploymentWorker
- Create detailed inference results display with timestamps and formatted output
- Support both tuple and dict result formats
- Add auto-scrolling results panel with history management
- Connect pipeline results to Live View tab for real-time monitoring
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix ambiguous truth value error in get_latest_inference_result method
- Fix ambiguous truth value error in postprocess function
- Replace direct array evaluation with explicit length checks
- Use proper None checks instead of truthy evaluation on numpy arrays
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix remaining array comparison error in inference result validation
- Update PyQt signal signature for proper numpy array handling
- Improve DeploymentWorker to keep running after deployment
- Enhance stop button with non-blocking UI updates and better error handling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix ambiguous truth value error in InferencePipeline result handling
- Add stop inference button to deployment dialog with proper UI state management
- Improve error handling for tuple vs dict result types
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add detailed TODO.md with complete project roadmap and implementation priorities
- Implement CameraSource class with multi-camera support and real-time capture
- Add VideoFileSource class with batch processing and frame control capabilities
- Create foundation for complete input/output data flow integration
- Document current auto-resize preprocessing implementation status
- Establish clear development phases and key missing components
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Always store firmware paths (scpu_fw_path, ncpu_fw_path) when provided, not just when upload_fw=True
- Restore firmware upload condition to only run when upload_fw=True
- Fix 'MultiDongle' object has no attribute 'scpu_fw_path' error during pipeline initialization
- Ensure firmware paths are available for both upload and non-upload scenarios
This resolves the pipeline deployment error where firmware paths were missing
even when provided to the constructor, causing initialization failures.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Device Detection Updates:
- Update device series detection to use product_id mapping (0x100 -> KL520, 0x720 -> KL720)
- Handle JSON dict format from kp.core.scan_devices() properly
- Extract usb_port_id correctly from device descriptors
- Support multiple device descriptor formats (dict, list, object)
- Enhanced debug output shows Product ID for verification
Pipeline Deployment Fixes:
- Remove invalid preprocessor/postprocessor parameters from MultiDongle constructor
- Add max_queue_size parameter support to MultiDongle
- Fix pipeline stage initialization to match MultiDongle constructor
- Add auto_detect parameter support for pipeline stages
- Store stage processors as instance variables for future use
Example Updates:
- Update device_detection_example.py to show Product ID in output
- Enhanced error handling and format detection
Resolves pipeline deployment error: "MultiDongle.__init__() got an unexpected keyword argument 'preprocessor'"
Now properly handles real device descriptors with correct product_id to series mapping.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace simulated dongle detection with actual kp.core.scan_devices()
- Display real device series (KL520, KL720, etc.) and port IDs in UI
- Add device information management methods (get_detected_devices, refresh_dongle_detection, etc.)
- Enhanced performance estimation based on actual detected devices
- Add device-specific optimization suggestions and warnings
- Fallback to simulation mode if device scanning fails
- Store detected device info for use throughout the application
The Dashboard now shows real Kneron device information when "Detect Dongles" is clicked,
displaying format: "KL520 Dongle - Port 28" with total device count.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add scan_devices() method using kp.core.scan_devices() for device discovery
- Add connect_auto_detected_devices() for automatic device connection
- Add device series detection (KL520, KL720, KL630, KL730, KL540, etc.)
- Add auto_detect parameter to MultiDongle constructor
- Add get_device_info() and print_device_info() methods to display port IDs and series
- Update connection logic to use kp.core.connect_devices() per official docs
- Add device_detection_example.py with usage examples
- Maintain backward compatibility with manual port specification
Features display dongle series and port ID as requested for better device management.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add DataProcessor abstract base class with process method
- Add PostProcessor class for handling inference output data
- Fix PreProcessor inheritance from DataProcessor
- Resolves "name 'DataProcessor' is not defined" error during pipeline deployment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
• Comment out pipeline editor to resolve import conflicts
• Update test.mflow with new node IDs and preprocess node
• Add new deployment screenshot
• Remove old screenshot file
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major Features:
• Complete deployment dialog system with validation and dongle management
• Enhanced dashboard with deploy button and validation checks
• Comprehensive deployment test suite and demo scripts
• Pipeline validation for model paths, firmware, and port configurations
• Real-time deployment status tracking and error handling
Technical Improvements:
• Node property validation for deployment readiness
• File existence checks for models and firmware files
• Port ID validation and format checking
• Integration between UI components and core deployment functions
• Comprehensive error messaging and user feedback
New Components:
• DeploymentDialog with advanced configuration options
• Pipeline deployment validation system
• Test deployment scripts with various scenarios
• Enhanced dashboard UI with deployment workflow
• Screenshot updates reflecting new deployment features
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>