Класс noDELAY а если два счетчика?

Dr_grizzly
Dr_grizzly аватар
Offline
Зарегистрирован: 07.12.2015

Привет всем! Нашел такой интересный класс:

class noDELAY {

public:
unsigned long previous;
unsigned long interval;
boolean s;
boolean push;
boolean push_tick;

noDELAY() {
previous  = millis();
s         =        0;
push      =        0;
push_tick =        0;
}

void start()                        
{s = 1;}
void  stop()                        
{s = 0;}
void  read(unsigned long _interval) 
{
   interval = _interval;
   unsigned long current  =  millis();
   push_tick = 0;
   if (s == 0) 
   {previous = current;}
   
if (current - previous >  interval) 
   {previous = current;
    push_tick = 1;
    push = !push;
   }
}

};

в своем коде цепляю его так:

noDELAY LentaStart;

в цикле loop:

LentaStart.read(2000);

... какое-то условие, что заставляет запустить счетчик так:

LentaStart.start();

затем в цикле проверяем:

if (LentaStart.push_tick) {

}

Дак вот, если мы заводим два три и более таких классов, то переменные

public:
unsigned long previous;
unsigned long interval;

являются у них одни и те же? или для каждого класса своя переменная создается?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Своя

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Dr_grizzly пишет:

Привет всем! Нашел такой интересный класс:

где нашёл, если не секрет?

#40 О_О

пример на два экземпляра класса здесь #28

Dr_grizzly
Dr_grizzly аватар
Offline
Зарегистрирован: 07.12.2015

ооо, уже и не вспомнить даж где нашел, года два назад был первый проект и нужно было от делай избавится ))) накопал в каких-то форумах )

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Dr_grizzly пишет:

ооо, уже и не вспомнить даж где нашел, года два назад был первый проект и нужно было от делай избавится ))) накопал в каких-то форумах )

ок. коматоз как он есть.