const uint8_t MAXSOR=6;
const uint8_t HIANYKUSZOB  = 170;  //Ha az átlag ennyi % nagyobb, akkor maghiány van.
const uint8_t TULGYORS     =  50 ; //Ha az átlagnál ennyi%-al gyorsabben jön, túl gyorsan jött.

class VgSor
{ uint32_t  sorTakt;      //Atlagtakt [ms]
  uint32_t  umagIdo=0;    //utolso jottmag idopontja [milllis] 
  uint16_t  hiany=0;      //hiányzó magok sz.
  uint32_t  magMind=0;    //Kivetett osszes mag     
  bool      vet_e;        //vet-e  [I/N]
  bool      sorRiado;     //Ha vetogep vet, de a sor nem, riadot fúj [I/N] 

  public:
  uint8_t   lab;          //A processzor laba az adott sorhoz

  VgSor(uint8_t pin ) 
  { lab=pin;
  }
  
  void magjott(uint32_t millis)
  { uint32_t deltaT=millis-umagIdo;
    umagIdo=millis;
    vet_e=true; sorRiado=false;
    if (deltaT<(sorTakt/4))  {/*Tul gyorsan jott a mag, hibás adat, figyelmen kivul marad*/ }
    else
    {  magMind++;
      if(deltaT<(sorTakt*170/100))
      { sorTakt=(sorTakt+deltaT)/2;  //Normal erkezesi ido      
      }
    }
  }
};   /////////////// Class VEGE /////////////

  VgSor sorok[MAXSOR]={VgSor(14), VgSor(15),VgSor(18),VgSor(19), VgSor(20), VgSor(21)};
  




void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("Hello, ESP32!");
}
void loop() {
  // put your main code here, to run repeatedly:
  delay(100); // this speeds up the simulation
  
  Serial.printf("Sima  %d\n",sorok[1].lab);
}