我正在尝试使用节点i2c-bus包中的node.js引导的blinkm。
我遇到的问题是blinkm期望使用格式设置led的颜色
{'n',R,G,B}
,实际上是{'n',0xff,0xee,0x30}
。
使用i2c-bus,我将上述格式作为缓冲区传递,所以在节点中,我编写了这个函数来获取一个rgb对象,并以正确的格式将其作为缓冲区返回
function formatBuffer(val) {
return new Buffer({'n', val.r , val.g, val.b});
}
然后用
调用它formatBuffer({r:0xff, g:0xee, b:0x30});
不幸的是,这会返回一个错误unexpected token ,
,我假设它是'n'之后的第一个逗号。
我已经尝试将值包装在字符串中,这不是通过错误,但似乎也不起作用。
有关如何解决此问题以及通过javascript将正确格式传递给blinkm的任何建议吗?
答案 0 :(得分:1)
因为{ 'n', val.r , val.g, val.b }
不是对象格式(缺少键)。更改为数组[0x6e, val.r , val.g, val.b]
或{ 'key1': 0x6e, 'key2': val.r , 'key3': val.g, 'key4': val.b }