diff --git a/FT8CN快速手册0.88版.pdf b/FT8CN快速手册0.88版.pdf deleted file mode 100644 index 4028bd7..0000000 Binary files a/FT8CN快速手册0.88版.pdf and /dev/null differ diff --git a/FT8CN软件设计初衷及使用说明0.88版.pdf b/FT8CN软件设计初衷及使用说明0.83版.pdf similarity index 80% rename from FT8CN软件设计初衷及使用说明0.88版.pdf rename to FT8CN软件设计初衷及使用说明0.83版.pdf index ec89c56..d01847c 100644 Binary files a/FT8CN软件设计初衷及使用说明0.88版.pdf and b/FT8CN软件设计初衷及使用说明0.83版.pdf differ diff --git a/LICENSE b/LICENSE index 6b770b0..3d2c258 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2023 BG7YOZ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -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 OR COPYRIGHT HOLDERS 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. +MIT License + +Copyright (c) 2023 BG7YOZ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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 OR COPYRIGHT HOLDERS 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. diff --git a/README.md b/README.md index 82781fc..f11d4d7 100644 --- a/README.md +++ b/README.md @@ -1,278 +1,8 @@ - -``` -免责声明: - FT8CN旨在研究的目的,学习如何对FT8信号进行解码、发射等操作,不对使用者操作本APP所产生的后果负责。 - 在中华人民共和国境内,使用FT8CN请遵守《中华人民共和国无线电管理条例》等相关规定。 - 考虑到手机的性能和续航的限制,对信号的处理采用轻量化的运算,未做深度解码等处理。 - 如有好的建议或问题可以提交到到”有问题要吐槽“。 - -Disclaimer -FT8CN aims to learn how to decode, transmit FT8 signal for research purposes, which is not responsible for the consequences caused by the user's operation. -Please comply with local laws and regulations when using FT8CN. -Considering the performance and endurance limitations of the mobile phone, the processing of the signal adopts lightweight operations instead of deep decoding and other processing. -Please click "FAQ" if you have good suggestions or questions . - - -BG7YOZ -2022-07-01 - - 2023-05-02(0.88) - 1.增加音频输出设置(位深、采样率)。 - 2.增加日志可以按条件查询并导出。 - 3.修改日志查询以时间为降序显示。 - 4.修正SWL QSO记录重复的问题。 - 5.针对各主流浏览器优化后台UI。 - - 2023-03-24(0.87) - 1.增加查询的通联日志结果在地图中定位显示功能。 - 2.增加FlexRadio仪表显示和参数设置(目前暂不支持发射)。 - 3.增加时间自动同步功能(服务器是Microsoft NTP)。 - 4.增加SWL模式,对解码消息以及QSO有保存和导出的功能(SWL的QSO认定标准:至少要有双方的报告,以及结束语73、RR73、RRR)。 - 5.丰富后台数据的查询功能。 - 6.修正后台查询“呼号与网格映射表”中距离计算的错误。 - 7.针对协谷G90S未来的新固件,调整电台型号选项。 - 8.解决解码消息较多时界面会卡顿的问题。 - 9.优化日志查询性能。 - - 2023-02-06(0.86) - 1.提高日志导入的健壮性,反馈格式错误的日志信息。 - 2.修正在推算SNR时,偶尔会出现数组下标越界造成闪退的问题。 - 3.修正导入日志后数量计算不准确的问题。 - - 2023-01-28(0.85) - 1.增加排除的呼号前缀功能(排除的呼号前缀的动作具有最高优先级,为自动程序排除掉不需要的呼叫)。 - 2.增加GridTracker中地图的日落日出灰线。 - 3.增加清空关注呼号列表功能。 - 4.增加清空缓存的通联QSO消息功能。 - 5.增加呼叫修饰符功能。例如 CQ POTA xxxxxx xxxx、或CQ DX xxxxxx xxxx。修饰符范围是000-999,A-Z,AA-ZZ,AAA-ZZZ,AAAA-ZZZZ。 - 2023-01-08(0.84) - 1.优化地图的色彩模式。 - 2.修补因线程不同步,导致提示消息操作闪退的问题。 - 3.解决部分日志字段表述不标准,造成导入日志失败的问题。 - 4.优化呼号的哈希表处理。 - 2023-01-07(0.83) - 1.增加自由文本发射功能。 - 2.修改因Execute-only memory violation错误造成的闪退问题。 - 3.修改某型号电台设置错误的问题。 - 4.修改日志导入导出操作,增加导出日志中确认字段,通过导入日志自动更新确认项。 - 5.排除多个内存泄漏点。 - 6.解决部分日志QSO中对方网格不准确的问题。 - 7.解决长期在网格追踪的界面下,会息屏的问题。 - 2022-12-31(0.8.1) - 再见,2022!愿明天更好! - 注意!此版本数据库结构有更新,升级前,请导出日志备份,升级后,将无法回退到旧的版本。 - 注意!此版本开始支持ICOM的网络控制功能,建议使用电台的WIFI连接手机的AP(优先选项),或手机连接电台的AP。 - 注意!不建议使用路由器来连接,如果路由器的性能不够,会造成发射音频是丢包!!! - 1.增加ICom系列电台的网络(Wifi)支持。 - 2.增加ICom系列电台驻波比、ALC值过高警告功能。 - 3.增加建伍TS系列电台驻波比、ALC值过高警告功能。 - 4.增加YAESU各系列电台驻波比、ALC值过高警告功能。 - 5.增加Elecraft系列电台驻波比、ALC值过高警告功能。 - 6.增加ICom部分电台在不同的连接方式下,自动切换Connectors的Data mode。 - 7.增加调整信号强度功能,用于调节ALC。 - 8.增加支持3位呼号的呼叫能力。 - 9.增加支持的电台。 - 10.增加获取最新版本的入口。https://github.com/N0BOY/FT8CN/releases - 11.增加呼号与网格的映射表(升级数据库)。 - 12.增加地图可视化展示功能(类似于GridTracker)。 - 13.增加在地图中呼叫的能力。 - 14.解决部分设备在处理音频数据时,因内存抖动造成程序崩溃的问题。 - 15.解决部分消息的QTH不准确的问题。 - 16.修正了在一些情况下,发射条目上有分区图标显示的问题。 - 17.修正了发射含有3位呼号消息时闪退的问题。 - 18.优化频谱图,解决低辨率下文字信息显示不正常的问题, - 19.更新部分地区的坐标 - 20.优化消息列表处理策略,减少内存抖动。 - 21.修正当达到无回应阈值,切换目标呼号后,提示消息没有随之变化的问题。 - 22.解决部分非标准呼号地理位置无法解析的问题。 - 23.修正因高版本安卓及高版本ARM64的内存访问机制造成异常崩溃的问题。 -2022-11-08(0.79) - 1.协谷X6100的操作模式改为U-DIG模式。 - 2.把音频数据格式从16位整型改为32位浮点模式。 - 3.修正FFT过程存在内存泄漏的问题。 - 4.增加Flex-6000系列网络连接模式支持,目前仅支持接收,不支持发射。 - 5.增加禁止锁屏休眠。 - 6.控制历史消息数量(暂时设置在3000条以内)。 - 7.增加全屏模式。 - 8.增加快速切换频率。 - 9.修正部分电台(iCOM、协谷)因数据传输质量不好造成闪退的问题。 - 10.修正对小于6位的非标准呼号识别错误的问题。 - 存在的问题: - 1.连接Flex电台,只能在同一网段内,暂时没有增加输入IP直接连接的方式。 -2022-11-18(0.79 Patch 4) - 1.解决部分设备解码按钮失效的问题。 - 2.增加连接Flex电台,可以用输入IP的方式直接连接,解决跨网段连接的问题。 -2022-10-06(0.78) - 1.继续优化自动程序逻辑,修正自动呼叫打开时,目标不专一的问题。 - 2.对日志删除动作,弹出删除确认对话框。 -2022-10-01(0.77) - 1.修改统计按波段统计大小写被区分的问题。 - 2.对曾经通联过的呼号,不在当前波段的,以蓝色字体颜色显示。 - 3.新增电台型号。 -2022-09-24(0.76) - 1.调整历史通联呼号规则,以波段(波长)区分。 - 2.修改发射监管会自减的错误。 - 3.继续解决日志信号报告不准确的问题。 - 4.继续优化自动程序策略。 -2022-09-17(0.75) - 1.继续修改通联日志的信号报告问题(信号报告反了、数值不准确)。 - 2.增加针对安卓12,申请蓝牙连接权限。 - 3.针对某型号电台,USB线连接后指令反应不及时的问题,启用延时发送指令。 - 4.YAESU FT450D的操作模式改为USER-U模式。 - 5.继续优化自动程序,调整自动程序的运行机制,自动记录日志提前。 - 6.退出应用时,如果处于发射状态,自动关闭PTT。 - 7.解决带哈希呼号的消息因过采样造成重复的问题。 - 8.增加日文、希腊、西班牙UI。 - 9.修正关注的消息不在同一频段内自动呼叫的错误。 -2022-09-09(0.74) - 1.增加英文版帮助。 - 2.呼号查询结果以时间降序显示。 - 3.ICOM电台,操作模式改为USB-D模式。 - 4.增加对呼号的QRZ查询功能。 - 5.修正了日志中信号报告值不严谨的问题。 -2022-09-03(0.73) - 1.修正某些日志起始时间不准确的问题。 - 2.优化对为通联过的分区标注。 - 3.基于消息的历史,把没有网格报告的消息也标注出距离。 -2022-08-28(0.72) - 1.解决自动程序中自己呼叫自己的问题。 - 2.对通联成功的呼号以通联成功的频率做出区分。 - 3.丰富了一下后台”跟踪运行信息“内容。 - 4.重新增加通联记录中呼号查询列表,并调整了显示的内容。 - 5.解决因数组下标溢出导致闪退的问题。 - 6.减少权限申请,取消存储权限,保留麦克风、位置权限(可以拒绝)。 - 7.解决没有麦克风权限造成闪退的问题。 -2022-08-27(0.71) - 1.优化发射周期PTT打开的时长,确保接收消息周期的完整。 - 2.解决Q900蓝牙发送、接收音频适配的问题,真正实现蓝牙控制、音频收发能力。 - 3.美化在消息的分区标注。 - 4.新增电台支持。 - 5.解决有时新增消息后,消息列表不自动上移的问题。 -2022-08-22(0.7) - 1.加入DXCC分区数据统计。 - 2.加入ITU分区数据统计。 - 3.加入CQ分区数据统计。 - 4.对各频段的距离做统计。 - 5.对未通联过的DXCC、ITU、CQ分区呼号做标注。 - 6.解决前缀1位字母2位数字呼号计算不准确的问题。 -2022-08-13(0.63) - 1.修正了对非标准呼号的认定,解决对部分非标准呼号计算错误的问题。 - 2.继续优化了一些布局(尤其是横屏)。 - 3.增加了繁体位置信息。 -2022-08-11(0.62) - 1.把FT-817/818系列的工作模式由USB改为DIGI模式。 - 2.把发射消息回显到呼叫栏中。 - 3.解决部分设备在手动中断发射时,闪退的问题。 - 4.解决我的呼号为空时,发射闪退的问题。 - 5.解决某型号电台控制问题。 - 6.增加英文语言包。 - 7.优化了布局。 -2022-08-06(0.6) - 1.重构与电台有关的底层架构,适应多型号电台。 - 2.完成国赫,YAESU,KENWOOD部分型号电台的指令集。 - 3.完成通过蓝牙串口(SPP模式)进行控制功能。 - 4.实现对蓝牙音频的采集。 - 5.修改了规则,不能自己呼叫自己。 - 6.增加了对非标准呼号、复合呼号的支持。 - 7.增加了发射时,如果采集不到声音,会把发射的消息提交到呼叫列表。 -2022-07-17(0.51) - 1.在BA2BI的帮助下,解决频段波长不正确的问题。 - 2.修复设置页面载波频段列表内容重复的问题。 - 3.解决DTR不能发射的问题。 - 4.增加电台频率变化后,保存电台的频率值,如果通联成功,以电台频率为准。 - 5.增加对WSPR-2频率的保护功能,当电台选择的频率在WSPR-2的范围内,禁止发射。 - 6.解决0.5版日志中对方呼号没有网格信息的问题。 - 7.解决0.5版对自动关注的CQ目标不自动呼叫的问题。 - 8.解决了后台无法删除关注的呼号问题。 - 9.添加发射、监听的进度条。 - 10.增加日志导入导出的同步功能,并自动LoTW确认。 - 11.增加手工确认。 - 12.增加电台PTT响应延迟设定。 - 13.增加在消息列表中向左滑动开始快速呼叫(本周期前2.5秒内起作用)。 - 14.对日志导出中,增加了”今天的日志“。 - 15.解决无法删除带斜线的呼号问题。 - 16.通联记录查询添加简单的过滤功能。 -2022-07-10(0.5) - 此版本属重大更新。完善了自动程序,增加日志查询,导出功能。到此,基本完成一个可以具备通联能力的APP。 - 此外,还有如下变化: - 1.修复瀑布图文字重叠问题。 - 2.增加电台支持,以及波特率。 - 3.修复当没有定位权限,启动崩溃问题。 - 4.增加DTR支持。 - 5.修复一些随时发现的小错误。 - 6.增加自动发射的监管。 - 7.增加自动关注CQ开关。 - 8.增加自动呼叫关注的呼号开关。 - 9.增加对消息偏移时间过长做标注。 - 存在的问题: - 1.如果对方是从第2个消息开始呼号我,保存的日志中就没有对方的网格,其实在消息上下文中存在对方的网格信息。 - 2.如果自动关注CQ消息,并打开自动回复关注开关,当有CQ的消息时并不回复。 - 以上问题将在下一个版本中解决。 -2022-07-02(0.44) - 1.增加问题收集反馈的入口。 - 2.修正在设置页面会闪退的BUG。 - 3.把x5105加到设备列表中。 -2022-07-01(0.43) - 1.在BG7IKK的帮助下,解决部分电台使用RTS控制PTT的问题。 - 2.BI1NIZ注册了一个项目问题收集反馈和FAQ的账号。 - 3.在频谱的标尺上加了发射频率的红色标记。 -2022-06-30(0.42) - 1.BH7ACO帮助解决了协谷X6100的驱动。(未解决的问题,协谷6100有时会莫名断开,解决办法:设置SSB模式的指令延迟1秒发送,解决得不够理想) -2022-06-29(0.41) - 1.反馈705、7100、7300控制测试成功。 - 2.BH2RSJ帮助建立了一个APP测试群,群成员在陆续反馈使用的情况,提出了一些修改意见。 - 3.修改了一下启动方式,确保配置参数能按时读入。 - 4.修改了对电台修改频率,会把filter变为FIL2的错误。 -2022-06-27 - 1.增加了电台CAT控制功能,目前支持部分ICOM系列电台。目前只对IC-705做测试成功,因为手中没有ICOM的其他型号,不清楚串口的驱动能否识别并使用。 - 2.查找到可以支持CI-V指令控制的ICOM电台列表,以及各型号电台的默认地址。 -2022-06-20 - 1.增加了帮助功能 - 2.增加了瀑布图的标记功能 - 3.对android 10版本以上的深色模式做了一些适配 - 4.更换了图标(BG7YOY设计) - - - -致敬: - Steve Franke(K9AN)、Bill Somerville(G4WJS)、Joe Taylor(K1JT),提出FT8和FT4协议(FT是Franke和Taylor的首字母),并在论文《The FT4 and FT8 Communication Protocols》详细介绍了FT4和FT8的设计初衷和在WSJT-X中的具体实现细节,成为完成本APP的根本指南。 - Karlis Goba(YL3JG)在代码的具体实现上提供了参考。 -鸣谢: - BG7YOY,在FT8CN开发阶段为我在无线电基本理论上作出指导,并为FT8CN设计了图标。 - BG4IGX,在我刚刚入门业余无线电时为我在具体实践上作出指导。抖音上您可以搜到很多他的教学视频。 - BD7MXN,帮助我对部分电台的连接控制做了一些测试,并提出改进建议。 - BH2RSJ,帮助我建立了一个FT8CN测试群,为测试和后续改进提出了很多宝贵意见。 - BH7ACO,帮助解决了某电台的驱动和相关的配置参数。 - BG7IKK,帮助解决了只支持通过RTS控制PTT发射的电台的测试。 - BI1NIZ,帮助注册账号,用于收集问题反馈和FAQ的功能。 - BD3OOX以及石家庄业余无线电俱乐部,FT8CN的呼号地区归属数据提取至JTDX石家庄版,使呼号定位可以精确到中国的省级。 - VR2UPU(BD7MJO),在FT8的开发和使用经验上提供指导,并在多语言方面给予帮助。 - BA2BI,在业余无线电的基础知识和通联的日志处理方面上给予帮助和指导。 - BI3QXJ,在对某品牌系列电台的指令集上给予专业性的指导。 - BG6TQD,在对某型号电台的指令集测试上给予帮助。 - BG5CSS,提供某型号电台用于测试。 - BG7YXN,提供某型号电台用于测试。 - BG7YRB,对呼号规则运算提供帮助。 - BG8KAH,提供设备用于测试。 - BA7LVG、JE6WUD,完成日文的翻译校对工作。 - BG6RI,帮助解决日志的信号报告问题。 - SV1EEX,完成希腊文、西班牙文UI的翻译工作。 - VR2VRC,帮助修正历史呼号读取规则。 - BA7NQ,提供设备用于测试。 - BD7MYM,对某型号的电台测试给予指导。 - NØBOY,帮助提供Github源,以及翻译工作。 - BG5JNT,帮助修正非标准呼号的识别问题。 - BH3NEK,协助对某型号电台进行测试。 - BG2ALB,协助对某型号电台进行测试。 - BG6DRU,协助对某型号电台进行测试。 - BG7NQF,提供某型号电台的隐藏指令,对一些设备做兼容性测试。 - BH2VSQ,协助对某型号电台进行测试。 - BG7YBW,协助对部分功能惊醒测试。 - BH1RNN,协助对部分功能进行测试。 - BG7BSM,协助对一些BUG进行调试。 - BH4FTI,发现并协助对一些BUG进行调试。 - BG8BXM(M哥),为FT8CN的使用做推广,抖音和B站上有很多他的教学视频。 - BG7MFQ,为FT8CN的使用做推广,帮助测试。 - - -``` +# FT8CN +Developed by BG7YOZ and hosted by N0BOY + +Run FT8 natively on Android + +Check [Releases](https://github.com/N0BOY/FT8CN/releases) to download the latest apk file. + +(More info coming up soon, check back in a while) diff --git a/ft8CN/.gitignore b/ft8CN/.gitignore old mode 100644 new mode 100755 diff --git a/ft8CN/.idea/.gitignore b/ft8CN/.idea/.gitignore old mode 100644 new mode 100755 diff --git a/ft8CN/.idea/.name b/ft8CN/.idea/.name old mode 100644 new mode 100755 diff --git a/ft8CN/.idea/compiler.xml b/ft8CN/.idea/compiler.xml old mode 100644 new mode 100755 index 3f44570..fb7f4a8 --- a/ft8CN/.idea/compiler.xml +++ b/ft8CN/.idea/compiler.xml @@ -1,8 +1,6 @@ - - - + \ No newline at end of file diff --git a/ft8CN/.idea/deploymentTargetDropDown.xml b/ft8CN/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 42a20ea..0000000 --- a/ft8CN/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ft8CN/.idea/gradle.xml b/ft8CN/.idea/gradle.xml old mode 100644 new mode 100755 diff --git a/ft8CN/.idea/inspectionProfiles/Project_Default.xml b/ft8CN/.idea/inspectionProfiles/Project_Default.xml old mode 100644 new mode 100755 index 211837e..0b687d1 --- a/ft8CN/.idea/inspectionProfiles/Project_Default.xml +++ b/ft8CN/.idea/inspectionProfiles/Project_Default.xml @@ -6,8 +6,5 @@