add firmware file
This commit is contained in:
@ -1 +0,0 @@
|
|||||||
../BFfirmware_0/build/release/bin/l502-BFfirmware0.ldr
|
|
||||||
BIN
l502-BFfirmware0.ldr
Normal file
BIN
l502-BFfirmware0.ldr
Normal file
Binary file not shown.
11
long_trace_AVG_RPI.cmd
Normal file
11
long_trace_AVG_RPI.cmd
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
// Default configuration for BF_companion main_state
|
||||||
|
// Format: field value // optional comment
|
||||||
|
|
||||||
|
run_mode INF_RUN // TEST | FINITE_RUN | INF_RUN
|
||||||
|
BF_mode FFT // TRANSPARENT | AVG | FFT
|
||||||
|
run_length 50 // milliseconds
|
||||||
|
runs_N 1000 // total runs (used in FINITE_RUN)
|
||||||
|
run_I 0 // starting run index
|
||||||
|
//data_path /home/feda/MIPT/RadioPhotonic_Subserface_radar/Receiver_GUI/data // base directory for output files
|
||||||
|
data_path /home/awe/Documents/E502_ADC_BF_PC_companion/tmp
|
||||||
3
main.c
3
main.c
@ -705,7 +705,7 @@ void receive_to_file(t_x502_hnd hnd, char* logfilename, uint32_t* inp_buff, uint
|
|||||||
// fprintf(logfile_ptr, "0xFF00000 \n");
|
// fprintf(logfile_ptr, "0xFF00000 \n");
|
||||||
|
|
||||||
// uint32_t timeout = 100;
|
// uint32_t timeout = 100;
|
||||||
uint32_t recv_Err_code = X502_Recv(hnd, inp_buff, max_total_words, timeout);
|
int32_t recv_Err_code = X502_Recv(hnd, inp_buff, max_total_words, timeout);
|
||||||
printf("receive code: %d\n", recv_Err_code);
|
printf("receive code: %d\n", recv_Err_code);
|
||||||
|
|
||||||
if (recv_Err_code > 0){
|
if (recv_Err_code > 0){
|
||||||
@ -726,6 +726,7 @@ void receive_to_file(t_x502_hnd hnd, char* logfilename, uint32_t* inp_buff, uint
|
|||||||
}else if (recv_Err_code == 0){
|
}else if (recv_Err_code == 0){
|
||||||
printf("no data received. timeout\n");
|
printf("no data received. timeout\n");
|
||||||
}else{
|
}else{
|
||||||
|
sleep(1);
|
||||||
printf("receive error: %d\n======================\n", recv_Err_code);
|
printf("receive error: %d\n======================\n", recv_Err_code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
66
pipe_reader_test.py
Executable file
66
pipe_reader_test.py
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
Test script to read radar data from named pipe (FIFO)
|
||||||
|
|
||||||
|
This script demonstrates how to read binary data from the named pipe
|
||||||
|
created by the radar acquisition program.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import struct
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
def read_from_pipe(pipe_path="/tmp/radar_data_pipe"):
|
||||||
|
"""
|
||||||
|
Read uint32_t data from named pipe
|
||||||
|
|
||||||
|
Args:
|
||||||
|
pipe_path: Path to the named pipe (FIFO)
|
||||||
|
"""
|
||||||
|
print(f"Opening pipe: {pipe_path}")
|
||||||
|
print("Waiting for radar data...")
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Open pipe for reading (this will block until writer connects)
|
||||||
|
with open(pipe_path, 'rb') as pipe:
|
||||||
|
print("Connected to pipe! Reading data...")
|
||||||
|
|
||||||
|
word_count = 0
|
||||||
|
while True:
|
||||||
|
# Read 4 bytes (one uint32_t)
|
||||||
|
data = pipe.read(4)
|
||||||
|
|
||||||
|
if not data:
|
||||||
|
print("\nEnd of stream or pipe closed")
|
||||||
|
break
|
||||||
|
|
||||||
|
if len(data) < 4:
|
||||||
|
print(f"\nWarning: incomplete data read ({len(data)} bytes)")
|
||||||
|
break
|
||||||
|
|
||||||
|
# Unpack as uint32_t (little-endian)
|
||||||
|
value = struct.unpack('<I', data)[0]
|
||||||
|
|
||||||
|
# Print first 10 values and then every 1000th value
|
||||||
|
if word_count < 10 or word_count % 1000 == 0:
|
||||||
|
print(f"Word {word_count}: 0x{value:08X} ({value})")
|
||||||
|
|
||||||
|
word_count += 1
|
||||||
|
|
||||||
|
# Optional: process the data here
|
||||||
|
# For example, convert to voltage, apply filters, etc.
|
||||||
|
|
||||||
|
print(f"\nTotal words received: {word_count}")
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("\n\nInterrupted by user")
|
||||||
|
print(f"Total words received: {word_count}")
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"Error: Pipe {pipe_path} does not exist")
|
||||||
|
print("Make sure the radar acquisition program is running first")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error reading from pipe: {e}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pipe_path = sys.argv[1] if len(sys.argv) > 1 else "/tmp/radar_data_pipe"
|
||||||
|
read_from_pipe(pipe_path)
|
||||||
@ -1,4 +1,3 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
sudo mount -t tmpfs -o size=1G tmpfs tmp
|
# sudo mount -t tmpfs -o size=1G tmpfs tmp
|
||||||
./BF_companion 100 #should generate approx 500 MB of data by running 10 secs
|
./BF_companion long_trace_AVG_RPI.cmd
|
||||||
rm tmp/*
|
|
||||||
Reference in New Issue
Block a user