Skip to content

Commit

Permalink
feat(MockRobot): add BatteryStateAttribute
Browse files Browse the repository at this point in the history
  • Loading branch information
alexkn authored and Hypfer committed Mar 14, 2021
1 parent 721cd78 commit 584bfcb
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions lib/robots/mock/capabilities/MockBasicControlCapability.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,39 @@ class MockBasicControlCapability extends BasicControlCapability {
constructor(options) {
super(options);

this.StateAttr = new stateAttrs.StatusStateAttribute({
this.StatusStateAttr = new stateAttrs.StatusStateAttribute({
value: stateAttrs.StatusStateAttribute.VALUE.DOCKED,
flag: stateAttrs.StatusStateAttribute.FLAG.NONE
});

this.robot.state.upsertFirstMatchingAttribute(this.StateAttr);
this.robot.state.upsertFirstMatchingAttribute(this.StatusStateAttr);

this.BatteryStateAttr = new stateAttrs.BatteryStateAttribute({ level: 100 });
this.robot.state.upsertFirstMatchingAttribute(this.BatteryStateAttr);
setInterval(() => {
if (this.StatusStateAttr.value === stateAttrs.StatusStateAttribute.VALUE.DOCKED && this.BatteryStateAttr.level < 100) {
this.BatteryStateAttr.level++;
} else if (this.StatusStateAttr.value !== stateAttrs.StatusStateAttribute.VALUE.DOCKED && this.BatteryStateAttr.level > 0) {
this.BatteryStateAttr.level--;
}
}, 5 * 1000);
}

async start() {
this.StateAttr.value = stateAttrs.StatusStateAttribute.VALUE.CLEANING;
this.StatusStateAttr.value = stateAttrs.StatusStateAttribute.VALUE.CLEANING;
}

async stop() {
this.StateAttr.value = stateAttrs.StatusStateAttribute.VALUE.IDLE;
this.StatusStateAttr.value = stateAttrs.StatusStateAttribute.VALUE.IDLE;
}

async pause() {
this.StateAttr.value = stateAttrs.StatusStateAttribute.VALUE.PAUSED;
this.StatusStateAttr.value = stateAttrs.StatusStateAttribute.VALUE.PAUSED;
}

async home() {
this.StateAttr.value = stateAttrs.StatusStateAttribute.VALUE.RETURNING;
this.StatusStateAttr.value = stateAttrs.StatusStateAttribute.VALUE.RETURNING;
setTimeout(() => {
this.StateAttr.value = stateAttrs.StatusStateAttribute.VALUE.DOCKED;
this.StatusStateAttr.value = stateAttrs.StatusStateAttribute.VALUE.DOCKED;
}, 10 * 1000);
}
}
Expand Down

0 comments on commit 584bfcb

Please sign in to comment.