将 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 }