DumboRC DDF-350 发射机固件修改
ℹ️ 当前支持的固件版本 - 1.1.9 ℹ️
ℹ️ 当前修改版本 - 0.8.1 ℹ️
版本 0.8.x 目标为长期固件版本 1.1.9
版本 0.8.1
锁定 CH1 至 CH4
当主屏幕上的“锁定”功能启用时,CH1、CH2、CH3 和 CH4 将被“冻结”,即不受影响它们的控制操作的影响。“冻结”值为锁定激活前该通道上的最后一个值。
同时,它们仍可通过(例如)ProgMIX 影响其他通道。
示例:
- CH2 油门通过 ProgMIX 混合至 CH5,且 CH5 驱动模拟引擎声音模块。
- 油门扳机处于中立位置,CH2 为 0%。
- 锁定被激活。
- 按下油门扳机,但 CH2 值保持在 0%。
- CH5 混合仍然生效,CH5 值上升,模拟引擎声音模块发出轰鸣声。
示例:
- 配备绞盘的 4WS 车辆。
- 使用标准功能进行配置。
- 绞盘通过 Winch Mix 连接至 CH3。
- 后轴舵机通过 4WS Mix 连接至 CH4。
- CH1 在中立位置时微调设置为 5%。
- CH2 在中立位置时为 0%。
- CH3 在中立位置时为 0%。
- CH4 在中立位置时微调设置为 -7%。
- 锁定被激活。
- 转向、油门和绞盘输入被忽略,值保持在 5% / 0% / 0% / -7%。
我特别为冻结值这一想法感到自豪,它使得微调等设置在锁定状态下依然有效,以及我为实现该功能所采用的技巧。
版本 0.8.0
巡航控制 - 油门扳机覆盖
当巡航控制启用时(支持模式 1 和模式 2),且巡航控制油门大于 0% 时,正向拉动油门扳机可使油门值更高。
- 巡航控制已设置为模式 2(预设值),且预设源为 VR-6。
- 您启用 CC,并使用 VR-6 将油门设置为 60%。
- 如果您拉动油门扳机,且超过 60%,油门将相应增加。
- 如果您松开油门扳机,油门将回到 CC 设置值,即 60%。
在我驾驶过的所有实际车辆中,我发现这种行为非常自然,并且在遥控模型中与现实生活中具有相同的使用场景。这是一种在不改变整体速度的情况下,超越一辆车辆或追赶一辆车辆的方法。
移植自早期版本
EN 和 DE 的改进翻译:
- 无滚动。
- 减少歧义。
四节 NiMH 电池的发射机电池显示选项:
- 范围:4.0 伏特时为 0%,5.6 伏特时为 100%。
- 将发射机电压报警设置下限降低至 4.1 伏特。
参考表 电压 -> 显示百分比
| 类型 | 0% | 100% |
|---|---|---|
| 4AA | 4.0 | 6.0 |
| 2SLP | 6.0 | 8.4 |
| 3SLP | 9.0 | 12.6 |
| 4NiMh | 4.0 | 5.6 |
如何安装
⚠️ 重要提示:发射器对 USB 数据线非常挑剔。即使某根 USB 线能作为手机、电脑等设备的数据线使用,它也可能无法与发射器配合工作。⚠️
症状包括出现“USB 设备错误”或设备的 U 盘未显示。请逐一尝试不同的数据线,直到找到一根可用的为止。
⚠️ 在执行升级之前,请从发射器中取出电池。⚠️
⚠️ 从低于 1.1.5 的固件版本(原版或修改版)升级 ⚠️
如果您的当前固件版本低于 1.1.5(原版或修改版),您需要首先更新到原版 1.1.5 版本。
具体流程取决于您当前的版本。请参阅官方视频和网站以获取详细操作说明:
一旦成功更新到 1.1.5,请返回此处。您无需再次经历完整的启动更新流程。
升级 1.1.9 原厂 <-> 修改版或升级修改版版本
⚠️ 重要提示:始终使用干净的原始 1.1.9 固件文件开始打补丁,DDF.bin。请勿重用被先前修改版发布所修改的文件。⚠️
- 从 1.1.9 固件文件开始,
DDF.bin:- ⚠️ 始终将补丁应用于干净的原始二进制文件。⚠️
- 将补丁应用于之前已打过补丁的二进制文件_会_导致故障。
- 此模组仅适用于 1.1.9 下载版本。
- ⚠️ 始终将补丁应用于干净的原始二进制文件。⚠️
- 备份官方 1.1.9 文件:
- DumboRC 会从他们的网站上移除旧版本的固件。如果您想恢复到特定版本,或者我未能及时支持新版本,您获取原始文件的唯一可靠来源就是您的备份。
- 从这里](https://fusoya.eludevisibility.org/lips)下载工具 LunarIPS:
- 我_无法_分发官方固件,但可以分发我的 ROM 修改。
- 下载最新的
.ips文件:- 访问最新发行版。
- 在“Assets”下,找到并下载
.ips文件。
- 使用 LunarIPS 将我的“Romhack”应用于干净的原始 1.1.9 二进制文件:
- LunarIPS 会“就地”修改二进制文件。请确保您的备份保持完整。
- 确保您将其应用于
.bin文件,而不是.zip。 - 确保您将其应用于固件文件,而不是任何 boot 文件。
- 如果您在 LunarIPS 中看不到
.bin文件,请将过滤器更改为all files / *.*。
- 按照官方说明刷入修改后的二进制文件。为了方便起见:
- ⚠️ 从您的发射机中取出电池。⚠️
- 使用_具有数据传输功能_的 USB 线将发射机连接到计算机:
- ⚠️ 发射器非常挑剔;并非所有线缆都能正常工作。请尝试多条线缆直到找到可用的一条。
- 按住 CH3 和 CH4 按钮,然后使用电源按钮打开发射器。
- 屏幕会闪烁“黑色”,你会听到一声提示音。松开按钮。
- 在您的计算机上,会出现一个新的 USB 闪存盘。
- 运行官方
.bat文件以刷写镜像:- 手动复制_不_起作用,因为 Windows 会创建“System Volume Information”,从而干扰该过程。官方脚本会处理此问题。
- 在
.bat文件完成后,“安全弹出”闪存盘。 - 拔掉发射器。
- 重新连接发射器或插入电池。
- 打开发射器。新固件将自动刷写,您应该能看到变化。
- 享受吧!请给此仓库点个星或“关注”以获取更新。这些数字对我意义重大,并让我知道我的工作得到了社区的认可。
- 如果您觉得这有用,请考虑通过 Ko-Fi 或 GitHub Sponsorship(一次性或每月)进行支持。
已知限制
- 四节镍氢电池 0% 阈值为 4.0V 并不理想:
- 它与四节 AA 电池及最低报警电压一致。
- 发射机在低于 4.0 伏特时可能无法完全正常工作。
- 最低电压设置似乎为 4.1 伏特,由引导加载程序控制。我不会修改引导加载程序(初始化发射机的部分)。
安全、保修与责任
我不提供安全保证,并对任何损坏不承担责任。
我在自己的发射机上测试所有内容,因此我有“切身利益”。然而,我无法预测所有情况。
避免在重要活动的前一天进行升级。
开发详情
翻译
在 ChatGPT 的帮助下,我开发了用于导出和插入 UTF-8 字符串的 Python 脚本。虽然某些字符串过短、无法识别或偏移量不正确,但该过程相对顺利。
我建议创建或修改“翻译”文件,而不是直接编辑原始二进制文件。在原始二进制文件中跟踪更改很快就会变得混乱。
当前的 EN 翻译有 98% 令人满意。DE 翻译移除了滚动;欢迎提出建议。我推测 CN 翻译是好的。如果您想改进 FR,请创建一个 issue,我们将协作。
逻辑
从版本 1.1.3 开始,我开始公开发布我的 Ghidra 项目。这些项目允许您跟踪我的更改或协作进行自己的更改。
它仍然不是基于 Git 的,因为 Git 取代了常见的服务器存储。因此,如果你想做某些事情,请在 issues 中告诉我,我会确保上传我的最新更改,并暂停以允许你的更改通过。
你需要 Ghidra。我使用 Ghidra 11.3.2 Public
项目是在较早版本的 Ghidra 上启动的,将无法打开较新版本的 Ghidra。请相应地更新。
你需要将此仓库的 ./ghidra_repositories 文件夹设置为 server/server.conf 中的 ghidra.repositories.dir。
你需要在 server/server.conf 中禁用身份验证。
-
找到
wrapper.app.parameter.1=-a0,注释包含#的行,将下一个参数中的.2更改为.1。 -
对我来说,它现在看起来像
#wrapper.app.parameter.1=-a0
wrapper.app.parameter.1=${ghidra.repositories.dir}
你可以在 support/launch.properties 中将用户名设置为 user.name / VMARGS=-Duser.name=。或者默认情况下,你的用户名是操作系统用户名。
将你的用户名添加到此仓库的 ghidra_repositories/users 中,例如 YourName:*:*。我很荣幸能在那里不孤单。
我在 console 模式下运行服务器,因为我并不打算将其用作实际的网络服务器。
服务器运行后,启动 Ghidra 工具本身。
点击 "File","New project","Shared Project",服务器名称 "127.0.0.1"(我假设你在控制台中本地运行服务器),"Existing Repository","ddf-350-113"。
选择用于本地存储文件的文件夹。
要开始编辑,右键点击 .bin 文件并执行 "Check Out"。
当你进行了一些更改并希望保存时,执行 "Check In..."。
当你完成并希望共享更改时,执行 "Undo Checkout"。然后关闭 Ghidra,然后用 Ctrl-C 停止 Ghidra 服务器。
之后,在 git 中提交所有文件,推送。
要测试更改,请将 .bin 文件以“Raw Binary”格式导出到 translation 文件夹。如果你需要翻译,请使用 input.bin,否则只需使用 DDF.bin。
要为 input.bin 添加翻译,请运行 import_strings.py。
运行 update.bat,这只是一个带有详细翻译的官方更新脚本。流程与往常一样。
如果你刷入了错误的数据,只需再次刷入正常版本即可。
Ghidra scripts
将 ./ghidra_scripts 添加到 Ghidra 脚本管理器中,以从本仓库获取脚本。
rgb888_to_rgb565_color_visualizer.py - 根据传入的值设置对 RGB888_to_RGB565 的调用背景颜色。函数名称必须手动设置,应在 1.1.9 二进制文件中设置。
Feedback and Suggestions
如果你发现翻译问题或更好的措辞选择,请告诉我。我的主要目标是消除滚动,这曾导致我眼睛疲劳和头痛,并更新过时的术语。
对于反馈,请创建一个 issue 并附上图片和你建议的文本。
Legal Disclaimer
我与 DUMBORC、RadioLink 或任何相关公司没有关联,也未获得其认可。
所有固件和硬件均为其财产。我只分发我的修改,这符合衍生作品的概念。


