implemented BF mode switching
This commit is contained in:
BIN
BF_companion
BIN
BF_companion
Binary file not shown.
BIN
build/main.o
BIN
build/main.o
Binary file not shown.
44
main.c
44
main.c
@ -151,7 +151,8 @@ typedef enum {
|
|||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
BF_MODE_TRANSPARENT = 0,
|
BF_MODE_TRANSPARENT = 0,
|
||||||
BF_MODE_AVG = 1
|
BF_MODE_AVG = 1,
|
||||||
|
BF_MODE_FFT = 2
|
||||||
} bf_mode_t;
|
} bf_mode_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -223,6 +224,8 @@ static void parse_cmd_file(const char* filename, main_state* st) {
|
|||||||
st->BF_mode = BF_MODE_TRANSPARENT;
|
st->BF_mode = BF_MODE_TRANSPARENT;
|
||||||
} else if (strcmp(value, "AVG") == 0) {
|
} 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 {
|
} else {
|
||||||
st->BF_mode = BF_MODE_TRANSPARENT; // default on mismatch
|
st->BF_mode = BF_MODE_TRANSPARENT; // default on mismatch
|
||||||
}
|
}
|
||||||
@ -838,6 +841,24 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
|
|
||||||
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;
|
state.run_I = 0;
|
||||||
char tmp_data_filename[256];
|
char tmp_data_filename[256];
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
@ -852,6 +873,8 @@ int main(int argc, char** argv) {
|
|||||||
snprintf(tmp_data_filename, sizeof(tmp_data_filename), "%s/received_data_%ld.%ld.csv", state.data_path, ts.tv_sec, ts.tv_nsec);
|
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);
|
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++;
|
state.run_I++;
|
||||||
}
|
}
|
||||||
@ -862,6 +885,25 @@ int main(int argc, char** argv) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}else if (state.run_mode == RUN_MODE_INF){
|
}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;
|
state.run_I = 0;
|
||||||
char tmp_data_filename[256];
|
char tmp_data_filename[256];
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
|
|||||||
Reference in New Issue
Block a user