{"id":20166860,"url":"https://github.com/OpenIPC/openipc-configurator","last_synced_at":"2025-05-07T00:33:18.728Z","repository":{"id":260979558,"uuid":"882887300","full_name":"OpenIPC/openipc-configurator","owner":"OpenIPC","description":"A multi-platform configuration tool for OpenIPC cameras, built using Avalonia UI.","archived":false,"fork":false,"pushed_at":"2025-04-26T17:12:57.000Z","size":3730,"stargazers_count":18,"open_issues_count":17,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-01T05:29:13.474Z","etag":null,"topics":["configurator","openipc","openipc-fpv"],"latest_commit_sha":null,"homepage":"https://openipc.org","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenIPC.png","metadata":{"files":{"readme":"README-Android.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"openipc"}},"created_at":"2024-11-04T01:33:40.000Z","updated_at":"2025-04-19T16:43:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e62176c-bebf-43d1-af03-262ac1748a5b","html_url":"https://github.com/OpenIPC/openipc-configurator","commit_stats":{"total_commits":142,"total_committers":1,"mean_commits":142.0,"dds":0.0,"last_synced_commit":"3c971ac3c190c4e2f26e37df248810dd48f28329"},"previous_names":["mikecarr/anotherconfigurator","openipc/openipc-configurator"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fopenipc-configurator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fopenipc-configurator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fopenipc-configurator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fopenipc-configurator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenIPC","download_url":"https://codeload.github.com/OpenIPC/openipc-configurator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252522641,"owners_count":21761765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configurator","openipc","openipc-fpv"],"created_at":"2024-11-14T00:46:29.476Z","updated_at":"2025-05-07T00:33:13.717Z","avatar_url":"https://github.com/OpenIPC.png","language":"C#","funding_links":["https://opencollective.com/openipc"],"categories":[],"sub_categories":[],"readme":"# OpenIPC Config\n![img.png](Assets/OpenIPC.png)\n\nA multi-platform configuration tool for OpenIPC cameras, built using Avalonia UI. The application provides a user-friendly interface for managing camera settings, viewing telemetry data, and setting up the camera.\n\nBased off of MarioFPV's [OpenIPC Config](https://github.com/OpenIPC/configurator)\n\n## Features\n\n* **Camera settings management**: configure camera settings such as resolution, frame rate, and exposure\n* **Telemetry**: view real-time telemetry data from the camera, including metrics such as temperature, voltage, and signal strength\n* **Setup wizards**: guided setup processes for configuring the camera and connecting to the network\n* **Multi-platform support**: run the application on Windows, macOS, and Linux platforms\n* **YAML-based configuration files**: easily edit and customize camera settings using YAML configuration files\n\n## Technical Details\n\n* **Built using Avalonia UI**, a cross-platform XAML-based UI framework\n* `.NET Core 3.1 or later`\n* **Supports multiple camera models and configurations**\n* **Includes logging and error handling** for troubleshooting and debugging\n\n## Files and Folders\n\n* `Views`: contains Avalonia UI views for the application, including camera settings, telemetry, and setup wizards\n* `ViewModels`: contains view models for the application, responsible for managing data and business logic\n* `Models`: contains data models for the application, representing camera settings and telemetry data\n* `Services`: contains application-wide services and utilities, such as logging and SSH clients\n* `Styles`: contains styles and resources for the application, including themes and fonts\n* `README.md`: this file, containing information about the project and its features\n\n\nMac\n\n![img.png](images/main_app_mac.png)\n\n\nWindows\n![img.png](images/main_app_win.png)\n\n\n## Publishing\n\n\n```console\ndotnet publish -c Release -r \u003cRID\u003e --self-contained\n```\n\n### Publishing\n* Mac\n\n    ```bash\n    dotnet publish -c Release -r osx-arm64 --self-contained\n    ```\n* Windows\n    ```bash\n    dotnet publish -c Release -r win-x64 --self-contained\n    ```\n\n* Linux x64\n    ```bash\n    dotnet publish -c Release -r linux-x64 --self-contained\n  \n    ```\n\n* For ARM-based Linux distributions (e.g., Raspberry Pi, Radxa?), use:\n    ```bash\n    dotnet publish -c Release -r linux-arm --self-contained\n    ```\n\n* One command:\n    ```bash\n    dotnet publish -c Release -r osx-arm64 --self-contained \n    dotnet publish -c Release -r linux-x64 --self-contained \n    dotnet publish -c Release -r win-x64 --self-contained \n  ```\n  To create in another folder\n  ```bash\n    dotnet publish -c Release -r osx-arm64 --self-contained -o ./publish/osx-arm64\n    dotnet publish -c Release -r linux-x64 --self-contained -o ./publish/linux-x64\n    dotnet publish -c Release -r win-x64 --self-contained -o ./publish/win-x64\n    dotnet publish -c Release -r android-arm64 --self-contained -o ./publish/android-arm64\n  \n  \n  ```\n\n\n### Supported Runtimes\n\n1. Windows\n   * x86 (32-bit)\n     * win-x86\n   * x64 (64-bit)\n     * win-x64\n   * ARM (32-bit)\n     * win-arm\n   * ARM64 (64-bit)\n     * win-arm64\n2. Linux\n   * x64 (64-bit)\n     * linux-x64\n   * x86 (32-bit)\n     * linux-x86\n   * ARM (32-bit)\n     * linux-arm\n   * ARM64 (64-bit)\n     * linux-arm64\n   * MIPS64 (64-bit)\n     * linux-mips64\n   * MIPS64el (Little Endian)\n     * linux-mips64el\n   * Alpine Linux (musl-based)\n     * linux-musl-x64\n     * linux-musl-arm\n     * linux-musl-arm64\n3. macOS\n   * x64 (Intel-based)\n     * osx-x64\n   * ARM64 (Apple Silicon)\n     * osx-arm64\n4. FreeBSD\n   * x64 (64-bit)\n     * freebsd-x64\n5. Android\n   * ARM (32-bit)\n     * android-arm\n   * ARM64 (64-bit)\n     * android-arm64\n   * x86 (32-bit)\n     * android-x86\n   * x64 (64-bit)\n     * android-x64\n6. iOS\n   * ARM64 (64-bit)\n     * ios-arm64\n   * Simulator (x64)\n     * ios-simulator-x64\n7. tvOS\n   * ARM64 (64-bit)\n     * tvos-arm64\n   * Simulator (x64)\n     * tvos-simulator-x64\n8. watchOS\n   * ARM64 (64-bit)\n     * watchos-arm64\n   * Simulator (x64)\n     * watchos-simulator-x64\n9. Tizen\n   * x86\n     * tizen-x86\n   * ARM\n     * tizen-armel\n\n\n## Issues\n* dotnet add package Avalonia.Android\n  * error: NU1202: Package Avalonia.Android 11.1.4 is not compatible with net8.0 (.NETCoreApp,Version=v8.0). Package Avalonia.Android 11.1.4 supports: net8.0-android34.0 (.NETCoreApp,Version=v8.0)\n    error: Package 'Avalonia.Android' is incompatible with 'all' frameworks in project '/Users/mcarr/RiderProjects/OpenIPC-Config/OpenIPC-Config.csproj'.\n\n\n\n## Debugging\nWhen app is running in Debug mode, check DevTools via F12 (Mac fn-F12) for VisualTree\n![devtools.png](images/devtools.png)\n\n## References\n\n* https://avaloniaui.net/blog/the-definitive-guide-to-building-and-deploying-avalonia-applications-for-macos\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenIPC%2Fopenipc-configurator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenIPC%2Fopenipc-configurator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenIPC%2Fopenipc-configurator/lists"}