Skip to content

Conversation

zhanghaocore
Copy link

No description provided.

zhanghaocore and others added 30 commits August 4, 2025 14:34
- Implement RedisDataThread class inheriting from DataThread
- Add RedisDataThreadEditor with connection configuration UI
- Support JSON and binary data formats from Redis
- Include stub implementation when hiredis library not available
- Add CMake configuration with automatic hiredis detection
- Plugin registers as DATA_THREAD type for use with SourceNode
- Follows OpenEphys plugin architecture and naming conventions

Features:
- Configurable Redis host, port, password, and channel
- Real-time data streaming with BLPOP commands
- Sample rate and channel count configuration
- Connection status monitoring and error handling
- Thread-safe data acquisition and buffering
- Automatic reconnection on connection failures

Dependencies:
- hiredis library (optional, falls back to stub if not available)
- Standard OpenEphys plugin headers and JUCE framework
…ad plugin

- Add detailed README.md with installation, usage, and troubleshooting
- Include redis_data_sender.py example script for synthetic data generation
- Add install.sh script for automated plugin installation
- Include test_redis_plugin.py for plugin verification
- Document JSON and binary data formats with examples
- Provide Python examples for real-time data streaming
- Add troubleshooting guide for common issues

Examples include:
- Synthetic electrophysiology data generation
- LFP, theta, gamma, and spike-like signals
- Real-time streaming with configurable parameters
- Error handling and graceful shutdown
- Command-line interface for easy testing
- Create comprehensive test suite for Redis stream functionality
- Add unit tests for XREAD commands and BRANDBCI data formats
- Implement performance testing for latency requirements
- Verify Redis stream operations work correctly
- Tests confirm < 10ms latency requirement is met
Core Features:
- Add Redis stream support using XREAD commands (replaces BLPOP)
- Implement BRANDBCI data format parsing with metadata extraction
- Add multi-stream discovery and management capabilities
- Support both legacy list mode and new stream mode
- Add comprehensive error handling and reconnection logic

Technical Implementation:
- New stream configuration options (useStreamMode, streamPattern)
- Stream discovery using KEYS and TYPE commands
- BRANDBCI JSON format parsing with nested data structure support
- Automatic stream subscription and position tracking
- Performance optimized for real-time neural data (< 10ms latency)

Testing:
- Comprehensive test suite with 100% pass rate
- Performance validation: 1000 Hz streaming achieved
- Stream discovery and data format parsing verified
- Integration test script for BRANDBCI simulation

This implements the first major milestone of the BRANDBCI integration
roadmap, providing the foundation for real-time neural data streaming.
- Create interactive demo script for BRANDBCI integration testing
- Add comprehensive README for Redis stream features
- Include configuration examples and troubleshooting guide
- Provide API reference and integration examples
- Ready for user testing and validation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant