implemented BF mode switching
This commit is contained in:
50
main.c
50
main.c
@ -151,7 +151,8 @@ typedef enum {
|
||||
|
||||
typedef enum {
|
||||
BF_MODE_TRANSPARENT = 0,
|
||||
BF_MODE_AVG = 1
|
||||
BF_MODE_AVG = 1,
|
||||
BF_MODE_FFT = 2
|
||||
} bf_mode_t;
|
||||
|
||||
typedef enum {
|
||||
@ -222,7 +223,9 @@ static void parse_cmd_file(const char* filename, main_state* st) {
|
||||
if (strcmp(value, "TRANSPARENT") == 0) {
|
||||
st->BF_mode = BF_MODE_TRANSPARENT;
|
||||
} else if (strcmp(value, "AVG") == 0) {
|
||||
st->BF_mode = BF_MODE_AVG;
|
||||
st->BF_mode = BF_MODE_AVG;
|
||||
} else if (strcmp(value, "FFT") == 0) {
|
||||
st->BF_mode = BF_MODE_FFT;
|
||||
} else {
|
||||
st->BF_mode = BF_MODE_TRANSPARENT; // default on mismatch
|
||||
}
|
||||
@ -837,7 +840,25 @@ int main(int argc, char** argv) {
|
||||
printf("Streams start err: %d \n", streams_start_Err);
|
||||
|
||||
|
||||
if (state.run_mode == RUN_MODE_FINITE){
|
||||
if (state.run_mode == RUN_MODE_FINITE){
|
||||
if (state.BF_mode == BF_MODE_TRANSPARENT){
|
||||
printf("\nStart transparent mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8007, 10, 1); //start transparent
|
||||
}else if(state.BF_mode == BF_MODE_FFT){
|
||||
printf("\nStart FFt mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8008, 2, 1); //start averaging
|
||||
}else if(state.BF_mode == BF_MODE_AVG){
|
||||
printf("\nStart AVG mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8009, 2, 1); //start averaging
|
||||
}
|
||||
X502_StreamsStop(hnd);
|
||||
X502_StreamsStart(hnd);
|
||||
|
||||
|
||||
// for(uint32_t wait_i = 1e6; wait_i; --wait_i){;}
|
||||
|
||||
printf("\nFlushed from receiving buff: %d\n", X502_FlushRcv_buff(hnd));
|
||||
|
||||
state.run_I = 0;
|
||||
char tmp_data_filename[256];
|
||||
struct timespec ts;
|
||||
@ -851,7 +872,9 @@ int main(int argc, char** argv) {
|
||||
//sprintf(&logfilename, "data/received_data_%ld.csv", seconds);
|
||||
snprintf(tmp_data_filename, sizeof(tmp_data_filename), "%s/received_data_%ld.%ld.csv", state.data_path, ts.tv_sec, ts.tv_nsec);
|
||||
printf("%u/%u dumping to file: %s\n", (unsigned)state.run_I, (unsigned)state.runs_N, tmp_data_filename);
|
||||
receive_to_file(hnd, tmp_data_filename, inp_buff, max_total_words, state.run_length);
|
||||
receive_to_file(hnd, tmp_data_filename, inp_buff, max_total_words, state.run_length);
|
||||
X502_StreamsStop(hnd);
|
||||
X502_StreamsStart(hnd);
|
||||
|
||||
state.run_I++;
|
||||
}
|
||||
@ -862,6 +885,25 @@ int main(int argc, char** argv) {
|
||||
return 0;
|
||||
|
||||
}else if (state.run_mode == RUN_MODE_INF){
|
||||
if (state.BF_mode == BF_MODE_TRANSPARENT){
|
||||
printf("\nStart transparent mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8007, 10, 1); //start transparent
|
||||
}else if(state.BF_mode == BF_MODE_FFT){
|
||||
printf("\nStart FFt mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8008, 2, 1); //start averaging
|
||||
}else if(state.BF_mode == BF_MODE_AVG){
|
||||
printf("\nStart AVG mode\n");
|
||||
BF_exec_cmd_simple(hnd, 0x8009, 2, 1); //start averaging
|
||||
}
|
||||
X502_StreamsStop(hnd);
|
||||
X502_StreamsStart(hnd);
|
||||
|
||||
|
||||
// for(uint32_t wait_i = 1e6; wait_i; --wait_i){;}
|
||||
|
||||
printf("\nFlushed from receiving buff: %d\n", X502_FlushRcv_buff(hnd));
|
||||
|
||||
|
||||
state.run_I = 0;
|
||||
char tmp_data_filename[256];
|
||||
struct timespec ts;
|
||||
|
||||
Reference in New Issue
Block a user