开源改变世界

[BUG] 使用 CPU 周期计数实现的 Neopixel 库计时 – 请更改为 systick 或计时器。 #232

推推 grbl 2年前 (2023-02-06) 198次浏览
打开
Tygrys-1 开启了这个问题 2020 年 4 月 26 日 · 0 条评论
打开

评论

[BUG] 使用 CPU 周期计数实现的 Neopixel 库计时 - 请更改为 systick 或计时器。 #232
Tygrys-1 评论了 2020 年 4 月 26 日  

描述

我有 4 个 WS2812 LED 连接到板上的 Neopixel 输出。启动动画,打印期间白灯和打印后绿灯正常。在床加热阶段开始时,LED 大部分变为蓝色,但也有随机的绿色或青色甚至黑色 LED。该工件随时间而变化。在加热阶段,LED 会变成紫色,但有些会保持蓝色或不时变为其他颜色。当更多的 LED 变为紫色时,它不像手动“顺序更改”中所建议的那样。同样的情况是在加热床时 – 颜色主要是紫色和红色,但也有其他颜色的伪影。

重现步骤

  1. 我正在使用这个加热顺序来加快速度:
    M140 S60;开始预热床
    M104 S200 T0 ; 开始预热hotend
    G28 ; Home 所有轴
    M190 S60 ; 加热至 Cura Bed 设置
    M109 S200 T0;加热 Cura Hotend

  2. LED 将以随机顺序呈现不同的颜色,试图从蓝色变为紫色,然后变为红色,
    但以不一致的方式和颜色伪影。

预期行为
LED 应开始为蓝色,并在加热床的过程中逐渐变为紫色,然后在加热热端时从紫色变为红色。

实际行为
如上所述。

附加信息

STM32F1 的 BTT Neopixel 实现基于 CPU 周期计数,如果中断用于温度监控,则该方法会失败。它应该更改为基于计时器或系统的实现。
马林鱼.zip

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

1名参加者
[BUG] 使用 CPU 周期计数实现的 Neopixel 库计时 - 请更改为 systick 或计时器。 #232

喜欢 (0)