# Thread: calculate process mean with c programming to implement with contiki

1. ## calculate process mean with c programming to implement with contiki

Hi, I am starting to use contiki and learn c programming for my summer internship. I have to calculate the mean of the ongoing process of refrigerator power. I made the code like this

Code:
```#include <stdlib.h>
#include <stdio.h>

float global_variable;
int current_state = 0; //down =0, up =1

float current_power = 0;
int sample[n];

float get_instant_power()

{

double scaled_value = MAXIM_78M6610_SCALING_RESOLUTION_POWER_WATTS * maxim_78M6610_get_register_int24(MAXIM_78M6610_P);
if (scaled_value>0)    return scaled_value;
else return 0;
}

float get_sum()

{

float sum = 0;
float mean;
while(1){
for(int i=1; i<n ; i++){
sample[i]=get_instant_power();
sum +=sample[i];
}
}
}

int get_current_state()

{

current_power = get_instant_power();
if(current_power < 0) return 0;
else return 1;

}

{
static struct etimer timer;
PROCESS_BEGIN();
while(1){
etimer_set(&timer, CLOCK_CONF_SECOND);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));

}
PROCESS_END();
}```
How it gets the value of power is handled already. Every one second, it will display the power consumed (get_instant_power()). I don't know how to start and end the sample numbre. If I start by 1 then how should it be until? Also, is it possible if I store the power in array to accumulate?

2. First second: we get number1. sum = number1. numbers = 1. mean = sum / numbers.
Next second: we get number2. sum = number1 + number2. numbers = 2. mean = sum / numbers.
Third second: we get number3. sum = number1 + number2 + number3. numbers = 3. mean = sum / numbers.

You see, it's simple. Every second you have to add the number to sum, to add 1 to counter and divide the sum by the counter.