Generate precise frequencies (0-20 MHz) β’ Control hexaTune devices β’ Cross-platform support
Features β’ Getting Started β’ Documentation β’ Contributing β’ Support
hexaGenApp is a powerful Flutter-based mobile and desktop application designed to control hexaTune frequency generator hardware. Create complex frequency sequences, manage generation history, and monitor device statusβall from an intuitive, multi-platform interface.
- ποΈ Frequency Control: Generate frequencies from 0 Hz to 20 MHz with precision
- π Sequence Builder: Create sequences up to 64 items with custom durations
- π Real-time Monitoring: Track generation status with live updates
- π History Management: Save and replay past sequences (up to 50 entries)
- π¨ Theme Flexibility: Light, dark, and high-contrast modes
- π Multilingual: English and Turkish support
- π MIDI Communication: USB MIDI connection to hexaTune devices
- βοΈ Background Service: Continue generation even when app is in background
- Range: 0 Hz - 20,000,000 Hz (20 MHz)
- Sequence Length: Up to 64 frequency items
- Duration Control: Set individual duration for each frequency
- Repeat Mode: Configure repeat count for sequences
- Status Tracking: Real-time status for each item (pending β processing β completed/error)
- MIDI Protocol: Industry-standard USB MIDI communication
- AT Commands: Custom command protocol for device control
VERSION- Query firmware versionFREQ- Set frequency and durationSETRGB- Control LED colorsRESET- Reset device stateFWUPDATE- Firmware update mode
- Auto-reconnect: Automatic device detection and reconnection
- Error Handling: Comprehensive error codes (E001001-E001009)
- Persistent Storage: Save up to 50 generation sequences
- Regenerate: Replay any past sequence with one tap
- Detailed View: Expandable cards showing full sequence data
- Auto-cleanup: FIFO deletion when limit reached
- Theme Selector: Choose between light, dark, and high-contrast modes
- Device Info: View connection status and firmware version
- Log Monitor: Real-time log viewer with filtering by category and level
- Auto-scroll: Keep latest logs visible automatically
π± hexaGenApp
βββ ποΈ Generation - Build and execute frequency sequences
βββ π History - View and replay past operations
βββ π Products - hexaTune product catalog (coming soon)
βββ β How to Use - Usage instructions (coming soon)
βββ βοΈ Settings - Theme, device info, logs
- Material Design 3: Modern, adaptive UI components
- Custom Color Scheme:
- Primary: Yellow/Gold (energy, precision)
- Secondary: Cyan (connectivity, signals)
- Tertiary: Purple (innovation, premium)
- Typography:
- Inter for body text and UI elements
- Rajdhani for headings and titles
- Accessibility: High-contrast mode, WCAG 2.1 compliant
- Flutter SDK: 3.x or later
- Dart SDK: ^3.9.2 or later
- Platform Tools:
- Android: Android Studio + Android SDK
- iOS: Xcode (macOS only)
- Desktop: Platform-specific build tools
# Clone the repository
git clone https://github.com/hTuneSys/hexaGenApp.git
cd hexaGenApp/hexagenapp
# Install dependencies
flutter pub get
# Verify setup
flutter doctor
# Run on connected device
flutter run
# Or specify platform
flutter run -d android
flutter run -d ios
flutter run -d linux
flutter run -d macos
flutter run -d windowshexagenapp/
βββ lib/
β βββ main.dart # Entry point
β βββ l10n/ # Internationalization
β βββ src/
β βββ app.dart # Root app widget
β βββ core/ # Core functionality
β β βββ at/ # AT command protocol
β β βββ device/ # Device management
β β βββ error/ # Error handling
β β βββ service/ # Core services
β β βββ sysex/ # MIDI SysEx protocol
β β βββ theme/ # Theme system
β βββ pages/ # UI pages
βββ assets/ # Fonts, icons
βββ android/ # Android platform
βββ ios/ # iOS platform
βββ linux/ # Linux platform
βββ macos/ # macOS platform
βββ windows/ # Windows platform
βββ test/ # Tests
- DeviceService: Device lifecycle, MIDI communication, command tracking
- StorageService: Persistent data (theme, history)
- LogService: Centralized logging with filtering
- HexaTuneDeviceManager: MIDI device scanning and connection
- AT Command Builder: Protocol implementation
- SysEx Handler: Message encoding/decoding, USB MIDI packets
- Generation Page: Interactive sequence builder
- History Page: Operation history with replay
- Settings Page: Configuration and diagnostics
# Run tests
flutter test
# Analyze code
flutter analyze
# Format code
dart format .
# Build release
flutter build apk --release # Android
flutter build ios --release # iOS
flutter build linux --release # Linux
flutter build macos --release # macOS
flutter build windows --release # WindowsUse prefixed branch names:
feat/- New featuresfix/- Bug fixesrefactor/- Code refactoringdocs/- Documentationtest/- Testsci/- CI/CD changes
Follow conventional commits:
<type>(scope): <description>
Types: feat, fix, docs, style, refactor, perf, test, chore, ci, build, release, hotfix
Examples:
feat(generation): add drag-to-reorder for sequence items
fix(device): resolve MIDI connection timeout issue
docs(readme): update installation instructionsComprehensive documentation is available in the docs/ directory:
- Getting Started - Quick setup guide
- Architecture - System design and patterns
- Project Structure - File organization
- Style Guide - Code conventions
- Branding - Visual identity
- Contributing - Contribution guidelines
- Development Guide - Development workflow
- Branch Strategy - Git workflow
- Commit Strategy - Commit conventions
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
feat/amazing-feature) - Make your changes following our Style Guide
- Test your changes (
flutter test && flutter analyze) - Commit using conventional commits
- Push to your branch
- Open a Pull Request
Read our Contributing Guidelines for detailed information.
This project follows our Code of Conduct. Please read it before contributing.
To use frequency generation features:
- hexaTune frequency generator device (required for generation)
- USB connection (OTG adapter for mobile devices)
- MIDI support on your platform
Note: The app runs without hardware, but generation features will be disabled.
Currently supported languages:
- π¬π§ English (default)
- πΉπ· Turkish
Want to add a language? See our Localization Guide.
- Widget tests for UI components
- Unit tests for core logic
# All tests
flutter test
# Specific test file
flutter test test/widget_test.dart
# With coverage
flutter test --coverage| Platform | Status | Notes |
|---|---|---|
| Android | β Full | Android 5.0+ (API 21+) |
| iOS | β Full | iOS 12.0+ |
| Linux | β Full | Desktop support |
| macOS | β Full | macOS 10.14+ |
| Windows | β Full | Windows 10+ |
| Web | π§ Beta | Limited MIDI support |
- Web: MIDI support limited by browser capabilities
- iOS: Background service requires audio permission
- Android: Some devices require manual USB permission grant
See GitHub Issues for complete list.
- Complete "How to Use" page with tutorials
- Add "Products" catalog page
- Cloud sync for history
- Advanced sequence editing
- Firmware update UI
- Custom waveform generation
- Sequence templates
- Export/import sequences
- Multi-device support
- Remote control via Bluetooth
- Advanced analytics
- Custom scripting support
See Project Board for live progress.
This project is licensed under the MIT License - see the LICENSE file for details.
All source files include SPDX license identifiers:
SPDX-FileCopyrightText: 2025 hexaTune LLC
SPDX-License-Identifier: MIT
- Flutter Team - Amazing cross-platform framework
- flutter_midi_command - MIDI communication library
- Material Symbols - Comprehensive icon set
- hexaTune Community - Feedback and testing
- π§ Email: [email protected]
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π Documentation: docs/
- π Website: hexatune.com
- π» GitHub: github.com/hTuneSys
- π± App Store: Coming soon
- π€ Play Store: Coming soon
hexaTune LLC specializes in precision frequency generation hardware and software solutions for research, education, and professional applications.
Mission: Democratize access to high-quality frequency generation tools through open-source software and affordable hardware.
If you find hexaGenApp useful, please consider starring the repository!
Built with β€οΈ by hexaTune LLC