Hooked up power events
Bryan Roe committed
May 31, 2020 at 11:24 UTC
5ad469e8b43b7c62aff8c46c64518257ae20d4e4
1 file changed
+29
agents/meshcore.js
+29
@@ -251,6 +251,35 @@ function createMeshCore(agent) {
251
return (svc);
252
}
253
254
+ if (require('identifiers').isBatteryPowered && require('identifiers').isBatteryPowered())
255
+ {
256
+ require('MeshAgent')._battLevelChanged = function _battLevelChanged(val)
257
+ {
258
+ _battLevelChanged.self.SendCommand({ action: 'battery', state: _battLevelChanged.self._currentPowerState, level: val });
259
+ };
260
+ require('MeshAgent')._battLevelChanged.self = require('MeshAgent');
261
+ require('MeshAgent')._powerChanged = function _powerChanged(val)
262
+ {
263
+ _powerChanged.self._currentPowerState = (val == 'AC' ? 'ac' : 'dc');
264
+ _powerChanged.self.SendCommand({ action: 'battery', state: (val == 'AC' ? 'ac' : 'dc') });
265
+ };
266
+ require('MeshAgent')._powerChanged.self = require('MeshAgent');
267
+ require('MeshAgent').on('Connected', function (status)
268
+ {
269
+ if (status == 0)
270
+ {
271
+ require('power-monitor').removeListener('acdc', this._powerChanged);
272
+ require('power-monitor').removeListener('batteryLevel', this._battLevelChanged);
273
+ }
274
+ else
275
+ {
276
+ require('power-monitor').on('acdc', this._powerChanged);
277
+ require('power-monitor').on('batteryLevel', this._battLevelChanged);
278
+ }
279
+ });
280
+ }
281
+
282
+
283
/*
284
function borderController() {
285
this.container = null;