Comparing version 0.2.0 to 0.2.1
@@ -190,54 +190,36 @@ import assert from 'node:assert/strict'; | ||
}; | ||
getHeartbeat = async () => { | ||
getHeartbeat = async (variant) => { | ||
assert( | ||
variant >= 1 && variant <= 4, | ||
`Invalid variant range; expected 1 - 4 but got ${variant}` | ||
); | ||
const offsets = { | ||
4: -3, | ||
3: 2, | ||
2: 3, | ||
1: 1, | ||
}; | ||
const { data } = await this._sendPacket( | ||
RequestCode.GET_HEART_BEAT, | ||
[4], | ||
-3 | ||
[variant], | ||
offsets[variant] | ||
); | ||
let closingState = null; | ||
let powerLevel = null; | ||
let paperState = null; | ||
let rfidReadState = null; | ||
let doorOpen = null; | ||
let hasPaper = null; | ||
// const doorOpen = Boolean(data[4]); | ||
switch (data.length) { | ||
case 20: { | ||
paperState = data[18]; | ||
rfidReadState = data[19]; | ||
switch (variant) { | ||
case 1: { | ||
doorOpen = Boolean(data[9]); | ||
hasPaper = Boolean(data[12]); | ||
break; | ||
} | ||
case 13: { | ||
closingState = data[9]; | ||
powerLevel = data[10]; | ||
paperState = data[11]; | ||
rfidReadState = data[12]; | ||
case 4: { | ||
doorOpen = Boolean(data[4]); | ||
hasPaper = Boolean(data[6]); | ||
break; | ||
} | ||
case 19: { | ||
closingState = data[15]; | ||
powerLevel = data[16]; | ||
paperState = data[17]; | ||
rfidReadState = data[18]; | ||
break; | ||
} | ||
case 10: { | ||
closingState = data[8]; | ||
powerLevel = data[9]; | ||
rfidReadState = data[8]; | ||
break; | ||
} | ||
case 9: { | ||
closingState = data[8]; | ||
break; | ||
} | ||
} | ||
return { | ||
closingState, | ||
powerLevel, | ||
paperState, | ||
rfidReadState, | ||
}; | ||
return { doorOpen, hasPaper }; | ||
}; | ||
@@ -244,0 +226,0 @@ getRFID = async () => { |
@@ -59,6 +59,2 @@ import assert from 'node:assert'; | ||
return this.drain(); | ||
}; | ||
drain = () => { | ||
assert(this.isOpen(), 'Transport not open'); | ||
return promisify(this._port.drain).call(this._port); | ||
@@ -65,0 +61,0 @@ }; |
{ | ||
"name": "niimbotjs", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
16527
500