From c7e95dadc3385672357b1ff61eeb561a416c99db Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Sun, 31 May 2020 11:24:34 -0700 Subject: [PATCH] Hooked up power events --- agents/meshcore.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/agents/meshcore.js b/agents/meshcore.js index 17c7037b..36920ef8 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -251,6 +251,35 @@ function createMeshCore(agent) { return (svc); } + if (require('identifiers').isBatteryPowered && require('identifiers').isBatteryPowered()) + { + require('MeshAgent')._battLevelChanged = function _battLevelChanged(val) + { + _battLevelChanged.self.SendCommand({ action: 'battery', state: _battLevelChanged.self._currentPowerState, level: val }); + }; + require('MeshAgent')._battLevelChanged.self = require('MeshAgent'); + require('MeshAgent')._powerChanged = function _powerChanged(val) + { + _powerChanged.self._currentPowerState = (val == 'AC' ? 'ac' : 'dc'); + _powerChanged.self.SendCommand({ action: 'battery', state: (val == 'AC' ? 'ac' : 'dc') }); + }; + require('MeshAgent')._powerChanged.self = require('MeshAgent'); + require('MeshAgent').on('Connected', function (status) + { + if (status == 0) + { + require('power-monitor').removeListener('acdc', this._powerChanged); + require('power-monitor').removeListener('batteryLevel', this._battLevelChanged); + } + else + { + require('power-monitor').on('acdc', this._powerChanged); + require('power-monitor').on('batteryLevel', this._battLevelChanged); + } + }); + } + + /* function borderController() { this.container = null;