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:
parent
ac85aeff8a
commit
26a969b2cf
1 changed files with 32 additions and 1 deletions
33
js/gui.js
33
js/gui.js
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue