夏のインターンシップで contiki を使い始め、C プログラミングを学び始めています。冷蔵庫の電力の進行中のプロセスの平均を計算する必要があります。私はこのようなコードを作りました
#include <stdlib.h>
#include <stdio.h>
#include <homadeus/processes/fridge_process.h>
#include <homadeus/devices/78M6610.h>
#include <homadeus/utils/utils.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;
}
PROCESS(hmd_fridge_process, HOMADEUS_FRIDGE_PROCESS_DESCRIPTION);
PROCESS_THREAD(hmd_fridge_process, ev, data) {
static struct etimer timer;
PROCESS_BEGIN();
while(1){
start = clock();
etimer_set(&timer, CLOCK_CONF_SECOND);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
......
}
}
PROCESS_END();
}
電力の値を取得する方法は既に処理されています。1 秒ごとに消費電力が表示されます (get_instant_power())。サンプル番号の開始と終了の方法がわかりません。1から始めたら、それまではどうすればいいですか? また、パワーをアレイに格納して蓄積することは可能ですか?