Welcome to the FlexLib API 4.1.5 documentation!
-
Getting Started - Complete tutorial for new users
- Setup instructions
- Your first FlexLib application
- Basic concepts and patterns
-
API Reference - Quick reference for all major classes
- Core classes and methods
- Properties and events
- Usage examples
-
Examples - Real-world code examples
- Basic radio control
- Audio streaming
- Advanced features
- Complete applications
-
Architecture - System design documentation
- Component overview
- Design patterns
- Threading model
- Network protocol details
-
Migration Guide - Version upgrade instructions
- Breaking changes
- New features
- Migration strategies
- Start with Getting Started
- Try the examples in Examples
- Reference API Reference as needed
- Check API Reference for quick lookups
- Browse Examples for specific patterns
- Read Architecture for deep understanding
- Read Migration Guide first
- Check CHANGELOG for version changes
- Update code following migration steps
docs/
βββ README.md # This file
βββ Getting-Started.md # Tutorial for beginners
βββ API-Reference.md # Quick API reference
βββ Examples.md # Code examples
βββ Architecture.md # System design
βββ Migration-Guide.md # Version upgrade guide
βββ docfx.json # DocFX configuration
βββ index.md # DocFX home page
βββ toc.yml # Table of contents
βββ _site/ # Generated HTML (after build)
| What You Want | Where to Look |
|---|---|
| Getting started | Getting Started Guide |
| Code examples | Examples |
| Class reference | API Reference or generated docs |
| System design | Architecture |
| Upgrading versions | Migration Guide |
| Contributing | CONTRIBUTING.md |
| Version history | CHANGELOG.md |
| Feature | Documentation |
|---|---|
| Radio discovery | Getting Started - Discovery |
| Connection | Getting Started - Connection |
| Frequency control | Getting Started - Slices |
| Audio streaming | Getting Started - Audio, Examples - Audio |
| PTT control | Getting Started - PTT |
| Meters | Getting Started - Meters |
| Multi-radio | Examples - Multi-Radio |
| Digital modes | Examples - Digital Mode |
- Read sequentially: Start with Getting Started, work through examples
- Try the code: Copy examples and run them
- Experiment: Modify examples to understand behavior
- Ask questions: Use community forum or GitHub issues
- Use the search: Generated docs have full-text search
- Check XML comments: IntelliSense shows documentation in Visual Studio
- Read source: FlexLib source code is well-commented
- Contribute: Improve docs via pull requests
- Update XML comments: All public APIs need documentation
- Add examples: Include code examples in XML
<example>tags - Update guides: Keep markdown docs synchronized
- Test DocFX: Regenerate docs to verify changes
All public classes, methods, properties, and events must have:
/// <summary>
/// Brief one-line description.
/// </summary>
/// <remarks>
/// Detailed description with multiple paragraphs if needed.
/// Explain behavior, constraints, and important notes.
/// </remarks>
/// <param name="paramName">Parameter description</param>
/// <returns>Return value description</returns>
/// <exception cref="ExceptionType">When this is thrown</exception>
/// <example>
/// <code>
/// // Example usage
/// var result = SomeMethod(param);
/// </code>
/// </example>
/// <seealso cref="RelatedClass"/>
public ReturnType SomeMethod(ParamType paramName)
{
// Implementation
}- Use ATX headers (
#,##,###) - Include code blocks with language tags
- Add examples for complex topics
- Link between documents with relative paths
- Use tables for structured information
Update documentation when:
- Adding new public APIs
- Changing existing behavior
- Fixing bugs that affect usage
- Adding new features
- Deprecating functionality
- XML Comments: Update in source code
- API Reference: If major API changes
- Examples: Add examples for new features
- Getting Started: For workflow changes
- Migration Guide: For breaking changes
- CHANGELOG: For all notable changes
If you find documentation problems:
- Typos/errors: Submit a pull request with fix
- Unclear sections: Open an issue with suggestions
- Missing topics: Request in GitHub issues
- Outdated content: Report with version information
For help using FlexLib:
- Search documentation: Use search in generated docs
- Check examples: Most questions answered with examples
- Community forum: https://community.flexradio.com
- GitHub issues: For bug reports
- Technical support: support@flexradio.com
Documentation is part of the FlexLib project and follows the same license.
Copyright Β© 2018-2024 FlexRadio Systems. All rights reserved.
We welcome documentation improvements! See CONTRIBUTING.md for:
- Documentation standards
- Submission process
- Code of conduct
Ready to get started? Head to the Getting Started Guide!
Need something specific? Check the API Reference!
Want to see it in action? Browse the Examples!