diff --git a/software/libcariboulite/src/app_menu.c b/software/libcariboulite/src/app_menu.c index 816872e..0447aa8 100644 --- a/software/libcariboulite/src/app_menu.c +++ b/software/libcariboulite/src/app_menu.c @@ -187,7 +187,11 @@ static void fpga_smi_fifo(sys_st *sys) uint8_t *val = (uint8_t *)&status; caribou_fpga_get_smi_ctrl_fifo_status (&sys->fpga, &status); - printf(" FPGA SMI info (%02X): RX_FIFO_EMPTY: %d, CHANNEL: %d\n", *val, status.rx_fifo_empty, status.smi_channel); + printf(" FPGA SMI info (%02X):\n", *val); + printf(" RX FIFO EMPTY: %d\n", status.rx_fifo_empty); + printf(" TX FIFO FULL: %d\n", status.tx_fifo_full); + printf(" RX CHANNEL: %d\n", status.smi_channel); + printf(" RX SMI TEST: %d\n", status.i_smi_test); } //================================================= diff --git a/software/libcariboulite/src/caribou_fpga/caribou_fpga.h b/software/libcariboulite/src/caribou_fpga/caribou_fpga.h index b3cee40..80877d6 100644 --- a/software/libcariboulite/src/caribou_fpga/caribou_fpga.h +++ b/software/libcariboulite/src/caribou_fpga/caribou_fpga.h @@ -83,8 +83,10 @@ typedef struct typedef struct { uint8_t rx_fifo_empty : 1; // LSB + uint8_t tx_fifo_full : 1; uint8_t smi_channel: 1; - uint8_t reserved : 6; // MSB + uint8_t i_smi_test : 1; + uint8_t reserved : 4; // MSB } caribou_fpga_smi_fifo_status_st; /** diff --git a/software/libcariboulite/src/cariboulite_radio.h b/software/libcariboulite/src/cariboulite_radio.h index a2838c4..681aa81 100644 --- a/software/libcariboulite/src/cariboulite_radio.h +++ b/software/libcariboulite/src/cariboulite_radio.h @@ -506,6 +506,14 @@ int cariboulite_radio_write_samples(cariboulite_radio_state_st* radio, caribou_smi_sample_complex_int16* buffer, size_t length); +/** + * @brief Get Native Chunk (MTU) + * + * Gets the SMI IO native chunk size (MTU) in units of samples (4 bytes each) + * + * @param radio a pre-allocated radio state structure + * @return the number of samples in an native sized chunk + */ size_t cariboulite_radio_get_native_mtu_size_samples(cariboulite_radio_state_st* radio); #ifdef __cplusplus