记录无人机RBG灯的意思

记录无人机RBG灯的意思 DEFINE_COLOUR_SEQUENCE是一个宏用于生成一个32位整数。这个整数被划分成10个“帧”每一帧占用3个位bit用来编码一个颜色值。YELLOW就是一个预定义的颜色常量它被定义为GREEN | RED的组合因为黄色就是由红和绿混合而成的。把这行代码展开来看它的含义是时间片 (Step)0123456789颜色值YELLOWYELLOWBLACKBLACKYELLOWYELLOWBLACKBLACKBLACKBLACKLED状态亮 (黄)亮 (黄)灭灭亮 (黄)亮 (黄)灭灭灭灭 实际视觉效果在update()函数中系统每隔100毫秒AP_HAL::millis()/100前进一个时间片。因此上面的定义会产生如下视觉效果第0-200ms黄色亮起 (YELLOW, YELLOW)第200-400ms熄灭 (BLACK, BLACK)第400-600ms黄色再次亮起 (YELLOW, YELLOW)第600-1000ms长时间熄灭 (BLACK, BLACK, BLACK, BLACK)这样人眼看到的模式就是“闪、灭、闪、长灭”也就是我们所说的“双闪黄灯”用来明确提示飞手“预检失败请检查地面站”。所以这行代码就是闪黄灯模式的“乐谱”而update()函数就是那个“演奏家”按照这个乐谱指挥LED灯亮灭。如果你把其中的YELLOW改成RED它就会变成双闪红灯。这种代码设计让你可以通过修改这个序列轻松定制任何想要的闪烁模式。