使用 javascript 生成特定的校验和

Generate a specific checksum with javascript

对于节点红色函数,我需要生成校验和:

Set Color = 0x31 RED GREEN BLUE WW CW TRUE FALSE CHECKSUM

Set Blue 7% = 0x31 0x00 0x00 0x07 0x0 0x0 0xFO 0xOF 0x37

校验和是通过将所有位相加然后用 0xFF 屏蔽来计算的。

如何使用 javascript 做到这一点?

data = [];
data[0] = 0x31; //Mode
data[1] = 0x00; //RED
data[2] = 0x00; //Green
data[3] = 0x07; //Blue
data[4] = 0x00; //WW
data[5] = 0x00; //VW
data[6] = 0xF0; //True
data[7] = 0x0F; //False
var x = checksum(data);
function checksum() {
return 0x37; //calculate checksum here
}
data[8] = x; //Checksum
msg.payload = new Buffer(data);
return msg

如果"adding up all the bits",你的意思是"sum all integers in data":

var sum=0;
for( var i=0; i<data.length; i++ )
    sum += data[i];

return (sum & 0xFF);