Shifting Values in an array


hi everyone    hope well.

i'm hoping (fingers crossed) 1 might able me.

i'll try keep short

in code below beginners approach

it gives general idea of want doesn't work , i'm not sure if right approach
i have 2 arrays buffer and  values ...the values array there moment work things out with. (much later analog read of description)
the objective read value array , buffer 7 values continuously.. can perform fft calculation in slow motion understand whats under hood   i'm using integers moment build framework.

any way @ moment i'm getting  print

1 0 0 0 0 0 0 calculate
2 1 0 0 0 0 0 calculate
3 2 1 0 0 0 0 calculate
4 3 2 1 0 0 0 calculate
5 4 3 2 1 0 0 calculate
6 5 4 3 2 1 0 calculate
7 6 5 4 3 2 1 calculate
8 6 5 4 3 2 1 calculate
9 8 5 4 3 2 1 calculate
10 9 8 4 3 2 1 calculate
11 10 9 8 3 2 1 calculate
12 11 10 9 8 2 1 calculate
13 12 11 10 9 8 1 calculate
14 13 12 11 10 9 8 calculate
15 13 12 11 10 9 8 calculate
16 15 12 11 10 9 8 calculate
17 16 15 11 10 9 8 calculate
18 17 16 15 10 9 8 calculate
19 18 17 16 15 9 8 calculate
20 19 18 17 16 15 8 calculate

hopefully can see i'm trying achieve things fall apart while loop repeats , lose  number 7

if got far reading : , here's joke

why can't trust atom ??
because make everything

quote

int buffer[7]= {
  0,0,0,0,0,0,0};
int values[20]={
  1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

int = 0;
int ii = 0;
int fromarray;

void setup() {
  serial.begin(9600);

}

void loop() {
  delay(5000);

  while (1){
    //  serial.print("i = ");serial.print(i); serial.print(" ii = ");serial.println(ii);
    if (i == 0){ 
      fromarray = values[ii]; 
      buffer[0] = fromarray; 
    }

    if (i == 1){
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
    }

    if (i == 2){
      buffer[2] = buffer[1]; 
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
    }

    if (i == 3){
      buffer[3] = buffer[2]; 
      buffer[2] = buffer[1]; 
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
    }

    if (i == 4){
      buffer[4] = buffer[3]; 
      buffer[3] = buffer[2]; 
      buffer[2] = buffer[1]; 
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
    }

    if (i == 5){
      buffer[5] = buffer[4];
      buffer[4] = buffer[3]; 
      buffer[3] = buffer[2]; 
      buffer[2] = buffer[1]; 
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
    }

    if (i == 6){
      buffer[6] = buffer[5];
      buffer[5] = buffer[4];
      buffer[4] = buffer[3]; 
      buffer[3] = buffer[2]; 
      buffer[2] = buffer[1]; 
      buffer[1] = buffer[0]; 
      fromarray = values[ii]; 
      buffer[0] = fromarray;
      i = -1;
    }

    printer(); 
    delay(1000);
    i=i++;

    if ( ii == 19){
      break;
    }
    ii=ii++;

  }//eo while 1

  while (1){
    serial.println("the end");
    delay (300000);

  }





}//eo void



void printer(){
  for(int = 0; < 7;i++){
    serial.print(buffer);
    serial.print(" ");
    delay(200);
  }
  serial.println("then calculate");

}













that's crazy approach.
leave data put , move pointer it.
modulo arithmetic helpful here.


Arduino Forum > Using Arduino > Programming Questions > Shifting Values in an array


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

TypeError: <unknown> is not a numpy array - Raspberry Pi Forums

datso and removing imagetitle - Joomla! Forum - community, help and support