Was ist denn das für ein Display wo du da am Arduino hängen hast?

Ich merke immer wieder, dass seit ich C gelernt habe sich doch einiges weiter entwickelt hat. Oder es liegt daran das ich erst seit nem halben Jahr mit C++ arbeite.

Danke für deine Erklärungen. Hab ich bisher so noch nie gebraucht und auch i++ hat bisher noch nie Schwierigkeiten gemacht, aber man lernt ja nie aus!

Was dein Simulationscode angeht, sobald ich mein Gentoo auf systemd umgestellt habe bastel ich da gerne was in den Code rein.

ich nehme an es geht in der Hauptsache um diesen Teil

Code:
  // calculate baselind from last 100 arraay cells:

  //init
  baseline=array[arrlen-50];
  minr=array[arrlen-50]-1;
  maxr=array[arrlen-50]+1;
  
  // auto-adjust:  
  for (int i=arrlen-100; i<arrlen; ++i) {    
    // mean baseline
    baseline = round ( ( 0.7*(float)array[i]  + 0.3*(float)baseline ) ) +1;

    // smoothed out max noise
    if (array[i] >= baseline) maxr = round ( ( 0.7*(float)array[i]  + 0.3*(float)maxr ) ) +1;

    // smoothed out min noise
    if (array[i] <= baseline) minr = round ( ( 0.7*(float)array[i]  + 0.3*(float)minr ) ) -1;   
    
  }
 
  bias = max (baseline-minr, maxr-baseline);  // 

  // mit /ohne Rauschglättung (auskommentieren)
 
  for (int i=0; i<arrlen; ++i) {
     if( (array[i]>baseline ) && (array[i] <= baseline + bias)) array[i] = baseline ; // kleine Schwankung => auf Baseline
     else
     if( (array[i]<baseline ) && (array[i] >= baseline - bias)) array[i] = baseline ; // kleine Schwankung => auf Baseline
  }