将 C 格式传递给 nodejs 缓冲区
passing C format to nodejs buffer
我正在尝试使用来自 node.js 的 blinkm led 使用节点 i2c-bus 包。
我遇到的问题是 blinkm 期望使用格式设置 LED 的颜色
{'n',R,G,B}
,实际上是 {'n',0xff,0xee,0x30}
.
使用 i2c 总线,我将上述格式作为缓冲区传递,因此在节点中,我编写了此函数以获取 rgb 对象并return它作为正确格式的缓冲区
function formatBuffer(val) {
return new Buffer({'n', val.r , val.g, val.b});
}
然后用
调用它
formatBuffer({r:0xff, g:0xee, b:0x30});
不幸的是,这 return 是一个错误 unexpected token ,
,我假设它是 'n'.
之后的第一个逗号
我试过将值包装在一个字符串中,这并没有通过错误,但似乎也不起作用。
关于如何解决这个问题并将正确的格式通过 javascript 传递给 blinkm led 有什么建议吗?
因为{ '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 }
我正在尝试使用来自 node.js 的 blinkm led 使用节点 i2c-bus 包。
我遇到的问题是 blinkm 期望使用格式设置 LED 的颜色
{'n',R,G,B}
,实际上是 {'n',0xff,0xee,0x30}
.
使用 i2c 总线,我将上述格式作为缓冲区传递,因此在节点中,我编写了此函数以获取 rgb 对象并return它作为正确格式的缓冲区
function formatBuffer(val) {
return new Buffer({'n', val.r , val.g, val.b});
}
然后用
调用它formatBuffer({r:0xff, g:0xee, b:0x30});
不幸的是,这 return 是一个错误 unexpected token ,
,我假设它是 'n'.
我试过将值包装在一个字符串中,这并没有通过错误,但似乎也不起作用。
关于如何解决这个问题并将正确的格式通过 javascript 传递给 blinkm led 有什么建议吗?
因为{ '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 }