打开 porton1 打开了这个问题 2021 年 7 月 3 日 · 0 条评论 打开 Yaml_Settings 分支 – 浮点值在 WebUI JS 中不起作用#933 porton1 打开了这个问题 2021 年 7 月 3 日 · 0 条评论 注释 光子1 评论了 2021 年 7 月 3 日 我怀疑你也知道这一点。这代替了推送请求。 首先,嗯,恕我直言,这不是一个好主意,正如 JsonGenerator.cpp 中 item(const char* name, float& value, …) 版本第 90 行的代码转向使用隐式定点十进制整数所证明的那样. 我通过使用和分析 JS 发现,WebUI javascript 不关心你给它什么样的值,并且当作为类型“I”传递时“浮点数”工作得很好……WebUI JS 将接受您提供的任何内容并将其显示给用户,并且不会阻止用户在“I”整数字段中键入点,然后它会发送“您”他们碰巧在该字段中键入的任何内容,仅使用 javascript 更大的范围检查 -比和小于运算符(它们是多态的)。 所以我改变了 JsonGenerator.cpp::item() 的浮动版本的主体,如下所示: void JsonGenerator::item(const char* name, float& value, float minValue, float maxValue) { - int n = int(value * 1000); - item(name, n, int(minValue * 1000), int(maxValue * 1000)); + + // prh - rude "fix" for floats in WebUI + + enter(name); + char buf[32]; + sprintf(buf,"%0.3f",value); + _encoder.begin_webui(name, _currentPath, "I", buf, minValue, maxValue); + _encoder.end_object(); + leave(); + + // int n = int(value * 1000); + // item(name, n, int(minValue * 1000), int(maxValue * 1000)); } 这个,连同在我的其他相关“问题”中提到的对 ESP3D JS 的更改,几乎可以让设置在浏览器中工作,这是我在尝试将我的 vPlotter 东西添加为可配置对象之前想要的东西。 至于在上面的代码中将整数传递为最小和最大范围,我现在不想深究。我认为浮点范围的限制是整数有点“合理”。JS 不关心…它只使用“>”和“<”,无论类型如何。 对于这种通信的格式,我们深表歉意,这接近于作为推送请求会更好的东西。我仍然保持我的“Yaml_Settings”分支与主存储库的 HEAD 完全同步,以便轻松地将您的日常更改合并到我正在进行的工作中。 无论如何,再一次,早上好,我希望今天是美好的一天! 和平! – 帕特里克 porton1 添加了 漏洞 有些东西不工作标签 2021 年 7 月 3 日 免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论 受让人 无人分配 标签 漏洞有些东西不工作 项目 还没有 里程碑 没有里程碑 发展 没有分支机构或拉取请求 1名参加者
我怀疑你也知道这一点。这代替了推送请求。
首先,嗯,恕我直言,这不是一个好主意,正如 JsonGenerator.cpp 中 item(const char* name, float& value, …) 版本第 90 行的代码转向使用隐式定点十进制整数所证明的那样.
我通过使用和分析 JS 发现,WebUI javascript 不关心你给它什么样的值,并且当作为类型“I”传递时“浮点数”工作得很好……WebUI JS 将接受您提供的任何内容并将其显示给用户,并且不会阻止用户在“I”整数字段中键入点,然后它会发送“您”他们碰巧在该字段中键入的任何内容,仅使用 javascript 更大的范围检查 -比和小于运算符(它们是多态的)。
所以我改变了 JsonGenerator.cpp::item() 的浮动版本的主体,如下所示:
这个,连同在我的其他相关“问题”中提到的对 ESP3D JS 的更改,几乎可以让设置在浏览器中工作,这是我在尝试将我的 vPlotter 东西添加为可配置对象之前想要的东西。
至于在上面的代码中将整数传递为最小和最大范围,我现在不想深究。我认为浮点范围的限制是整数有点“合理”。JS 不关心…它只使用“>”和“<”,无论类型如何。
对于这种通信的格式,我们深表歉意,这接近于作为推送请求会更好的东西。我仍然保持我的“Yaml_Settings”分支与主存储库的 HEAD 完全同步,以便轻松地将您的日常更改合并到我正在进行的工作中。
无论如何,再一次,早上好,我希望今天是美好的一天!
和平!
– 帕特里克