Skip to content

森海克斯8800/8600(pro)/GT12跨平台写频软件,支持蓝牙写频、更方便的信道修改以及其他实用小工具

License

Notifications You must be signed in to change notification settings

SydneyOwl/senhaix-freq-writer-enhanced

Repository files navigation

森海克斯修改版写频软件 说明

downloads downloads@latest version senhaix

Important

  • 如有必要,请在任何操作前首先进行备份操作!
  • 本项目旨在为森海克斯8x00以及gt12提供一个跨平台写频方案,因此从v0.2.2 及以后将停止维护winform版本(windows单平台)的写频软件 (如无重大错误不再更新 ),但如果您有需要,仍然可以从此处 下载最后一个支持的版本,文件名为xxx-Freq-Writer-v0.2.2.zip

简介

该写频软件使用net6.0+Avalonia 对森海克斯8600/8800(pro)/GT12的原官方写频软件(winform)进行了重构,并合并入一个软件中,提供对Windows、Linux、macOS三端的支持,在实现官方软件提供的所有功能基础上同时加入了其他功能,例如高级信道编辑以及蓝牙写频等。

目前适配情况:

  • 森海克斯8x00:大致完成,但8600pro的开机画面写入功能仍在测试中!
  • 森海克斯GT12:mac端仍在测试中!麻烦使用macos的友台在issues中给下反馈~您可以在beta版本的release中或action中下载
SHX8X00 GT12

功能说明

运行平台

下面列出的是测试通过的平台,其他系统或发行版请自行尝试;也欢迎您在issue中告知可正常使用的系统版本!

- 森海克斯8800/8600/GT12通用版(Windows/Linux/macOS) 森海克斯8800/8600 winform版(停止维护) GT-12 winform版(停止维护)
测试通过的平台 windows10及以上 / Ubuntu 20.04 / macOS 14 (x64, Arm64) 蓝牙版支持windows 10及以上,无蓝牙版支持windows xp sp2及以上 windows 10及以上

支持的功能

- 森海克斯8800/8600/GT12通用版(Windows/Linux/macOS) 森海克斯8800/8600 winform版(停止维护) GT-12 winform版(停止维护)
原有的所有功能
高级信道编辑(顺序调整、复制粘贴等)
蓝牙写频(试验性) 仅8800 仅8800、仅蓝牙版支持
(以下为支持的插件)
开机画面修改
打星助手

其他说明

蓝牙

  • 插件默认只编译了x64的版本,需要其他版本请自行编译。
  • windows上没啥值得注意的,可以不勾选RPC方式写频(当然勾了也行,事实上更建议勾选)
  • linux和mac端同样直接写频即可,默认已勾选RPC

图片

v0.2.2后


v0.2.2前(不再维护)

编译指引

如有需要,您可以在Github Actions中直接下载Nightly Build

如您使用Rider,按照SenhaixFreqWriter.csproj中的注释选择合适的框架,直接publish即可!

如您使用命令行编译,按照SenhaixFreqWriter.csproj中的注释选择合适的框架后,可以参考.github/workflows/build.yml进行编译。

开发指引

  • 您可以自行实现跨平台版本写频软件的蓝牙功能,只需实现Utils/BLE/Interfaces/IBluetooth.cs中的方法即可。

  • 您可以自行修改SETTINGS.cs中的内容,手动启用不稳定的功能或修改默认设置:

    // 是否禁止在调试读写频时输出传输的数据,如禁用该选项可能极大降低HID读写速度!
    public static bool DISABLE_DEBUG_CHAN_DATA_OUTPUT = true;
    // 卫星数据默认目录
    public static string DATA_DIR = RuntimeInformation.IsOSPlatform(OSPlatform.OSX)
        ? $"/Users/{Environment.UserName}/Library/Containers/com.sydneyowl/Data"
        : ".";
    // RPC插件默认开启的服务地址
    public const string RPC_URL = "http://127.0.0.1:8563/";
    // 各操作系统版本的插件名称
    public static string WINDOWS_BLE_PLUGIN_NAME = "BLEPlugin_windows_x64.exe";
    
    public static string OSX_BLE_PLUGIN_NAME = "BLEPlugin_macos_x64";
    
    public static string LINUX_BLE_PLUGIN_NAME = "BLEPlugin_linux_x64";
    
    // RPC客户端的启动参数,可用--help查看;输出仅在开启调试功能时能看到!
    public static string RPC_CLIENT_PROCESS_ARGS = "--verbose --no-color --inside-call";
  • 蓝牙插件若有调试需要,需要手动编译,或勾选了“手动控制RPC”,编译具体操作如下:

    1. 编译仓库中ble_plugin文件夹内的go项目,即go mod tidy && go build
      • 在windows上编译,需要gcc编译器
      • 在macOS上编译,需要安装xcode
      • 在linux上编译,需要bluez
    2. 运行写频软件,在写频方式->蓝牙中勾选RPC方式以及”手动控制“;
    3. 直接双击打开编译产物,或者使用命令行指定参数:
    BLE RPC Client - Connect shx8x00 and c#
    
    Usage:
    BLE RPC Client [flags]
    
    Flags:
        --address string   RPC Server address (default "127.0.0.1")
    -h, --help             help for BLE
        --inside-call      Call from rpc server
        --no-color         No color output in console
        --port int         RPC Server port (default 8563)
        --run-test         Execute test
        --verbose          Print Debug Level logs
        --vverbose         Print Debug/Trace Level logs
    
    1. 在写频软件中点击蓝牙搜索,正常读频写频即可

FAQ

  • linux平台上写频需要sudo

  • windows上若无法正常使用蓝牙写频功能,可以试着反勾选“RPC方式”后重试

  • 如果在macOS上出现提示"无法打开,因为它来自身份不明的开发者",请在设置-隐私与安全性-安全性中手动允许应用运行。或者在命令行中执行命令:xattr -cr (.app包的路径)

  • 如在macOS上(在macOS13及以下可能出现该问题)无法正常使用蓝牙功能,请按如下步骤操作:

    1. 下载Release中的“macOS-ble-helper”;
    2. 打开写频软件后双击运行“macOS-ble-helper” ;
    3. 勾选“手动调用RPC”后正常使用蓝牙读写频即可。

其他

Warning

软件还在开发中,尚不稳定,欢迎提出 issues 和 pr!

卫星频率数据来源于amateur-satellite-database ,参考了业余无线电 FM 卫星频率表 进行了多普勒修正。可以在此处查看更多:https://forum.hamcq.cn/d/351

shx8x00软件原理:见 ble-connector 以及 config-editor

免责声明

  • 本软件仅供技术交流和个人学习使用。任何个人或组织在使用本软件时必须遵守中华人民共和国相关法律法规及无线电管理条例
  • 如因使用本软件造成数据损失,作者不承担任何法律责任。数据无价,提醒您注意备份!

版本日志

v0.1.a 加入了蓝牙写频和便捷的信道更改。

v0.1.0 修复了即使蓝牙已连接也可能提示串口未连接的问题;修正了删除或清空信道时单元格未清空的问题。

v0.1.1 修复了 DataGridViewX 报错问题以及集成(实验性)开机画面修改。

v0.1.2 增加操作指引以及蓝牙连接状态指示。

v0.1.3 修复了信道操作后,会自动跳回 0 信道,还得拖动滚动条下去继续操作的问题。

v0.1.4 优化 UI,加入 GT12写频软件。

v0.2.0 修复蓝牙写频结束设备断开后,重新连接设备时搜索不到设备的问题/升级dotnet版本到4.6.2 LTS/更新所用依赖版本

v0.2.1 加入打星助手,更换了“关于”窗体

v0.2.2 重写官方winform写频软件,实现跨平台,弃用winform版本软件

v0.3.0 加入对GT12的支持,修复了8800写频软件中亚音读取错误的问题,加入开机画面生成及修改功能,加入打星助手,通过rpc实现了跨平台的蓝牙写频功能支持

v0.3.1 优化使用插件的写频速度(linux和macOS),目前接近写频线速度

v0.3.2 允许打星助手自定义信道名称、频率及亚音,升级Avalonia版本,蓝牙插件性能改进

v0.3.3 禁用8600和8600pro不可修改的选项;在设备选择窗口中分离8x00为三个设备;禁用8600和8600pro窗口中的蓝牙选项;8600PRO的开机画面修改功能试验性支持;

致谢

  • SenHaiX的原版写频软件

  • Avalonia 的跨平台UI方案

  • tinygo的BLE方案

  • HIDSharp的HID交互方案

  • @rockliuxn 提供的图标,以及测试阶段的支持!

  • 提出issues和PRs的各位用户,感谢你们!

  • Jetbrains的Open Source License

许可证

本项目使用The Unlicense进行许可。

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <https://unlicense.org>