Functions
Sensor

mmwave radar RF/Sensor Configuration Module More...

Functions

MMWL_EXPORT rlReturnVal_t rlSetChannelConfig (rlUInt8_t deviceMap, rlChanCfg_t *data)
 Sets the Rx and Tx Channel Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetAdcOutConfig (rlUInt8_t deviceMap, rlAdcOutCfg_t *data)
 Sets ADC Output Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetLowPowerModeConfig (rlUInt8_t deviceMap, rlLowPowerModeCfg_t *data)
 Sets Low Power Mode Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlRfInit (rlUInt8_t deviceMap)
 Initializes the RF/Analog Subsystem. More...
 
MMWL_EXPORT rlReturnVal_t rlGetProfileConfig (rlUInt8_t deviceMap, rlUInt16_t profileId, rlProfileCfg_t *data)
 Gets Chirp profile Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetProfileConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlProfileCfg_t *data)
 Sets Chirp profile Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlGetChirpConfig (rlUInt8_t deviceMap, rlUInt16_t chirpStartIdx, rlUInt16_t chirpEndIdx, rlChirpCfg_t *data)
 Gets Chirp Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetChirpConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlChirpCfg_t *data)
 Sets Chirp Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetMultiChirpCfg (rlUInt8_t deviceMap, rlUInt16_t cnt, rlChirpCfg_t **data)
 Injects chirp configuration to be programmed dynamically. More...
 
MMWL_EXPORT rlReturnVal_t rlGetFrameConfig (rlUInt8_t deviceMap, rlFrameCfg_t *data)
 Gets Frame Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetFrameConfig (rlUInt8_t deviceMap, rlFrameCfg_t *data)
 Sets Frame Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSensorStart (rlUInt8_t deviceMap)
 Triggers Transmission of Frames. More...
 
MMWL_EXPORT rlReturnVal_t rlSensorStop (rlUInt8_t deviceMap)
 Stops Transmission of Frames. More...
 
MMWL_EXPORT rlReturnVal_t rlGetAdvFrameConfig (rlUInt8_t deviceMap, rlAdvFrameCfg_t *data)
 Gets Advance Frame Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetAdvFrameConfig (rlUInt8_t deviceMap, rlAdvFrameCfg_t *data)
 Sets Advance Frame Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetContModeConfig (rlUInt8_t deviceMap, rlContModeCfg_t *data)
 Sets Continous mode Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlEnableContMode (rlUInt8_t deviceMap, rlContModeEn_t *data)
 Enable/Disable Continous mode. More...
 
MMWL_EXPORT rlReturnVal_t rlSetBpmCommonConfig (rlUInt8_t deviceMap, rlBpmCommonCfg_t *data)
 Sets Binary Phase Modulation Common Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetBpmChirpConfig (rlUInt8_t deviceMap, rlBpmChirpCfg_t *data)
 Sets Binary Phase Modulation Chirp Configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlSetMultiBpmChirpConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlBpmChirpCfg_t **data)
 Sets Binary Phase Modulation configuration for multiple Chirp. More...
 
MMWL_EXPORT rlReturnVal_t rlSetTestSourceConfig (rlUInt8_t deviceMap, rlTestSource_t *data)
 Configures the Test Source. More...
 
MMWL_EXPORT rlReturnVal_t rlTestSourceEnable (rlUInt8_t deviceMap, rlTestSourceEnable_t *data)
 Enables the Test Source. More...
 
MMWL_EXPORT rlReturnVal_t rlRfGetTemperatureReport (rlUInt8_t deviceMap, rlRfTempData_t *data)
 Gets Time and Temperature information report. More...
 
MMWL_EXPORT rlReturnVal_t rlRfDfeRxStatisticsReport (rlUInt8_t deviceMap, rlDfeStatReport_t *data)
 Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains. More...
 
MMWL_EXPORT rlReturnVal_t rlRfDynamicPowerSave (rlUInt8_t deviceMap, rlDynPwrSave_t *data)
 : Configure dynamic power saving feature. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetDeviceCfg (rlUInt8_t deviceMap, rlRfDevCfg_t *data)
 : Set different RadarSS device configurations More...
 
MMWL_EXPORT rlReturnVal_t rlSetGpAdcConfig (rlUInt8_t deviceMap, rlGpAdcCfg_t *data)
 : Configure GP ADC data parameters More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetPhaseShiftConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlRfPhaseShiftCfg_t *data)
 Enable/Disable phase shift configurations per chirp in each of the TXs. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetPALoopbackConfig (rlUInt8_t deviceMap, rlRfPALoopbackCfg_t *data)
 Enable/Disable PA loopback for all enabled profiles. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetPSLoopbackConfig (rlUInt8_t deviceMap, rlRfPSLoopbackCfg_t *data)
 Enable/Disable Phase shift loopback for all enabled profiles. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetIFLoopbackConfig (rlUInt8_t deviceMap, rlRfIFLoopbackCfg_t *data)
 Enable/Disable RF IF loopback for all enabled profiles. This is used for debug to check if both TX and RX chains are working correctly. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetProgFiltCoeffRam (rlUInt8_t deviceMap, rlRfProgFiltCoeff_t *data)
 Set Programmable Filter coefficient RAM. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetProgFiltConfig (rlUInt8_t deviceMap, rlRfProgFiltConf_t *data)
 Set Programmable Filter configuration. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetMiscConfig (rlUInt8_t deviceMap, rlRfMiscConf_t *data)
 Sets misc feature such as per chirp phase shifter. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetCalMonTimeUnitConfig (rlUInt8_t deviceMap, rlRfCalMonTimeUntConf_t *data)
 Set Calibration monitoring time unit. More...
 
MMWL_EXPORT rlReturnVal_t rlRfSetCalMonFreqLimitConfig (rlUInt8_t deviceMap, rlRfCalMonFreqLimitConf_t *data)
 Set Calibration monitoring Frequency Limit. More...
 
MMWL_EXPORT rlReturnVal_t rlRfInitCalibConfig (rlUInt8_t deviceMap, rlRfInitCalConf_t *data)
 Set RF Init Calibration Mask bits and report type. More...
 
MMWL_EXPORT rlReturnVal_t rlRfRunTimeCalibConfig (rlUInt8_t deviceMap, rlRunTimeCalibConf_t *data)
 Set RF one time & periodic calibration of various RF/analog aspects and trigger. More...
 
MMWL_EXPORT rlReturnVal_t rlRxGainTempLutSet (rlUInt8_t deviceMap, rlRxGainTempLutData_t *data)
 Overwrite RX gain temperature Lookup Table(LUT) in Radar SS. More...
 
MMWL_EXPORT rlReturnVal_t rlTxGainTempLutSet (rlUInt8_t deviceMap, rlTxGainTempLutData_t *data)
 Overwrites TX gain temperature based Lookup table (LUT) More...
 
MMWL_EXPORT rlReturnVal_t rlRfTxFreqPwrLimitConfig (rlUInt8_t deviceMap, rlRfTxFreqPwrLimitMonConf_t *data)
 Sets the limits for RF frequency transmission for each TX and also TX power limits. More...
 
MMWL_EXPORT rlReturnVal_t rlSetLoopBckBurstCfg (rlUInt8_t deviceMap, rlLoopbackBurst_t *data)
 This API is used to introduce loopback chirps within the functional frames. More...
 
MMWL_EXPORT rlReturnVal_t rlSetDynChirpCfg (rlUInt8_t deviceMap, rlUInt16_t segCnt, rlDynChirpCfg_t **data)
 Injects chirp configuration to be programmed dynamically. More...
 
MMWL_EXPORT rlReturnVal_t rlSetDynChirpEn (rlUInt8_t deviceMap, rlDynChirpEnCfg_t *data)
 Triggers copy of chirp config from SW to HW RAM. More...
 
MMWL_EXPORT rlReturnVal_t rlRfCalibDataStore (rlUInt8_t deviceMap, rlCalibrationData_t *data)
 Read calibration data from the device. More...
 
MMWL_EXPORT rlReturnVal_t rlRfCalibDataRestore (rlUInt8_t deviceMap, rlCalibrationData_t *data)
 Injects calibration data to the device. More...
 
MMWL_EXPORT rlReturnVal_t rlRfInterRxGainPhaseConfig (rlUInt8_t deviceMap, rlInterRxGainPhConf_t *data)
 Sets different Rx gain/phase offset. More...
 
MMWL_EXPORT rlReturnVal_t rlGetRfBootupStatus (rlUInt8_t deviceMap, rlRfBootStatusCfg_t *data)
 Get radarSS bootup status. More...
 
MMWL_EXPORT rlReturnVal_t rlSetInterChirpBlkCtrl (rlUInt8_t deviceMap, rlInterChirpBlkCtrlCfg_t *data)
 Sets Inter-chip turn on and turn off times or various RF blocks. More...
 
MMWL_EXPORT rlReturnVal_t rlSetSubFrameStart (rlUInt8_t deviceMap, rlSubFrameStartCfg_t *data)
 Triggers the next sub-frame in software triggered sub-frame mode. More...
 
MMWL_EXPORT rlReturnVal_t rlRfPhShiftCalibDataStore (rlUInt8_t deviceMap, rlPhShiftCalibrationData_t *data)
 Read calibration data from the device. More...
 
MMWL_EXPORT rlReturnVal_t rlRfPhShiftCalibDataRestore (rlUInt8_t deviceMap, rlPhShiftCalibrationData_t *data)
 Injects phase shifter calibration data to the device. More...
 
MMWL_EXPORT rlReturnVal_t rlGetRfDieId (rlUInt8_t deviceMap, rlRfDieIdCfg_t *data)
 Get device die ID status. More...
 

Detailed Description

mmwave radar RF/Sensor Configuration Module

mmwave_frontend.png

The RF/Sensor Configuration module controls the different HW blocks inside mmWave Front end. mmWave Front End has below key blocks

  1. Chirp sequencer (Radar Timing Engine) - This block is responsible for constructing the sequence of FMCW chirps or frames and programming the timing engine
  2. Rx/Tx Channel - This defines how many Rx and Tx channel needs to be enabled. Also it defines how to configure the mmWave front end in cascade mode for Imaging Radar
  3. Rx Analog Chain - This defines how the received signal is mixed and how different filters in the chain can be configured
  4. ADC and Digital Front End Configuration - This defines how the IF data is digitized and how it is sampled for further processing in the DSP or Hardware Accelerator. Same ADC data can be sent over LVDS/CSI2 interface to an extenal processor

The Sensor Control APIs needs to be called by application in below sequence

Initial/Static Configuration

Application should first configure the mmWave Front end or Radar SS with below Static configurations

Initialization and Calibration

After initial static configurations, application should initialize RF and shall wait for calibration complete Asynchornous event RL_RF_AE_INITCALIBSTATUS_SB

FMCW chirp Configuration

After RF initilization, Application can configure chirps and frame using below APIs

Frame Trigger

After All the configuration, Application can use Sensor Start API to start Frame and shall wait for Frame Ready Asynchronous event RL_RF_AE_FRAME_TRIGGER_RDY_SB

Below is the list of advance features in mmWave Front end

Advance Frame

Legacy frame config API rlSetFrameConfig supports looping of the same FMCW frame. In order to configure multiple FMCW frames with different chirp profiles, user needs to use rlSetAdvFrameConfig API. Advance Frame consists of one or upto 4 Sub-Frames Each Sub-Frame consists of multiple bursts. Each burst consists of multiple chirps as shown in diagram below.
To enable Advance Frame, Application needs to follow below sequence

adv_frame_seq.png

Dynamic Chirp Configuration

Using Legacy chirp configuration API rlSetChirpConfig, chirps can't be re-configure without stopping the ongoing FMCW frame using rlSensorStop API.
If user needs to re-configure chirp during the frame, it needs to use Dynamic chirp config APIs. Once the API is received by mmWave Front end, it would re-configure the chirps for next FMCW frame. Dynamic Chirps can be defined using below APIs

Diagram below shows the Dynamic Chirp behaviour. Note that since dynamic chirps are configured at run time, there is not error checks done on the input data. If input data is out of range or invalid, device might misbehave.

dyn_chip_seq.png

Calibration

TI mmWave Front end includes built-in processor that is programmed by TI to handle RF calibrations and functional safety monitoring. The RF calibrations ensure that the performance of the device is maintained across temperature and process corners

  1. Some of the calibrations are just temperature and process based look-up-tables, which are used to update the RF/Analog components
  2. Built-in temperature sensors enable the device to monitor the temperature every few seconds and update the relevant components accordingly

Below is the list of calibrations and corresponding duration in microseconds
Boot Time Calibration

Calibration Duration
Calibration Duration(us)
APLL330
Synth VCO1300
LO DIST12
ADC DC 600
HPF cutoff 3500
LPF cut off 3200
Peak detector4200
TX power (assumes 2 TX use-case)6000
RX gain 2300
TX phase (not enabled in firmware)150
RX IQMM (Not applcicable for Real ADC mode)32000

Run Time Calibration

Calibration Duration
Calibration Duration(us)
APLL150
Synth VCO300
LO DIST30
Peak detector500
TX power (assumes 2 TX use-case)800
RX gain 30
Application of calibration to hardware (This needs to be included always) 150
 Related Files
- rl_sensor.c

Function Documentation

rlReturnVal_t rlEnableContMode ( rlUInt8_t  deviceMap,
rlContModeEn_t data 
)

Enable/Disable Continous mode.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Continous Mode enable/disable
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function enables/disables the FMCW radar continous mode

Definition at line 1291 of file rl_sensor.c.

rlReturnVal_t rlGetAdvFrameConfig ( rlUInt8_t  deviceMap,
rlAdvFrameCfg_t data 
)

Gets Advance Frame Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[out]data- Container for Advance Frame Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function reads the advance frame properties of the device.

Definition at line 1183 of file rl_sensor.c.

rlReturnVal_t rlGetChirpConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  chirpStartIdx,
rlUInt16_t  chirpEndIdx,
rlChirpCfg_t data 
)

Gets Chirp Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]chirpStartIdx- Chirp Start Index
[in]chirpEndIdx- Chirp End Index
[out]data- Container for Chirp Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function gets the chirp configuration from the device.

Definition at line 711 of file rl_sensor.c.

rlReturnVal_t rlGetFrameConfig ( rlUInt8_t  deviceMap,
rlFrameCfg_t data 
)

Gets Frame Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[out]data- Container for Frame Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function reads the frame properties of the device.

Definition at line 1045 of file rl_sensor.c.

rlReturnVal_t rlGetProfileConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  profileId,
rlProfileCfg_t data 
)

Gets Chirp profile Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]profileId- Profile Id
[out]data- Container for Profile Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function gets the FMCW radar chirp properties like FMCW slope, chirp duration, TX power etc. from the device.

Definition at line 505 of file rl_sensor.c.

rlReturnVal_t rlGetRfBootupStatus ( rlUInt8_t  deviceMap,
rlRfBootStatusCfg_t data 
)

Get radarSS bootup status.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- bootup status configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API gets the radarSS bootup status

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 3144 of file rl_sensor.c.

rlReturnVal_t rlGetRfDieId ( rlUInt8_t  deviceMap,
rlRfDieIdCfg_t data 
)

Get device die ID status.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[out]data- Die ID status
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API gets the device Die ID status

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 3424 of file rl_sensor.c.

rlReturnVal_t rlRfCalibDataRestore ( rlUInt8_t  deviceMap,
rlCalibrationData_t data 
)

Injects calibration data to the device.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Calibration data of 3 chunks stored at application space
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API restores the calibration data which was stored previously using the rlCalibDataStore command. Application needs to feed in 3 chunks of calibration data.

Note
: Once the calibration data is restored properly in radarSS SW RAM and validated, mmWave Front end would send asynchronous event RL_RF_AE_INITCALIBSTATUS_SB indicating the result of the calibrations based on Calib data sent by the application.
: This API is not supported in IWR6843 ES1.0

Definition at line 2970 of file rl_sensor.c.

rlReturnVal_t rlRfCalibDataStore ( rlUInt8_t  deviceMap,
rlCalibrationData_t data 
)

Read calibration data from the device.

Parameters
[in]deviceMap- Bitmap of devices to send the message.
[in]data- Calibration data of 3 chunks which will filled by device.
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API reads the calibration data from the device which can be injected later using the rlCalibDataRestore command. RadarSS will return 3 chunks of calibration data.

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 3040 of file rl_sensor.c.

rlReturnVal_t rlRfDfeRxStatisticsReport ( rlUInt8_t  deviceMap,
rlDfeStatReport_t data 
)

Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container of dfe receiver status report
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains

Definition at line 1637 of file rl_sensor.c.

rlReturnVal_t rlRfDynamicPowerSave ( rlUInt8_t  deviceMap,
rlDynPwrSave_t data 
)

: Configure dynamic power saving feature.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container of dynamic power save information
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Configure dynamic power saving feature during Inter chirp Idle time by turning off various circuits such as Transmitter, Receiver and LO distribution blocks

Note
: whether to enable dynamic power saving during inter-chirp IDLE times by turning off various circuits e.g. TX, RX, LO Distribution blocks. If Idle time + Tx start time < 10us or Idle time < 3.5us then inter-chirp dynamic power save option will be disabled, in that case, 15us of inter-burst idle time will be utilized to configure sequencer LO, TX and RX signal timings by firmware.

Definition at line 1682 of file rl_sensor.c.

rlReturnVal_t rlRfGetTemperatureReport ( rlUInt8_t  deviceMap,
rlRfTempData_t data 
)

Gets Time and Temperature information report.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[out]data- Structure to store temperature report from all the temp sensors
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function reads Temperature information from all temperature sensors in the device

Note
: In IWR6843 ES1.0, only Tx0, Tx1, Tx2 and PM temperature sensors are supported, rest of the temperature sensors always reads zero

Definition at line 1595 of file rl_sensor.c.

rlReturnVal_t rlRfInit ( rlUInt8_t  deviceMap)

Initializes the RF/Analog Subsystem.

Parameters
[in]deviceMap- Bitmap of devices to send the message
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Initializes the RF/Analog Subsystem. This triggers one time calibrations for APLL and synthesizer. Calibration can be enabled/disabled using Calibraton configuration APIs

Note
: Once the calibration is complete, mmWave Front end would send asynchronous event RL_RF_AE_INITCALIBSTATUS_SB indicating the result of the initialization/calibrations

Definition at line 1470 of file rl_sensor.c.

rlReturnVal_t rlRfInitCalibConfig ( rlUInt8_t  deviceMap,
rlRfInitCalConf_t data 
)

Set RF Init Calibration Mask bits and report type.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- RF Init calib config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function configures RF Init calibration mask bits and report type. Normally, upon receiving rlRfInit API, the Radar SS performs all relevant initial calibrations. This step can be disabled by setting the corresponding bit in rlRfInitCalConf_t field to 0x0.If disabled, the host needs to send the calibration data using rlRfCalibDataRestore so that the RadarSS can operate using the injected calibration data

Note
1 : Debug use: Each of these calibrations can be selectively disabled by issuing this message before rlRfInit API.
2 : The APLL, SYNTH1 and SYNTH2 calibrations are always triggred by default on RF init command.
3 : In IWR6843 ES1.0, only APLL, SYNTH1, SYNTH2 and LODIST calibrations are supported.

Definition at line 2320 of file rl_sensor.c.

rlReturnVal_t rlRfInterRxGainPhaseConfig ( rlUInt8_t  deviceMap,
rlInterRxGainPhConf_t data 
)

Sets different Rx gain/phase offset.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Inter RX gain, phase offset config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to induce different gain/phase offsets on the different RXs, for inter-RX mismatch compensation.

Definition at line 3109 of file rl_sensor.c.

rlReturnVal_t rlRfPhShiftCalibDataRestore ( rlUInt8_t  deviceMap,
rlPhShiftCalibrationData_t data 
)

Injects phase shifter calibration data to the device.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Calibration data of number of TX channels enabled chunks stored at application space
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API restores the phase shifter calibration data which was stored previously using the rlRfPhShiftCalibDataStore command. Application needs to feed number of TX channels enabled chunks of phase shifter calibration data. This is device specific feature, please refer data sheet.

Definition at line 3273 of file rl_sensor.c.

rlReturnVal_t rlRfPhShiftCalibDataStore ( rlUInt8_t  deviceMap,
rlPhShiftCalibrationData_t data 
)

Read calibration data from the device.

Parameters
[in]deviceMap- Bitmap of devices to send the message.
[in]data- Phase shift calibration data of number of TX channels enbled chunks which will filled by device.
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API reads the phase shifter calibration data from the device which can be injected later using the rlRfPhShifterCalibDataRestore command. RadarSS will return number of TX chunks of phase shifter calibration data.This is device specific feature, please refer data sheet.

Definition at line 3348 of file rl_sensor.c.

rlReturnVal_t rlRfRunTimeCalibConfig ( rlUInt8_t  deviceMap,
rlRunTimeCalibConf_t data 
)

Set RF one time & periodic calibration of various RF/analog aspects and trigger.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Runtime calibration config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function configures RF one time & periodic calibration of various RF/analog aspects and trigger. The response is in the form of an asynchronous event. The calibration would be performed by Radar SS during while framing during any idle time slot of 200uS

Note
1: This API must be called after rlSetProfileConfig
2: This API should be issued when the device is not framing.
3 : Only APLL, SYNTH1, SYNTH2 and LODIST run time calibrations are supported in IWR6843 ES1.0 device

Definition at line 2365 of file rl_sensor.c.

rlReturnVal_t rlRfSetCalMonFreqLimitConfig ( rlUInt8_t  deviceMap,
rlRfCalMonFreqLimitConf_t data 
)

Set Calibration monitoring Frequency Limit.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- RF Calib Frequency Limit config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function configures limits on RF frequency transmission during calibration and monitoring

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 2272 of file rl_sensor.c.

rlReturnVal_t rlRfSetCalMonTimeUnitConfig ( rlUInt8_t  deviceMap,
rlRfCalMonTimeUntConf_t data 
)

Set Calibration monitoring time unit.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- RF Calib Monitoring Time unit config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function configures calibration monitoring time unit

Definition at line 2229 of file rl_sensor.c.

rlReturnVal_t rlRfSetDeviceCfg ( rlUInt8_t  deviceMap,
rlRfDevCfg_t data 
)

: Set different RadarSS device configurations

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Configuration parameter for AE.
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Set different RadarSS device configurations. Enable and Configure asynchronous event direction for device. By default all asynchronous event are enabled and sent to the platform which issued the API. Below events can be configured to be received on different platform by using this API:
[1.] CPU_FAULT [2.] ESM_FAULT [3.] ANALOG_FAULT Similarly all monitoring events can be configured to be received on specific platform using this API Below events can be disabled using this API:
[1.] FRAME_START_ASYNC_EVENT [2.] FRAME_STOP_ASYNC_EVENT
Enable[1]/Disable[0] RadarSS Watchdog, where by default it is disable. Configure CRC type for asynchronous event from RadarSS [0] 16Bit, [1] 32Bit, [2] 64Bit.

Definition at line 1731 of file rl_sensor.c.

rlReturnVal_t rlRfSetIFLoopbackConfig ( rlUInt8_t  deviceMap,
rlRfIFLoopbackCfg_t data 
)

Enable/Disable RF IF loopback for all enabled profiles. This is used for debug to check if both TX and RX chains are working correctly.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- IF loopback configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function Enables/Disables RF IF loopback for all enabled profiles. This is used to debug the RX IF chain.

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 2063 of file rl_sensor.c.

rlReturnVal_t rlRfSetMiscConfig ( rlUInt8_t  deviceMap,
rlRfMiscConf_t data 
)

Sets misc feature such as per chirp phase shifter.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Misc configuration such as per chirp phase shifter
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function enables misc feature such as per chirp phase shifter.This API is valid for devices for which phase shifter is enabled(AWR1243P, AWR1843).

Definition at line 2191 of file rl_sensor.c.

rlReturnVal_t rlRfSetPALoopbackConfig ( rlUInt8_t  deviceMap,
rlRfPALoopbackCfg_t data 
)

Enable/Disable PA loopback for all enabled profiles.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- PA loopback configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function Enables/Disables PA loopback for all enabled profiles. This is used for debug purpose that both the TX and RX paths are working properly

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 1982 of file rl_sensor.c.

rlReturnVal_t rlRfSetPhaseShiftConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  cnt,
rlRfPhaseShiftCfg_t data 
)

Enable/Disable phase shift configurations per chirp in each of the TXs.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]cnt- Number of configurations
[in]data- phase shift enable/disable configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function configures the static phase shift configurations per chirp in each of the TXs. This API is applicable only in certain devices (please refer data sheet). This API will be honored after enabling per chirp phase shifter in rlRfSetMiscConfig.

Note
1 : Phase shifters are applied at the knee of the ramp.
2 : This API is not supported in IWR6843 ES1.0

Definition at line 1860 of file rl_sensor.c.

rlReturnVal_t rlRfSetProgFiltCoeffRam ( rlUInt8_t  deviceMap,
rlRfProgFiltCoeff_t data 
)

Set Programmable Filter coefficient RAM.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- array of coefficients for the programmable filter
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function is used to program the coefficients for the external programmable filter. This API is applicable only in xWR1642/IWR6843/xWR1843.

Note
1: The programmable filter is applicable in Complex 1X and Real-only output modes for sampling rates under 6.25 Msps (Complex 1X) and under 12.5 Msps (Real). This is to allow for a trade-off between digital filter chain setting time and close-in anti-alias attenuation. A real-coefficient FIR with up to 26 taps (16-bit coefficients) is supported in the Complex 1X output mode, and a real-coefficient FIR with up to 20 taps (16-bit coefficients) in supported in the Real output mode.
2: This API should be issued before rlSetProfileConfig.
3: This API should not be issued when frames are ongoing.

Definition at line 2110 of file rl_sensor.c.

rlReturnVal_t rlRfSetProgFiltConfig ( rlUInt8_t  deviceMap,
rlRfProgFiltConf_t data 
)

Set Programmable Filter configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- programmable filter configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function selects programmable filter cofficient RAM and map it to configured profile ID.

Note
1: This API is applicable only in xWR1642/IWR6843/xWR1843
2: This API should not be issued when frames are ongoing.

Definition at line 2152 of file rl_sensor.c.

rlReturnVal_t rlRfSetPSLoopbackConfig ( rlUInt8_t  deviceMap,
rlRfPSLoopbackCfg_t data 
)

Enable/Disable Phase shift loopback for all enabled profiles.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Phase shift loopback configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function Enables/Disables Phase shift loopback for all enabled profiles.This is used to debug the TX (before the PA) and RX chains.

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 2022 of file rl_sensor.c.

rlReturnVal_t rlRfTxFreqPwrLimitConfig ( rlUInt8_t  deviceMap,
rlRfTxFreqPwrLimitMonConf_t data 
)

Sets the limits for RF frequency transmission for each TX and also TX power limits.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Tx Rf freq and power limit config data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API sets the limits for RF frequency transmission for each TX and also TX power limits.

Note
: This API is not supported in IWR6843 ES1.0

Definition at line 2606 of file rl_sensor.c.

rlReturnVal_t rlRxGainTempLutSet ( rlUInt8_t  deviceMap,
rlRxGainTempLutData_t data 
)

Overwrite RX gain temperature Lookup Table(LUT) in Radar SS.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- RX gain Temperature LUT config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to overwrite the RX gain Lookup Table(LUT) for different temperature used in RadarSS.

Note
1 : This API should be issued after profile configuration API.
2 : This API is not supported in IWR6843 ES1.0

Definition at line 2406 of file rl_sensor.c.

rlReturnVal_t rlSensorStart ( rlUInt8_t  deviceMap)

Triggers Transmission of Frames.

Parameters
[in]deviceMap- Bitmap of devices to send the message
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function triggers the transmission of the frames as per the frame and chirp configuration If trigger mode is selected as SW API based trigger, mmWaveFront end would start chirp immediately after receiving this API. If trigger mode is HW SYNC IN pulse, it would wait for SYNC pulse

Note
: Once the chirping starts, mmWave Front end would send asynchronous event RL_RF_AE_FRAME_TRIGGER_RDY_SB indicating the start of frame

Definition at line 1378 of file rl_sensor.c.

rlReturnVal_t rlSensorStop ( rlUInt8_t  deviceMap)

Stops Transmission of Frames.

Parameters
[in]deviceMap- Bitmap of devices to send the message
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function stops the transmission of the frames.

Note
: Once the chirping stops, mmWave Front end would send asynchronous event RL_RF_AE_FRAME_END_SB indicating the stop of frame

Definition at line 1423 of file rl_sensor.c.

rlReturnVal_t rlSetAdcOutConfig ( rlUInt8_t  deviceMap,
rlAdcOutCfg_t data 
)

Sets ADC Output Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for ADC Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the static device configuration for the data format of the ADC and digital front end output. This is RAW ADC samples of IF signal and needs to be processed by HW accelerator or DSP. The ADC data can be sent to external Processor over High Speed Interface such as LVDS or CSI2. The ADC data size supported are 12, 14 and 16 bits and supported formats are Real, Complex 1x and Complex 2x. In Complex 1x, Image band is filtered out and only signal band is sampled in ADC. Where as in Complex 2x, Both Image and Signal band is sampled.
Complex baseband architecture results in better noise figure and is recommended.

Note
At the same sampling frequency(Fs), Complex 1x would support IF bandwidth of Fs, where as real and complex 2x would provide IF bandwidth of upto Fs/2.

Definition at line 152 of file rl_sensor.c.

rlReturnVal_t rlSetAdvFrameConfig ( rlUInt8_t  deviceMap,
rlAdvFrameCfg_t data 
)

Sets Advance Frame Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Advance Frame Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function allows configuration of advance frame in mmWave Front end. Advance Frame is a sequence of chirps and how this sequnece needs to be repeated over time. User first need to define a profile and set of chirps(associated with a profile).
This function then defines how to sequence these chirps. Multiple chirps can be looped to create a burst. Multiple bursts can be grouped to create a sub-frame. Multiple sub-frames(Upto 4) can be grouped to create advance frame.
This function defines the advance frame properties like the number of burst in subframe, number of chirps and loops in a burst, sequence of subframes to be transmitted, number of frames to be transmitted, periodicity of the frame and the trigger method.

Definition at line 1126 of file rl_sensor.c.

rlReturnVal_t rlSetBpmChirpConfig ( rlUInt8_t  deviceMap,
rlBpmChirpCfg_t data 
)

Sets Binary Phase Modulation Chirp Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for BPM chirp configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs

Note
1: BPM values are applied at TX start time.
2: This API is not supported in IWR6843 ES1.0

Definition at line 240 of file rl_sensor.c.

rlReturnVal_t rlSetBpmCommonConfig ( rlUInt8_t  deviceMap,
rlBpmCommonCfg_t data 
)

Sets Binary Phase Modulation Common Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for BPM common Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs. E.g. the source of the BPM pattern (one constant value for each chirp as defined, or intra-chirp pseudo random BPM pattern as found by a programmable LFSR or a programmable sequence inside each chirp), are defined here.

Note
1: Different source of BPM is currently not supported, hence this API is not required to be called by application.
2: This API is not supported in IWR6843 ES1.0

Definition at line 198 of file rl_sensor.c.

rlReturnVal_t rlSetChannelConfig ( rlUInt8_t  deviceMap,
rlChanCfg_t data 
)

Sets the Rx and Tx Channel Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Channel Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function allows configuration of mmWave Front end for how many Receiver and Transmit channels need to be enabled. It also defines whether to to enable single mmWave device or multiple mmWave devices to realize a larger antenna array (multiple is applicable only in AWR1243). This is applicable for given power cycle.

Note
This is global configuration for transmit channels. Later one can chose which transmit channel to be used for each chirp using Chirp configuaration API. For e.g - If Chirp 0, uses TX0 and TX1, and Chirp 1 uses TX1 and TX2, One need to enable TX0, TX1 and TX2 in this API. Based on the configuration, mmWave Front would do necessary calibration before the transmit channel is used to transmit chirps

rlSetChirpConfig

Definition at line 107 of file rl_sensor.c.

rlReturnVal_t rlSetChirpConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  cnt,
rlChirpCfg_t data 
)

Sets Chirp Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]cnt- Number of configurations
[in]data- Array of Chirp Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the chirp to chirp variations on top of the chirp profile. The User should first define a profile using rlSetProfileConfig. This function then configures the chirp by associating it with a particular profile defined in rlSetProfileConfig API. In addition to that user can define fine dither to the profile parameters using this API. The dithers used in this configuration are only additive on top of programmed parameters in rlSetProfileConfig. This API allows configuration of 1 or upto 512 chirps. Also it allows configuraiton of which Transmit channels to be used for each chirp.

Note
1: One can set upto 512 unique chirps which can be stored in dedicated memory inside mmWave front end. Hence user doesn't need to program the chirps during run time. Also these chirps can be sequenced in a frame using rlSetFrameConfig to create a larger FMCW signal.
2: If hardware triggered mode is used, the SYNC_IN pulse width should be less than the ON time of the frame (in case of legacy frame config mode) or the ON time of the burst (in case of advanced frame config mode). Also, the minimum pulse width of SYNC_IN should be 25 ns.
3: If frame trigger delay is used with hardware triggered mode, then external SYNC_IN pulse periodicity should take care of the configured frame trigger delay and frame periodicity. The external pulse should be issued only after the sum total of frame trigger delay and frame periodicity.

rlSetFrameConfig

Definition at line 587 of file rl_sensor.c.

rlReturnVal_t rlSetContModeConfig ( rlUInt8_t  deviceMap,
rlContModeCfg_t data 
)

Sets Continous mode Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Continous mode Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the FMCW radar continous mode properties like Start Freq, TX power etc. In continuous mode, the signal is not frequency modulated but has the same frequency over time.

Definition at line 1252 of file rl_sensor.c.

rlReturnVal_t rlSetDynChirpCfg ( rlUInt8_t  deviceMap,
rlUInt16_t  segCnt,
rlDynChirpCfg_t **  data 
)

Injects chirp configuration to be programmed dynamically.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]segCnt- number of segments for which application sends array of data.
[in]data- Dynamic chirp configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to dynamically change the chirp configuration while frames are on-going. The configuration will be stored in software and at rlDynChirpEnCfg API invocation radarSS copies these chirp configurations from SW RAM to HW RAM at the end of current on-going frame.

Note
: The new feature of dynamic chirp configuaration to configuare 48 chirps in one API is not applicable in IWR6843.

Definition at line 2693 of file rl_sensor.c.

rlReturnVal_t rlSetDynChirpEn ( rlUInt8_t  deviceMap,
rlDynChirpEnCfg_t data 
)

Triggers copy of chirp config from SW to HW RAM.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Dynamic chirp enable configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to trigger the copy of chirp configuration from software to hardware RAM. The copy will be performed at the end of the ongoing frame.

Note
User needs to invoke this API within inter-frame idle time, not at boundary of frame end. Since dynamic chirps are configured at run time, there is not error checks done on the input data. If input data is out of range or invalid, device might misbehave.

Definition at line 2811 of file rl_sensor.c.

rlReturnVal_t rlSetFrameConfig ( rlUInt8_t  deviceMap,
rlFrameCfg_t data 
)

Sets Frame Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Frame Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function allows configuration of FMCW frame in mmWave Front end. A Frame is basically a sequence of chirps and how this sequnece needs to be repeated over time. User first need to define a profile and set of chirps(associated with a profile).
This function then defines how to sequence these chirps. The same chirp can be simply looped to create a large FMCW frame or multiple unique chirps cane be sequenced to create the frame. Chirp Start and end Index defines how to sequence them in a frame.
The API also allows configuration of number of frames to be transmitted, periodicity of the frame and the trigger method. The trigger method could be SW API based trigger or HW SYNC IN based trigger.

Note
Frame could have multiple chirps associated with different profile, but number of samples need to be same in all the profiles.

Definition at line 976 of file rl_sensor.c.

rlReturnVal_t rlSetGpAdcConfig ( rlUInt8_t  deviceMap,
rlGpAdcCfg_t data 
)

: Configure GP ADC data parameters

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Configuration parameter for GP ADC
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API enables the GPADC reads for external inputs (available only in xWR1642/IWR6843/ xWR1843). xWR1642/xWR1843 sends GP-ADC measurement data in async event RL_RF_AE_GPADC_MEAS_DATA_SB

Definition at line 1772 of file rl_sensor.c.

rlReturnVal_t rlSetInterChirpBlkCtrl ( rlUInt8_t  deviceMap,
rlInterChirpBlkCtrlCfg_t data 
)

Sets Inter-chip turn on and turn off times or various RF blocks.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Inter chirp block control config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API programs the Inter-chip turn on and turn off times or various RF blocks

Note
The minimum inter-chirp time should be greater than maximum of the following
  1. abs(rx02RfTurnOffTime) + max(abs(rx02RfPreEnTime), abs(rx02RfTurnOnTime))
  2. abs(rx13RfTurnOffTime) + max(abs(rx13RfPreEnTime), abs(rx13RfTurnOnTime))
  3. abs(rx02BbTurnOffTime) + max(abs(rx02BbPreEnTime), abs(rx02BbTurnOnTime))
  4. abs(rx13BbTurnOffTime) + max(abs(rx13BbPreEnTime), abs(rx13BbTurnOnTime))
  5. abs(rxLoChainTurnOffTime) + abs(rxLoChainTurnOnTime)
  6. abs(txLoChainTurnOffTime) + abs(txLoChainTurnOnTime)

Definition at line 3183 of file rl_sensor.c.

rlReturnVal_t rlSetLoopBckBurstCfg ( rlUInt8_t  deviceMap,
rlLoopbackBurst_t data 
)

This API is used to introduce loopback chirps within the functional frames.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Loopback chirp config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to introduce loopback chirps within the functional frames. This loopback chirps will be introduced only if advanced frame configuration is used where user can define which sub-frame contains loopback chirps. The following loopback configuration will apply to one burst and user can program up to 16 different loopback configurations in 16 different bursts of a given sub-frame. User has to ensure that the corresponding sub-frame is defined in rlSetAdvFrameConfig and sufficient time is given to allow the loopback bursts to be transmitted.

Note
1: If user desires to enable loopback chirps within functional frames, then this API should be issued before rlSetProfileConfig
2: Only profile based phase shifter is supported in loopback configuration. Per-chirp phase shifter if enabled will not be reflected in loopback chirps.
3: For the sub-frame in which loopback is desired, user should set numOfChirps per burst as 1 and can use numLoops per burst for multiple chirps in the burst.
4: This API is not supported in IWR6843 ES1.0

Definition at line 2654 of file rl_sensor.c.

rlReturnVal_t rlSetLowPowerModeConfig ( rlUInt8_t  deviceMap,
rlLowPowerModeCfg_t data 
)

Sets Low Power Mode Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Low power mode Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the static device configurations of low power options. Sigma Delta ADC root sampling reduces to half the rate to save power in small IF bandwidth applications.

Note
: Low power ADC mode is mandatory on 5 MHz part variant(for e.g. xWR1642), Normally if IF band width <= 7.5MHz then low power mode setting is recommended.

Definition at line 1335 of file rl_sensor.c.

rlReturnVal_t rlSetMultiBpmChirpConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  cnt,
rlBpmChirpCfg_t **  data 
)

Sets Binary Phase Modulation configuration for multiple Chirp.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]cnt- number of BPM chirp config data
[in]data- pointer to linked list/array of BPM chirp configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Using this API application can configure multiple BPM chirp configuration in a single call. This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs.

Definition at line 283 of file rl_sensor.c.

rlReturnVal_t rlSetMultiChirpCfg ( rlUInt8_t  deviceMap,
rlUInt16_t  cnt,
rlChirpCfg_t **  data 
)

Injects chirp configuration to be programmed dynamically.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]cnt- number of chirps
[in]data- Pointer to Chirp configuration linked list/array
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the chirp to chirp variations on top of the chirp profile. The User should first define a profile using rlSetProfileConfig.
This function then configures the chirp by associating it with a particular profile defined in rlSetProfileConfig API. In addition to that user can define fine dither to the profile parameters using this API
This API allows configuration of 1 or upto 512 chirps. Also it allows configuraiton of which Transmit channels to be used for each chirp.

Note
One can set upto 512 unique chirps which can be stored in dedicated memory inside mmWave front end. Hence user doesn't need to program the chirps during run time. Also these chirps can be sequenced in a frame using rlSetFrameConfig to create a larger FMCW signal
This API is similar to rlSetChirpConfig but gives the flexibility to pass the array of chirp configuration pointers, so chirp configuration memory need not be contiguous.

Definition at line 849 of file rl_sensor.c.

rlReturnVal_t rlSetProfileConfig ( rlUInt8_t  deviceMap,
rlUInt16_t  cnt,
rlProfileCfg_t data 
)

Sets Chirp profile Configuration.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]cnt- Number of Profiles
[in]data- Array of Profile Configuration data
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This function sets the chirp profile in mmWave Front end. A profile is like a template which contains coarse information about FMCW signal such as start frequency, chirp slope, chirp duration, TX power etc. The API allows multiple profiles to be set together by passing the array of profile data along with count of profiles.

Note
1: One can set upto 4 profiles. Each profile contains coarse inforamtion. Fine dithering can be added using chirp configuration API
2: This API can be issued dynamically to change profile parameters. Few parameters which cannot be changed are
  1. numAdcSamples
  2. digOutSampleRate
  3. Programmable filter coefficients in xWR1642/IWR6843/xWR1843

rlSetChirpConfig

Definition at line 419 of file rl_sensor.c.

rlReturnVal_t rlSetSubFrameStart ( rlUInt8_t  deviceMap,
rlSubFrameStartCfg_t data 
)

Triggers the next sub-frame in software triggered sub-frame mode.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Sub-frame start config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API triggers the next sub-frame in software triggered sub-frame mode

Note
1: If the user wishes to trigger each sub-frame independently, then after advanced frame config, the rlSensorStart should be issued once using rlSensorStop. This does not start any sub-frames but it will prepare the hardware for sub-frame trigger. Next any subsequent sub-frame trigger will start the sub-frames.
2: If the user wishes to use sub-frame trigger, he has to ensure that sub-frame trigger command is issued k*N times where k is the number of sub-frames in each frame and N is the number of frames. If the user wishes to stop frames in between, then he has to issue the rlSensorStop only after k*M triggers of sub-frame trigger command (where M is an integer). i.e. rlSensorStop can be issued only at frame boundaries.
3: If software based sub-frame trigger mode is chosen by the user, watchdog feature will not be available. User has to ensure that the watchdog is disabled before enabling the software based sub-frame trigger mode.
4: If sub-frame trigger or hardware trigger mode is used to trigger the frames/sub- frames and if frames need to be stopped before the specified number of frames, then the the frame stop command using rlSensorStop API should be issued while the frame is on-going. If the frames are stopped while the device is idle, it can lead to errors
5: This API is not supported in IWR6843 ES1.0

Definition at line 3235 of file rl_sensor.c.

rlReturnVal_t rlSetTestSourceConfig ( rlUInt8_t  deviceMap,
rlTestSource_t data 
)

Configures the Test Source.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Test source configuration
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API allows configuration of the Test Source in mmWave Front end. A Test source simulates 2 objects at certain position relative to the mmWave device and generates the RAW ADC data. It also simulates velocity of objects, relative position of TX and RX antennas.

Note
1: This helps in checking the integrity of control and data path during development phase. API is meant to be used in development phase only and doesn't relate to any real use case.
2: Test source is not characterized and tuned to 60GHz in IWR6843 ES1.0 device

Definition at line 1513 of file rl_sensor.c.

rlReturnVal_t rlTestSourceEnable ( rlUInt8_t  deviceMap,
rlTestSourceEnable_t data 
)

Enables the Test Source.

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- Container for Test source enable parameters
Returns
rlReturnVal_t Success - 0, Failure - Error Code

Enables the Test Source that is configured using rlSetTestSourceConfig API

Note
: Test source is not characterized and tuned to 60GHz in IWR6843 ES1.0 device

Definition at line 1554 of file rl_sensor.c.

rlReturnVal_t rlTxGainTempLutSet ( rlUInt8_t  deviceMap,
rlTxGainTempLutData_t data 
)

Overwrites TX gain temperature based Lookup table (LUT)

Parameters
[in]deviceMap- Bitmap of devices to send the message
[in]data- TX gain Temperature LUT config
Returns
rlReturnVal_t Success - 0, Failure - Error Code

This API can be used to overwrite the TX gain temperature LUT used in Radar SS. This API should be issued after profile configuration API.

Note
: This API is not supported in IWR6843 ES1.0.

Definition at line 2506 of file rl_sensor.c.


Copyright 2018, Texas Instruments Incorporated