Contact me: hankecnc@gmail.com

显示修复 #183

推推 grbl 3年前 (2023-01-25) 400次浏览
新问题

显示修复 #183

 关闭
 想要合并 10 致力于  从 

对话

显示修复 #183

在使用ADAFruit 1.8”显示器进行测试时,我注意到当菜单中没有移动时,菜单选择器字符上会出现一些闪烁。

代码来自bkubicek的原始LCD提交,我认为有一些反向逻辑和一个小的“补丁”错误。我已经尽我所能,建议包括修复,为我工作(在标准的Ultrapanel设置),并已删除闪烁(通过不不断做不必要的更新)。

显示修复 #183
作者

添加了全速故障时回退到半速SD卡的请求

显示修复 #183
作者

针对较大显示器的两个修复(使用Adafruit 1.8英寸显示器-http://www.adafruit.com/products/358-可生成17行。)

图片请参见:
http://www.flickr.com/photos/soerup/7376591242/in/photostream
http://www.flickr.com/photos/soerup/7376591554/in/photostream/

显示>“状态”时允许4行,并将curencoderpos设置为上限,以避免运行在最后一行后面,并不得不将其全部返回。

显示修复 #183

很想知道你是怎么把这个显示器和你的打印机连接起来的。 您是否正在使用RAMPS? 你是怎么把它连接到你的arduino上的(从照片上很难分辨)。干得好!

显示修复 #183
作者

你好,

这是一个斜坡-在图片中的一个只是一个模拟板,我用来开发。

我已经有线显示器几乎到标准引脚建议的一个Mega由Adafruit。

如果你在Github中查看我的分支上的“mydisplay”分支,你可以找到引脚分配,但那不是一个干净的分支-所以要小心。

请参见https://github.com/soerup/marlin/blob/mydisplay/marlin/pins.h

333-335号线
279号线

该分支是相当丑陋的,因为它取决于在您的Arduino安装修改,所以谨慎行事,如果你绊倒了什么不要犹豫,与我联系…

显示修复 #183
贡献者

这个补丁还准吗?它很老了,我看到一些奇怪的变化,它不再合并干净。

显示修复 #183
作者

嗨,它是相当旧的,但在本质上,它仍然指向一个解决方案的一个(据我所知)错误,在当前的代码。

大部分的变化可以很容易地应用于当前版本,如果有一个真正的兴趣得到这个补丁到主分支,我很乐意更新它。

你觉得这些变化的哪些部分很奇怪?

显示修复 #183
贡献者

我不知道这个补丁想修复什么。您指出已修复问题,但不确定尝试修复的内容。我也看不出这和阿达果的展示有什么关系…

我不得不承认,我没有花太多的时间看它,因为我试图清理开放的拉取请求,并希望清理开放的问题列表。有很多东西要看,最有可能的是,很多不活跃的问题。

注意,我计划对LCD代码进行一些主要的结构调整。因此,如果您有任何功能建议,你想要的,现在是时候告诉我;-)

显示修复 #183
作者

它修复了几个问题:

1:编码器不移动时,菜单选择器字符不断更新(ultralcd. h中的反向逻辑)

2:稍微清理一下“?“真和假的结果相同的条件

3:有可能运行的方式过去的下端菜单,你必须风编码器所有的方式得到菜单回来(也在ultralcdiderh)

4:代码限制为==4,而不是>=4,这将大于4行的显示缩小为2行代码(在ultralcd.pde中)

5:半速SD初始化是访问Adafruit的SD卡所必需的,看起来是一个安全的回退。(读卡器. cpp)

当你重组LCD/SD支持时,我真的希望看到菜单/状态逻辑和显示代码的分离,用一个简单的界面来支持多种显示类型和输入。

由于显示器有不同的尺寸,如果代码是模块化的,那么它就很好了,这样它就可以配置为例如日志区、菜单区和状态区,以及当前的设置,在当前的设置中,这些区域可以相互替换,以获得更小的显示器。

(我想如果你有兴趣的话,我可以在什么地方挖出这个建议的图片)

显示修复 #183
贡献者

我知道你想弥补什么了。接下来的两天我有其他事情要忙碌。但我不会忘记这些修复。我希望从星期一开始。

我对你的建议也很感兴趣。我确实想让它更模块化,我注意到Arduino的LCD库效率非常低。而且菜单代码是一个巨大的混乱与代码重复。

显示修复 #183
作者

别担心,我已经耐心地坐了几个月了,所以任何以天为单位衡量的东西都是升级:)

如果您想更详细地讨论模块化设置,请告诉我,我的背景更多是来自内存拥抱英特尔平台开发,所以也许我对抽象的愿望在嵌入式世界中并不理想,但我确实看到了支持各种硬件(正在增长)的优势。

我建议通过抽象支持编码器、操纵杆和按钮作为输入-以及任何大小的显示器,同样通过一个简单的方法接口。

在实验中(与最小侵入性的变化),我已经尝试了一个接口的液晶显示器与不到10个功能-这将涵盖基本的,而多一点是需要的,使它与颜色等花式(或者它可以留给显示器与一些设计选择).

显示修复 #183
贡献者

我同意这个删减,我认为它可以在不影响代码大小的情况下完成。(As只要你不做任何愚蠢的事情,比如使用C++的子类)

我有一个很好的背景与嵌入式AVR控制器,尤其是较小的与2K或8 K闪存。我已经成功地制作了一个新的Arduino引导装载程序,它可以在大约7 K的闪存中执行LCD、SD和STK 500 V2协议。
我想现在大多数在Arduino工作的人已经很高兴了,如果他们有工作的话。这对我来说并不特别,让它在最小的flash/ram和运行时间下工作,这就是它变得棘手的地方。

显示修复 #183
作者

听起来不错。

我希望你能抽出点时间来看看这个。我已经建立了一个相当好的测试副本,我的打印机,所以我可以很容易地挂接几个显示器和测试对一个改进的代码库。(If你按照上面的Flickr链接,它实际上是那个测试平台的,而不是我从我的打印机)。

显示修复 #183
贡献者

这是一个巨大的优势,Ultimaker雇用了我,所以我有时间做这样的事情。有些人担心我会突然开始做一些对RepRaps不利而对Ultimaker有利的事情。但我可以保证,我想做最好的3D打印,RepRap或半RepRap(像ultimaker)。

显示修复 #183
作者

离题警告:不知道你是受雇于终极制造商,这是伟大的。恭喜你。毫无疑问,把它作为一份工作可以让我扮演一个更积极的角色,我对这个社区感到乐观。

显示修复 #183
贡献者

嗨,爸爸,我看到你在问LCD功能的建议。对我来说显而易见的一个–似乎早就应该–是液晶显示器在从主机打印时有更多有用的内容。至少,我希望当从主机打印时,它可以提供标题/文件名,完成百分比和剩余时间(复制,以便与主机显示一致)。这显然需要创建一个新的Gcode,以允许主机更新打印状态值,但我相信主机支持将很快被采用。

显示修复 #183
贡献者

恕我直言,糟糕的计划,USB串行连接已经超载了。

显示修复 #183
贡献者

只是出于兴趣,你说超载是什么意思?

显示修复 #183
贡献者

满了,塞满了,带宽耗尽了。

显示修复 #183
贡献者

这就是为什么我运行我的Sanguino在1 Mbps。但是你需要FTDI收发器,我听说RAMPS没有。嗯,当RAMPS的拥有者真糟糕;)
尽管如此,添加一个可以打开/关闭的功能将是明智的。只要有人愿意做;)

显示修复 #183
贡献者

我明白你的意思–我仍然认为这是一个需要解决的重要特性。您可以设置主机计算文件将完成的行号(而不是定期更新),这样它几乎不消耗带宽。主机可以提供固件可以从其倒计时的初始时间估计(不需要频繁更新)。

显示修复 #183
贡献者

顺便说一句,我创建了一个主题上的reprap论坛,以获得一些讨论,而不是在这里做:http://forums.reprap.org/read.php?146,165656,165656编号信息-165656

显示修复 #183
贡献者

仅供参考,我更新的LCD代码修复了这些问题。因此,我可以在合并这些更改后立即关闭它。离目标越来越近了。我刚刚合并了我的温度测量清理。因为新的LCD代码依赖于此。

我还分离了菜单和显示逻辑。因此,当我们切换到图形LCD时,我们可以:

  • 创建一个不同的状态屏幕,其中包含较大的文本,例如温度。因此,即使在远处,您也可以随时读取温度。由于状态屏面的布局取决于“显示实现”,而不是菜单结构。
  • 更改所选行的显示方式。您可以将其反转,而不是在前面加上“>”,或者在彩色LCD的情况下,在其后面加上背景色。
  • 这也抽象了日立控制器实现中使用的“自定义字符”。所以你可以在图形液晶显示器上做不同的事情。
    – 新的LCD菜单逻辑使添加/删除/移动菜单与配置设置和其他功能变得容易。
显示修复 #183
贡献者

那真是太好了–我一直在屏息等待着那个变化。在重构完成之前,我没有看到在LCD区域做更多事情的意义。

显示修复 #183
贡献者

如果你愿意,我可以给予你一份我最新的代码。但我希望这周能把它合并。

我还制作了一个构建工具来测试各种构建,但是大多数目标仍然失败,因为缺少Arduino文件,再加上我使用的是Arduino 1.0.2
http://daid.mine.nu/~daid/ci/

显示修复 #183
贡献者

不错的CI工具–我也很喜欢你在拆分ArduinAddons方面所做的工作。
我很乐意采取的液晶显示器代码的副本,并发送给你任何意见,如果你想。你可以PM我的UltiMaker论坛,如果你需要(buildrob)。

显示修复 #183
贡献者

我已经合并了所有更改,现在可以关闭了吗?

显示修复 #183
作者

我现在在路上,下周一回家就测试。