71 lines
2.4 KiB
JavaScript
71 lines
2.4 KiB
JavaScript
function Decode(fPort, data, variables) {
|
|
if (fPort === 13) {
|
|
return [
|
|
{
|
|
led_state: bytes[0] === 0 ? "Off" : "On",
|
|
mtm_code_1: bytes[1],
|
|
mtm_code_2: bytes[2],
|
|
hw_code: bytes[3],
|
|
battery_level: bytes[4] + "%",
|
|
size_value: bytes[5],
|
|
spot_cnt: bytes[6] + " blocks",
|
|
spillage_level: bytes[7] + "%",
|
|
top1_position: "X= " + bytes[8] % 10 + " Y= " + parseFloat(bytes[8] / 10).toFixed(0),
|
|
top2_position: "X= " + bytes[9] % 10 + " Y= " + parseFloat(bytes[9] / 10).toFixed(0),
|
|
top3_position: "X= " + bytes[10] % 10 + " Y= " + parseFloat(bytes[10] / 10).toFixed(0),
|
|
top4_position: "X= " + bytes[11] % 10 + " Y= " + parseFloat(bytes[11] / 10).toFixed(0),
|
|
min_temp: (bytes[12] + bytes[13] / 100) + "C",
|
|
average_temp: (bytes[14] + bytes[15] / 100) + "C",
|
|
max_temp: (bytes[16] + bytes[17] / 100) + "C",
|
|
center_temp: (bytes[18] + bytes[19] / 100) + "C",
|
|
}
|
|
]
|
|
}
|
|
else if (fPort === 14) {
|
|
return [
|
|
{
|
|
led_state: (bytes[0] & 0x7f) === 0 ? "Off" : "On",
|
|
battery_level: bytes[1] + "%",
|
|
}
|
|
];
|
|
}
|
|
|
|
else if (fPort === 1) {
|
|
|
|
if (bytes[0] === 0x56) {
|
|
return [
|
|
{
|
|
mtm_code_1: bytes[1],
|
|
mtm_code_2: bytes[2],
|
|
HW_Version: "HW:" + bytes[3],
|
|
SW_Version: "SW" + bytes[4] + ":" + bytes[5] + ":" + bytes[6] + ":" + bytes[7],
|
|
}
|
|
];
|
|
}
|
|
else if (bytes[0] === 0x53) {
|
|
return [
|
|
{
|
|
mtm_code_1: bytes[1],
|
|
mtm_code_2: bytes[2],
|
|
sw_code: bytes[3],
|
|
hw_code: bytes[4],
|
|
battery_level: bytes[5] + "%",
|
|
size_value: bytes[6],
|
|
}
|
|
];
|
|
|
|
}
|
|
|
|
if (bytes[0] === 0x59) {
|
|
if (bytes[1] === 0x44) {
|
|
return [
|
|
{
|
|
HB_interval: (bytes[2] - 0x30) * 10 + (bytes[3] - 0x30),
|
|
HB_interval_unit: String.fromCharCode(bytes[4]),
|
|
}
|
|
];
|
|
}
|
|
}
|
|
}
|
|
|
|
}; |