Safehome : read
parent
cf80f8c9ab
commit
a81050d121
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
@ -0,0 +1,68 @@
|
||||
/*global $*/
|
||||
'use strict';
|
||||
|
||||
let Safehome = function (number, enabled, lat, lon) {
|
||||
|
||||
var self = {};
|
||||
|
||||
self.getNumber = function () {
|
||||
return number;
|
||||
};
|
||||
|
||||
self.setNumber = function (data) {
|
||||
number = data;
|
||||
};
|
||||
|
||||
self.getLon = function () {
|
||||
return lon;
|
||||
};
|
||||
|
||||
self.setLon = function (data) {
|
||||
lon = data;
|
||||
};
|
||||
|
||||
self.getLonToMap = function () {
|
||||
return lon / 1e7;
|
||||
};
|
||||
|
||||
self.setLonFromMap = function (data) {
|
||||
lon = data * 1e7;
|
||||
};
|
||||
|
||||
self.getLat = function () {
|
||||
return lat;
|
||||
};
|
||||
|
||||
self.setLat = function (data) {
|
||||
lat = data;
|
||||
};
|
||||
|
||||
self.getLatToMap = function () {
|
||||
return lat / 1e7;
|
||||
};
|
||||
|
||||
self.setLatFromMap = function (data) {
|
||||
lat = data * 1e7;
|
||||
};
|
||||
|
||||
self.isUsed = function () {
|
||||
return enabled == 1;
|
||||
};
|
||||
|
||||
self.getEnabled = function () {
|
||||
return enabled;
|
||||
};
|
||||
|
||||
self.setEnabled = function (data) {
|
||||
enabled = data;
|
||||
};
|
||||
|
||||
self.cleanup = function () {
|
||||
number = 0;
|
||||
enabled = 0;
|
||||
lon = 0;
|
||||
lat = 0;
|
||||
};
|
||||
|
||||
return self;
|
||||
};
|
@ -0,0 +1,86 @@
|
||||
/*global ServoMixRule*/
|
||||
'use strict';
|
||||
|
||||
let SafehomeCollection = function () {
|
||||
|
||||
let self = {},
|
||||
data = [],
|
||||
maxSafehomeCount = 8;
|
||||
|
||||
self.setMaxSafehomeCount = function (value) {
|
||||
maxSafehomeCount = value;
|
||||
};
|
||||
|
||||
self.getMaxSafehomeCount = function () {
|
||||
return maxSafehomeCount;
|
||||
}
|
||||
|
||||
self.put = function (element) {
|
||||
data.push(element);
|
||||
};
|
||||
|
||||
self.get = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
self.clean = function (index){
|
||||
data[index].cleanup();
|
||||
};
|
||||
|
||||
self.flush = function () {
|
||||
data = [];
|
||||
};
|
||||
|
||||
self.inflate = function () {
|
||||
while (self.hasFreeSlots()) {
|
||||
self.put(new Safehome(0, 0, 0, 0));
|
||||
}
|
||||
};
|
||||
|
||||
self.hasFreeSlots = function () {
|
||||
return data.length < self.getMaxSafehomeCount();
|
||||
};
|
||||
|
||||
self.isSafehomeConfigured = function(safehomeId) {
|
||||
|
||||
for (let safehomeIndex in data) {
|
||||
if (data.hasOwnProperty(safehomeIndex)) {
|
||||
let safehome = data[safehomeIndex];
|
||||
|
||||
if (safehome.getNumber() == safehomeId && safehome.isUsed()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
self.getNumberOfConfiguredSafehome = function () {
|
||||
let count = 0;
|
||||
for (let i = 0; i < self.getMaxSafehomeCount(); i ++) {
|
||||
if (self.isSafehomeConfigured(i)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
};
|
||||
|
||||
self.getUsedSafehomeIndexes = function () {
|
||||
let out = [];
|
||||
|
||||
for (let safehomeIndex in data) {
|
||||
if (data.hasOwnProperty(safehomeIndex)) {
|
||||
let safehome = data[safehomeIndex];
|
||||
out.push(safehome.getNumber());
|
||||
}
|
||||
}
|
||||
|
||||
let unique = [...new Set(out)];
|
||||
|
||||
return unique.sort(function(a, b) {
|
||||
return a-b;
|
||||
});
|
||||
}
|
||||
|
||||
return self;
|
||||
};
|
Loading…
Reference in New Issue