12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- const common = require('../../common.js');
- function bmsParameterTypeSetValue(device) {
- var cmd = '';
- switch (device.name) {
- case '0xAF':
- case '0x9D':
- case '0xB8':
-
- var value = device.name.slice(2) + common.dec2hex(device.value, 2);
- cmd = setBMSParams(value);
- break;
- case '0xBC':
-
- var value = device.name.slice(2) + common.dec2hex(1, 2);
- cmd = setBMSParams(value);
- break;
- case '0xAA':
- case '0xB9':
-
- var value = device.name.slice(2) + common.dec2hex(device.value, 8);
- cmd = setBMSParams(value);
- break;
- case '0xB0':
- case '0x92':
- case '0x95':
- case '0x99':
- case '0x97':
- case '0xA3':
- case '0xA6':
- case '0xA4':
- case '0xA2':
- case '0x9E':
- case '0x9F':
- case '0xA0':
- case '0xA1':
- case '0xAD':
-
- var value = device.name.slice(2) + common.dec2hex(device.value, 4);
- cmd = setBMSParams(value);
- break;
- case '0x90':
- case '0x91':
- case '0x93':
- case '0x94':
- case '0x96':
- case '0x9B':
- case '0x9C':
-
- var value = device.name.slice(2) + common.dec2hex((device.value - 0) * 1000, 4);
- cmd = setBMSParams(value);
- break;
- case '0x8E':
- case '0x8F':
-
- var value = device.name.slice(2) + common.dec2hex((device.value - 0) * 100, 4);
- cmd = setBMSParams(value);
- break;
- case '0xA5':
- case '0xA7':
- case '0xA8':
-
- var value = device.name.slice(2) + common.neInt2hex(device.value, 4);
- cmd = setBMSParams(value);
- break;
- case '0xCE':
-
- var value = device.name.slice(2) + common.dec2hex(1, 2);
- cmd = setBMSParams(value);
- break;
- default:
- cmd = '';
- }
-
- return cmd;
- }
- function setBMSParams(value) {
- var header = '4E57';
-
- var midType = '00000000020300';
- var end = '0000000068';
-
- const cmdLength = (midType + value + end).length / 2 + 6;
- var cmdLenHex = common.dec2hex(cmdLength, 4);
- var cmdList = common.hexToList(header + cmdLenHex + midType + value + end);
-
- var CRCHex = common.arrayToIntHex(cmdList);
-
- var cmdHex = header + cmdLenHex + midType + value + end + CRCHex;
- return cmdHex;
- }
- module.exports = {
- setBMSParams: setBMSParams,
- bmsParameterTypeSetValue: bmsParameterTypeSetValue
- };
|