1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 21:35:44 +03:00

improving interval methods in GUI object

This commit is contained in:
cTn 2013-12-05 11:03:17 +01:00
parent ac85aeff8a
commit 26a969b2cf

View file

@ -21,7 +21,7 @@ var GUI_control = function() {
// interval = time interval in miliseconds // interval = time interval in miliseconds
// first = true/false if code should be ran initially before next timer interval hits // first = true/false if code should be ran initially before next timer interval hits
GUI_control.prototype.interval_add = function(name, code, interval, first) { GUI_control.prototype.interval_add = function(name, code, interval, first) {
var data = {'name': name, 'timer': undefined, 'interval': interval, 'fired' : 0}; var data = {'name': name, 'timer': undefined, 'code': code, 'interval': interval, 'fired': 0, 'paused': false};
if (first == true) { if (first == true) {
code(); // execute code code(); // execute code
@ -53,6 +53,37 @@ GUI_control.prototype.interval_remove = function(name) {
return false; return false;
}; };
// name = string
GUI_control.prototype.interval_pause = function(name) {
for (var i = 0; i < this.interval_array.length; i++) {
if (this.interval_array[i].name == name) {
clearInterval(this.interval_array[i].timer);
this.interval_array[i].paused = true;
return true;
}
}
};
// name = string
GUI_control.prototype.interval_resume = function(name) {
for (var i = 0; i < this.interval_array.length; i++) {
if (this.interval_array[i].name == name && this.interval_array[i].paused) {
var obj = this.interval_array[i];
obj.timer = setInterval(function() {
obj.code(); // execute code
obj.fired++; // increment counter
}, obj.interval);
obj.paused = false;
return true;
}
}
};
// input = array of timers thats meant to be kept // input = array of timers thats meant to be kept
// return = returns timers killed in last call // return = returns timers killed in last call
GUI_control.prototype.interval_kill_all = function(keep_array) { GUI_control.prototype.interval_kill_all = function(keep_array) {