Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
liboxgrf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
liboxgrf
Commits
7ac3e74c
Commit
7ac3e74c
authored
May 21, 2026
by
LIU JIAYI
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init library - 2025-10
parents
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
280 additions
and
0 deletions
+280
-0
liboxgrf.so
liboxgrf.so
+0
-0
liboxgrf_ss.so
liboxgrf_ss.so
+0
-0
oxgrf_api.h
oxgrf_api.h
+280
-0
No files found.
liboxgrf.so
0 → 100644
View file @
7ac3e74c
File added
liboxgrf_ss.so
0 → 100644
View file @
7ac3e74c
File added
oxgrf_api.h
0 → 100644
View file @
7ac3e74c
#ifndef __OXGRF_SS_API_H__
#define __OXGRF_SS_API_H__
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#if defined(__WINDOWS_) || defined(_WIN32)
#define DLLEXPORT __declspec(dllexport)
#define OXGRFCALL __cdecl
#else
#define DLLEXPORT
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
typedef
struct
oxgrf_transport
OXGRF_TRANSPORT
;
typedef
struct
oxgrf_device_descriptor
{
int32_t
id
;
int32_t
status
;
uint8_t
nchips
;
uint8_t
nsubdev
;
OXGRF_TRANSPORT
*
trans
;
}
OXGRF_DESCRIPTOR
;
typedef
enum
{
OXGRF_TX1_CHANNEL
=
1
,
OXGRF_TX2_CHANNEL
=
2
,
OXGRF_TX3_CHANNEL
=
3
,
OXGRF_TX4_CHANNEL
=
4
,
OXGRF_TX5_CHANNEL
=
5
,
OXGRF_TX6_CHANNEL
=
6
,
OXGRF_TX7_CHANNEL
=
7
,
OXGRF_TX8_CHANNEL
=
8
,
}
OXGRF_RF_TX_CHANNEL
;
typedef
enum
{
OXGRF_RX1_CHANNEL
=
1
,
OXGRF_RX2_CHANNEL
=
2
,
OXGRF_RX3_CHANNEL
=
3
,
OXGRF_RX4_CHANNEL
=
4
,
OXGRF_RX5_CHANNEL
=
5
,
OXGRF_RX6_CHANNEL
=
6
,
OXGRF_RX7_CHANNEL
=
7
,
OXGRF_RX8_CHANNEL
=
8
,
}
OXGRF_RF_RX_CHANNEL
;
typedef
enum
{
OXGRF_RF_GAIN_MGC
,
OXGRF_RF_GAIN_FASTATTACK_AGC
,
OXGRF_RF_GAIN_SLOWATTACK_AGC
,
}
OXGRF_RF_GAIN_CTRL_MODE
;
typedef
enum
{
OXGRF_INTERNAL_REFERENCE
=
0
,
OXGRF_EXTERNAL_REFERENCE
,
}
OXGRF_REF_SELECT
;
typedef
enum
{
OXGRF_ADF4001
=
0
,
OXGRF_AUXDAC1
,
}
OXGRF_VCO_CAL_SELECT
;
typedef
enum
{
OXGRF_TDD
=
0
,
OXGRF_FDD
,
}
OXGRF_DUPLEX_SELECT
;
typedef
enum
{
OXGRF_RX
=
0
,
OXGRF_TX
,
}
OXGRF_TRX_SWITCH
;
typedef
enum
{
OXGRF_TX_CHANNEL_TIMEOUT
=
29
,
OXGRF_RX_CHANNEL_TIMEOUT
=
30
,
OXGRF_TX_CHANNEL_UNDERFLOW
=
31
,
OXGRF_RX_CHANNEL_OVERFLOW
=
32
,
OXGRF_TX_CHANNEL_COUNT
=
33
,
OXGRF_RX_CHANNEL_COUNT
=
34
,
}
OXGRF_CHANNEL_EVENT
;
typedef
enum
{
OXGRF_PPS_INTERNAL_EN
,
OXGRF_PPS_GPS_EN
,
OXGRF_PPS_EXTERNAL_EN
,
}
OXGRF_PPSModeEnum
;
typedef
enum
{
OXGRF_SingleSubDevSingleRF
=
0x1010
,
OXGRF_SingleSubDevDualRF
=
0x1020
,
OXGRF_SingleSubDevQuadRF
=
0x1040
,
OXGRF_DualSubDevDualRF
=
0x2011
,
OXGRF_DualSubDevTriple1RF
=
0x2012
,
OXGRF_DualSubDevTriple2RF
=
0x2021
,
OXGRF_DualSubDevQuadRF
=
0x2022
,
OXGRF_DualSubDevOctoRF
=
0x2044
,
OXGRF_NULLSubDevNULLRF
=
0
,
}
OXGRF_DEV_CFG
;
typedef
struct
{
uint8_t
receiver_mode
;
uint8_t
disciplining_mode
;
uint16_t
minor_alarms
;
uint8_t
gnss_decoding_status
;
uint8_t
disciplining_activity
;
uint8_t
pps_indication
;
uint8_t
pps_reference
;
}
OXGRF_GPS_STATUS
;
typedef
struct
{
uint8_t
second
;
uint8_t
minute
;
uint8_t
hour
;
uint8_t
day
;
uint8_t
month
;
uint32_t
year
;
}
OXGRF_TIME_24H
;
/*********************************************************************************************************************************************************/
DLLEXPORT
uint64_t
oxgrf_ticksToTimeNs
(
const
uint64_t
ticks
,
const
double
rate
);
DLLEXPORT
uint64_t
oxgrf_timeNsToTicks
(
const
uint64_t
timeNs
,
const
double
rate
);
/*********************************************************************************************************************************************************/
DLLEXPORT
OXGRF_DESCRIPTOR
*
oxgrf_open_device
(
const
char
*
url
);
DLLEXPORT
int32_t
oxgrf_close_device
(
OXGRF_DESCRIPTOR
*
oxgrf
);
DLLEXPORT
int32_t
oxgrf_get_device_configuration
(
OXGRF_DESCRIPTOR
*
oxgrf
,
OXGRF_DEV_CFG
*
cfg
);
DLLEXPORT
int32_t
oxgrf_get_firmware_version
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint32_t
*
version
);
DLLEXPORT
int32_t
oxgrf_get_model_version
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint32_t
*
version
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_get_gps_status
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_GPS_STATUS
*
g_status
);
DLLEXPORT
int32_t
oxgrf_get_utc
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_TIME_24H
*
time
);
DLLEXPORT
int32_t
oxgrf_get_xyz
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
double
*
longtitude
,
double
*
latitude
,
double
*
altitude
);
DLLEXPORT
int32_t
oxgrf_get_sampling_freq_range
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
*
sampling_freq_hz_max
,
uint32_t
*
sampling_freq_hz_min
);
DLLEXPORT
int32_t
oxgrf_get_rx_gain_range
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
*
gain_db_max
,
uint32_t
*
gain_db_min
);
DLLEXPORT
int32_t
oxgrf_get_tx_gain_range
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
*
gain_db_max
,
uint32_t
*
gain_db_min
);
DLLEXPORT
int32_t
oxgrf_get_rx_freq_range
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint64_t
*
lo_freq_hz_max
,
uint64_t
*
lo_freq_hz_min
);
DLLEXPORT
int32_t
oxgrf_get_tx_freq_range
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint64_t
*
lo_freq_hz_max
,
uint64_t
*
lo_freq_hz_min
);
/*********************************************************************************************************************************************************/
/* Get current TX LO frequency. */
DLLEXPORT
int32_t
oxgrf_get_tx_lo_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint64_t
*
lo_freq_hz
);
/* Get current TX sampling frequency. */
DLLEXPORT
int32_t
oxgrf_get_tx_sampling_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
*
sampling_freq_hz
);
/* Get the TX RF bandwidth. */
DLLEXPORT
int32_t
oxgrf_get_tx_rf_bandwidth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
*
bandwidth_hz
);
/* Get current transmit attenuation for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_tx1_attenuation
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
*
attenuation_mdb
);
/* Get current transmit attenuation for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_tx2_attenuation
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
*
attenuation_mdb
);
/* Get current RX LO frequency. */
DLLEXPORT
int32_t
oxgrf_get_rx_lo_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint64_t
*
lo_freq_hz
);
/* Get the RX RF bandwidth. */
DLLEXPORT
int32_t
oxgrf_get_rx_rf_bandwidth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
*
bandwidth_hz
);
/* Get the gain control mode for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_rx1_gain_control_mode
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
OXGRF_RF_GAIN_CTRL_MODE
*
gc_mode
);
/* Get the gain control mode for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_rx2_gain_control_mode
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
OXGRF_RF_GAIN_CTRL_MODE
*
gc_mode
);
/* Get current receive RF gain for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_rx1_rf_gain
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
*
gain_db
);
/* Get current receive RF gain for the selected channel. */
DLLEXPORT
int32_t
oxgrf_get_rx2_rf_gain
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
*
gain_db
);
DLLEXPORT
int32_t
oxgrf_get_rx1_rssi
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
*
rssi
);
DLLEXPORT
int32_t
oxgrf_get_rx2_rssi
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
*
rssi
);
/*********************************************************************************************************************************************************/
/* Set the RX LO frequency. */
DLLEXPORT
int32_t
oxgrf_set_rx_lo_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint64_t
lo_freq_hz
);
/* Set the RX RF bandwidth. */
DLLEXPORT
int32_t
oxgrf_set_rx_rf_bandwidth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
bandwidth_hz
);
/* Set the RX sampling frequency. */
DLLEXPORT
int32_t
oxgrf_set_rx_sampling_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
sampling_freq_hz
);
/* Set the gain control mode for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_rx1_gain_control_mode
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
OXGRF_RF_GAIN_CTRL_MODE
gc_mode
);
DLLEXPORT
int32_t
oxgrf_set_rx2_gain_control_mode
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
OXGRF_RF_GAIN_CTRL_MODE
gc_mode
);
/* Set the receive RF gain for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_rx1_rf_gain
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
gain_db
);
/* Set the receive RF gain for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_rx2_rf_gain
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
gain_db
);
DLLEXPORT
int32_t
oxgrf_set_rx_fir_en_dis
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint8_t
enable
);
/* Set the TX LO frequency. */
DLLEXPORT
int32_t
oxgrf_set_tx_lo_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint64_t
lo_freq_hz
);
/* Set the TX RF bandwidth. */
DLLEXPORT
int32_t
oxgrf_set_tx_rf_bandwidth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
bandwidth_hz
);
/* Set the TX sampling frequency. */
DLLEXPORT
int32_t
oxgrf_set_tx_sampling_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
sampling_freq_hz
);
/* Set the transmit attenuation for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_tx1_attenuation
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
attenuation_mdb
);
/* Set the transmit attenuation for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_tx2_attenuation
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
attenuation_mdb
);
/* Set the transmit abs power for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_tx1_abs_power
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
abs_power
);
/* Set the transmit abs power for the selected channel. */
DLLEXPORT
int32_t
oxgrf_set_tx2_abs_power
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
int32_t
abs_power
);
DLLEXPORT
int32_t
oxgrf_set_tx_fir_en_dis
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint8_t
status
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_get_rfchip_reg
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
reg
,
uint32_t
*
value
);
DLLEXPORT
int32_t
oxgrf_set_rfchip_reg
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
rf_id
,
uint32_t
reg
,
uint32_t
value
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_get_extend_cmd
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
cmd_id
,
uint64_t
*
value
,
bool
with_param
);
DLLEXPORT
int32_t
oxgrf_set_extend_cmd
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
cmd_id
,
uint64_t
value
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_set_tx_lo_int_ext
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_rx_lo_int_ext
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_ext_lo_freq
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint64_t
lo_freq_hz
);
DLLEXPORT
int32_t
oxgrf_do_mcs
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_ref_clock
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_REF_SELECT
source
);
DLLEXPORT
int32_t
oxgrf_set_vco_select
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_VCO_CAL_SELECT
vco
);
DLLEXPORT
int32_t
oxgrf_set_auxdac1
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
vol_mV
);
DLLEXPORT
int32_t
oxgrf_set_duplex_select
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_DUPLEX_SELECT
duplex
);
DLLEXPORT
int32_t
oxgrf_set_rx_ant_enable
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_tx_cyclic_enable
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_trxsw_fpga_enable
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_hwbuf_depth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
depth
);
DLLEXPORT
int32_t
oxgrf_get_hwbuf_depth
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint32_t
*
depth
);
DLLEXPORT
int32_t
oxgrf_set_pps_select
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_PPSModeEnum
pps
);
DLLEXPORT
int32_t
oxgrf_set_rxchannel_coef
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_RX_CHANNEL
channel
,
int16_t
coef1
,
int16_t
coef2
);
DLLEXPORT
int32_t
oxgrf_enable_rxchannel_corr
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_RX_CHANNEL
channel
,
uint32_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_txchannel_coef
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_TX_CHANNEL
channel
,
int16_t
coef1
,
int16_t
coef2
);
DLLEXPORT
int32_t
oxgrf_enable_txchannel_corr
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_TX_CHANNEL
channel
,
uint32_t
enable
);
DLLEXPORT
int32_t
oxgrf_set_txchannel_ampcoef
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_TX_CHANNEL
channel
,
int16_t
coef
);
DLLEXPORT
int32_t
oxgrf_set_rxchannel_ampcoef
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
OXGRF_RF_RX_CHANNEL
channel
,
int16_t
coef
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_enable_timestamp
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint8_t
enable
);
DLLEXPORT
int32_t
oxgrf_read_timestamp
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint8_t
dev_id
,
uint64_t
*
timestamp
);
DLLEXPORT
int32_t
oxgrf_get_channel_event
(
OXGRF_DESCRIPTOR
*
oxgrf
,
OXGRF_CHANNEL_EVENT
event
,
uint8_t
channel
,
uint32_t
*
count
);
/*********************************************************************************************************************************************************/
DLLEXPORT
int32_t
oxgrf_read_samples
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
OXGRF_RF_RX_CHANNEL
channel
,
uint64_t
*
timestamp
);
DLLEXPORT
int32_t
oxgrf_read_samples_multiport
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
**
buffer
,
uint32_t
count
,
uint32_t
channel_mask
,
uint64_t
*
timestamp
);
DLLEXPORT
int32_t
oxgrf_read_samples_multiport_Matlab
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
uint32_t
channel_mask
,
uint64_t
*
timestamp
);
DLLEXPORT
int32_t
oxgrf_dump_samples_multiport
(
OXGRF_DESCRIPTOR
*
oxgrf
,
uint32_t
count
,
uint32_t
channel_mask
,
uint64_t
*
timestamp
);
/* Since the data contains a 16-byte header, the size of the buffer should be greater than or equal to (count*4+16) Bytes*/
DLLEXPORT
int32_t
oxgrf_read_samples_zerocopy
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
OXGRF_RF_RX_CHANNEL
channel
,
uint64_t
*
timestamp
);
DLLEXPORT
int32_t
oxgrf_write_samples
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
OXGRF_RF_TX_CHANNEL
channel
,
uint64_t
timestamp
);
DLLEXPORT
int32_t
oxgrf_write_samples2
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
OXGRF_RF_TX_CHANNEL
channel
,
uint64_t
timestamp
,
uint32_t
flags
);
DLLEXPORT
int32_t
oxgrf_write_samples_multiport
(
OXGRF_DESCRIPTOR
*
oxgrf
,
const
void
**
buffer
,
uint32_t
count
,
uint32_t
channel_mask
,
uint64_t
timestamp
,
uint32_t
flags
);
DLLEXPORT
int32_t
oxgrf_write_samples_multiport_Matlab
(
OXGRF_DESCRIPTOR
*
oxgrf
,
const
void
*
buffer
,
uint32_t
count
,
uint32_t
channel_mask
,
uint64_t
timestamp
,
uint32_t
flags
);
DLLEXPORT
int32_t
oxgrf_write_samples_zerocopy
(
OXGRF_DESCRIPTOR
*
oxgrf
,
void
*
buffer
,
uint32_t
count
,
OXGRF_RF_TX_CHANNEL
channel
,
uint64_t
timestamp
);
/*********************************************************************************************************************************************************/
DLLEXPORT
void
float_to_int16
(
int16_t
*
dst
,
const
float
*
src
,
int
n
,
float
mult
);
DLLEXPORT
void
int16_to_float
(
float
*
dst
,
const
int16_t
*
src
,
int
len
,
float
mult
);
DLLEXPORT
void
int16_to_float_avx2
(
float
*
outputVector
,
const
int16_t
*
inputVector
,
unsigned
int
num_points
);
DLLEXPORT
void
float_to_int16_avx2
(
int16_t
*
outputVector
,
const
float
*
inputVector
,
unsigned
int
num_points
);
/*********************************************************************************************************************************************************/
#ifdef __cplusplus
}
#endif
#endif
/* __OXGRF_SS_API_H__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment