| LMS API Documentation
    v20.10.0
    | 
 
 
 
Go to the documentation of this file.
   26 #include "LMS7002M_parameters.h" 
   41 #if defined _WIN32 || defined __CYGWIN__ 
   42 #   define CALL_CONV __cdecl 
   44 #       define API_EXPORT __attribute__ ((dllexport)) 
   46 #       define API_EXPORT __declspec(dllexport) 
   48 #elif defined _DOXYGEN_ONLY_ 
   56 #   define API_EXPORT __attribute__ ((visibility ("default"))) 
  190                                            size_t chan, 
bool enabled);
 
  316                                         size_t chan, 
size_t index);
 
  386                                         size_t chan, 
unsigned gain);
 
  424                                                 size_t chan, 
unsigned *gain);
 
  478                                     size_t chan, 
bool enable);
 
  495                                size_t chan, 
bool enabled, 
float_type bandwidth);
 
  513                                         size_t chan, 
double bw, 
unsigned flags);
 
  702                                     size_t chan, 
int index, 
bool downconv);
 
  829                                      struct LMS7Parameter param, uint16_t *val);
 
  841                                       struct LMS7Parameter param, uint16_t val);
 
  872 #define BOARD_PARAM_DAC     0 
  874 #define BOARD_PARAM_TEMP    1 
  910 #define LMS_CLOCK_REF    0x0000 
  912 #define LMS_CLOCK_SXR    0x0001 
  914 #define LMS_CLOCK_SXT    0x0002 
  916 #define LMS_CLOCK_CGEN   0x0003 
  918 #define LMS_CLOCK_RXTSP  0x0004 
  920 #define LMS_CLOCK_TXTSP  0x0005 
  929 #define LMS_CLOCK_EXTREF 0x0006 
 1067 #define LMS_ALIGN_CH_PHASE (1<<16) 
 1109         LMS_LINK_FMT_DEFAULT=0, 
 
 1216                             const void *samples,
size_t sample_count,
 
 1231                                 uint8_t chCount, 
size_t sample_count, 
int format);
 
 1288     char deviceName[32];            
 
 1289     char expansionName[32];         
 
 1290     char firmwareVersion[16];       
 
 1291     char hardwareVersion[16];       
 
 1292     char protocolVersion[16];       
 
 1294     char gatewareVersion[16];       
 
 1295     char gatewareTargetBoard[32];   
 
 1330 #define LMS_LOG_CRITICAL 0 
 1332 #define LMS_LOG_ERROR    1 
 1334 #define LMS_LOG_WARNING  2 
 1336 #define LMS_LOG_INFO     3 
 1338 #define LMS_LOG_DEBUG    4 
 1364 #endif //LMS_SDR_INTERFACE_H 
  
 
float_type max
Maximum allowed value.
bool active
Indicates whether the stream is currently active.
API_EXPORT int CALL_CONV LMS_SetNCOFrequency(lms_device_t *device, bool dir_tx, size_t chan, const float_type *freq, float_type pho)
API_EXPORT int CALL_CONV LMS_GetLOFrequency(lms_device_t *device, bool dir_tx, size_t chan, float_type *frequency)
API_EXPORT int CALL_CONV LMS_WriteParam(lms_device_t *device, struct LMS7Parameter param, uint16_t val)
uint32_t channel
Channel number, starts at 0. Can be combined with additional flags (Additional streaming options)
uint32_t overrun
FIFO overrun count since the last call to LMS_GetStreamStatus()
API_EXPORT int CALL_CONV LMS_LoadConfig(lms_device_t *device, const char *filename)
@ LMS_PATH_NONE
No active path (RX or TX)
float_type min
Minimum allowed value.
API_EXPORT int CALL_CONV LMS_GetTestSignal(lms_device_t *device, bool dir_tx, size_t chan, lms_testsig_t *sig)
API_EXPORT int CALL_CONV LMS_EnableChannel(lms_device_t *device, bool dir_tx, size_t chan, bool enabled)
API_EXPORT int CALL_CONV LMS_Reset(lms_device_t *device)
API_EXPORT int CALL_CONV LMS_StopStream(lms_stream_t *stream)
API_EXPORT int CALL_CONV LMS_Init(lms_device_t *device)
API_EXPORT int CALL_CONV LMS_GetLOFrequencyRange(lms_device_t *device, bool dir_tx, lms_range_t *range)
API_EXPORT int CALL_CONV LMS_GetAntennaBW(lms_device_t *dev, bool dir_tx, size_t chan, size_t index, lms_range_t *range)
API_EXPORT int CALL_CONV LMS_GPIODirRead(lms_device_t *dev, uint8_t *buffer, size_t len)
API_EXPORT const lms_dev_info_t *CALL_CONV LMS_GetDeviceInfo(lms_device_t *device)
uint64_t timestamp
The most recently received Rx timestamp, or the last timestamp submitted to Tx.
API_EXPORT int CALL_CONV LMS_GetProgramModes(lms_device_t *device, lms_name_t *list)
API_EXPORT int CALL_CONV LMS_VCTCXOWrite(lms_device_t *dev, uint16_t val)
bool isTx
Indicates whether stream is TX (true) or RX (false)
API_EXPORT int CALL_CONV LMS_GetSampleRateRange(lms_device_t *device, bool dir_tx, lms_range_t *range)
API_EXPORT int CALL_CONV LMS_SetNormalizedGain(lms_device_t *device, bool dir_tx, size_t chan, float_type gain)
uint32_t fifoFilledCount
Number of samples in FIFO buffer.
float throughputVsLatency
Parameter for controlling configuration bias toward low latency or high data throughput range [0,...
@ LMS_TESTSIG_DC
DC test signal.
API_EXPORT int CALL_CONV LMS_GetNCOPhase(lms_device_t *device, bool dir_tx, size_t chan, float_type *phases, float_type *fcw)
@ LMS_TESTSIG_NCODIV8
Test signal from NCO half scale.
API_EXPORT int CALL_CONV LMS_EnableCache(lms_device_t *dev, bool enable)
API_EXPORT int CALL_CONV LMS_GetNCOFrequency(lms_device_t *device, bool dir_tx, size_t chan, float_type *freq, float_type *pho)
API_EXPORT int CALL_CONV LMS_GetClockFreq(lms_device_t *dev, size_t clk_id, float_type *freq)
@ LMS_TESTSIG_NCODIV4
Test signal from NCO half scale.
API_EXPORT int CALL_CONV LMS_GPIORead(lms_device_t *dev, uint8_t *buffer, size_t len)
@ LMS_PATH_LNAW
RX LNA_W port.
API_EXPORT int CALL_CONV LMS_SetupStream(lms_device_t *device, lms_stream_t *stream)
size_t handle
Stream handle. Should not be modified manually. Assigned by LMS_SetupStream().
@ LMS_PATH_LNAL
RX LNA_L port.
API_EXPORT int CALL_CONV LMS_GetNCOIndex(lms_device_t *device, bool dir_tx, size_t chan)
uint32_t fifoSize
Size (in samples) of FIFO buffer.
uint32_t droppedPackets
Number of dropped packets by HW since the last call to LMS_GetStreamStatus()
API_EXPORT int CALL_CONV LMS_EnableTxWFM(lms_device_t *device, unsigned chan, bool active)
API_EXPORT int CALL_CONV LMS_StartStream(lms_stream_t *stream)
API_EXPORT int CALL_CONV LMS_GetStreamStatus(lms_stream_t *stream, lms_stream_status_t *status)
@ LMS_TESTSIG_NONE
Disable test signals. Return to normal operation.
API_EXPORT int CALL_CONV LMS_SetClockFreq(lms_device_t *dev, size_t clk_id, float_type freq)
API_EXPORT int CALL_CONV LMS_SetSampleRateDir(lms_device_t *device, bool dir_tx, float_type rate, size_t oversample)
lms_gfir_t
Enumeration of LMS7 GFIRS.
API_EXPORT int CALL_CONV LMS_SendStream(lms_stream_t *stream, const void *samples, size_t sample_count, const lms_stream_meta_t *meta, unsigned timeout_ms)
static const bool LMS_CH_RX
Convenience constants for RX selection.
API_EXPORT int CALL_CONV LMS_GetGaindB(lms_device_t *device, bool dir_tx, size_t chan, unsigned *gain)
API_EXPORT int CALL_CONV LMS_GetAntennaList(lms_device_t *dev, bool dir_tx, size_t chan, lms_name_t *list)
API_EXPORT int CALL_CONV LMS_SetAntenna(lms_device_t *dev, bool dir_tx, size_t chan, size_t index)
API_EXPORT int CALL_CONV LMS_GetNormalizedGain(lms_device_t *device, bool dir_tx, size_t chan, float_type *gain)
char lms_info_str_t[256]
Convenience type for fixed length LMS Device information string.
API_EXPORT int CALL_CONV LMS_Close(lms_device_t *device)
API_EXPORT int CALL_CONV LMS_GPIODirWrite(lms_device_t *dev, const uint8_t *buffer, size_t len)
float_type step
Minimum value step.
API_EXPORT int CALL_CONV LMS_SetGaindB(lms_device_t *device, bool dir_tx, size_t chan, unsigned gain)
API_EXPORT int CALL_CONV LMS_SetGFIR(lms_device_t *device, bool dir_tx, size_t chan, lms_gfir_t filt, bool enabled)
static const bool LMS_CH_TX
Convenience constants for TX selection.
API_EXPORT int CALL_CONV LMS_WriteFPGAReg(lms_device_t *device, uint32_t address, uint16_t val)
API_EXPORT int CALL_CONV LMS_GetAntenna(lms_device_t *dev, bool dir_tx, size_t chan)
API_EXPORT int CALL_CONV LMS_ReadParam(lms_device_t *device, struct LMS7Parameter param, uint16_t *val)
API_EXPORT int CALL_CONV LMS_SetLOFrequency(lms_device_t *device, bool dir_tx, size_t chan, float_type frequency)
API_EXPORT int CALL_CONV LMS_ReadCustomBoardParam(lms_device_t *device, uint8_t id, float_type *val, lms_name_t units)
@ LMS_PATH_AUTO
Automatically select port (if supported)
API_EXPORT int CALL_CONV LMS_WriteCustomBoardParam(lms_device_t *device, uint8_t id, float_type val, const lms_name_t units)
API_EXPORT int CALL_CONV LMS_UploadWFM(lms_device_t *device, const void **samples, uint8_t chCount, size_t sample_count, int format)
API_EXPORT int CALL_CONV LMS_VCTCXORead(lms_device_t *dev, uint16_t *val)
API_EXPORT int CALL_CONV LMS_GetLPFBWRange(lms_device_t *device, bool dir_tx, lms_range_t *range)
API_EXPORT int CALL_CONV LMS_WriteLMSReg(lms_device_t *device, uint32_t address, uint16_t val)
API_EXPORT int CALL_CONV LMS_Open(lms_device_t **device, const lms_info_str_t info, void *args)
uint64_t boardSerialNumber
A unique board serial number.
API_EXPORT int CALL_CONV LMS_GetNumChannels(lms_device_t *device, bool dir_tx)
API_EXPORT int CALL_CONV LMS_ReadFPGAReg(lms_device_t *device, uint32_t address, uint16_t *val)
@ LMS_TESTSIG_NCODIV8F
Test signal from NCO full scale.
API_EXPORT int CALL_CONV LMS_GetChipTemperature(lms_device_t *dev, size_t ind, float_type *temp)
API_EXPORT int CALL_CONV LMS_ReadLMSReg(lms_device_t *device, uint32_t address, uint16_t *val)
API_EXPORT int CALL_CONV LMS_SetGFIRLPF(lms_device_t *device, bool dir_tx, size_t chan, bool enabled, float_type bandwidth)
API_EXPORT const char *CALL_CONV LMS_GetLastErrorMessage(void)
API_EXPORT int CALL_CONV LMS_SetGFIRCoeff(lms_device_t *device, bool dir_tx, size_t chan, lms_gfir_t filt, const float_type *coef, size_t count)
API_EXPORT int CALL_CONV LMS_SetNCOPhase(lms_device_t *device, bool dir_tx, size_t chan, const float_type *phases, float_type fcw)
API_EXPORT int CALL_CONV LMS_SetSampleRate(lms_device_t *device, float_type rate, size_t oversample)
static const int LMS_NCO_VAL_COUNT
Number of NCO frequency/phase offset values.
float_type sampleRate
Currently not used.
API_EXPORT int CALL_CONV LMS_GetDeviceList(lms_info_str_t *dev_list)
API_EXPORT int CALL_CONV LMS_GPIOWrite(lms_device_t *dev, const uint8_t *buffer, size_t len)
uint32_t fifoSize
FIFO size (in samples) used by stream.
API_EXPORT int CALL_CONV LMS_Program(lms_device_t *device, const char *data, size_t size, const lms_name_t mode, lms_prog_callback_t callback)
API_EXPORT int CALL_CONV LMS_SetNCOIndex(lms_device_t *device, bool dir_tx, size_t chan, int index, bool downconv)
API_EXPORT const char * LMS_GetLibraryVersion(void)
Returns API library version.
@ LMS_FMT_I16
16-bit integers
void lms_device_t
LMS Device handle.
void(* LMS_LogHandler)(int lvl, const char *msg)
API_EXPORT int CALL_CONV LMS_SetTestSignal(lms_device_t *device, bool dir_tx, size_t chan, lms_testsig_t sig, int16_t dc_i, int16_t dc_q)
API_EXPORT int CALL_CONV LMS_GetLPFBW(lms_device_t *device, bool dir_tx, size_t chan, float_type *bandwidth)
API_EXPORT void LMS_RegisterLogHandler(LMS_LogHandler handler)
API_EXPORT int CALL_CONV LMS_RecvStream(lms_stream_t *stream, void *samples, size_t sample_count, lms_stream_meta_t *meta, unsigned timeout_ms)
API_EXPORT int CALL_CONV LMS_SetLPF(lms_device_t *device, bool dir_tx, size_t chan, bool enable)
API_EXPORT int CALL_CONV LMS_GetSampleRate(lms_device_t *device, bool dir_tx, size_t chan, float_type *host_Hz, float_type *rf_Hz)
@ LMS_PATH_LNAH
RX LNA_H port.
API_EXPORT int CALL_CONV LMS_Synchronize(lms_device_t *dev, bool toChip)
float_type linkRate
Data transfer rate (B/s) over the last 1 s per direction per LMS chip.
API_EXPORT int CALL_CONV LMS_Calibrate(lms_device_t *device, bool dir_tx, size_t chan, double bw, unsigned flags)
bool(* lms_prog_callback_t)(int bsent, int btotal, const char *progressMsg)
API_EXPORT int CALL_CONV LMS_GetGFIRCoeff(lms_device_t *device, bool dir_tx, size_t chan, lms_gfir_t filt, float_type *coef)
static const int LMS_SUCCESS
convenience constant for good return code
API_EXPORT int CALL_CONV LMS_SaveConfig(lms_device_t *device, const char *filename)
double float_type
Floating point data type.
uint32_t underrun
FIFO underrun count since the last call to LMS_GetStreamStatus()
API_EXPORT int CALL_CONV LMS_DestroyStream(lms_device_t *dev, lms_stream_t *stream)
@ LMS_TESTSIG_NCODIV4F
Test signal from NCO full scale.
API_EXPORT int CALL_CONV LMS_SetLPFBW(lms_device_t *device, bool dir_tx, size_t chan, float_type bandwidth)