Radio Control Layer (RCL)
adc_noise.h File Reference
+ Include dependency graph for adc_noise.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RCL_CmdAdcNoiseGet
 ADC noise command. More...
 

Macros

#define RCL_CMDID_ADC_NOISE_GET   0x0001
 
#define RCL_ADC_NOISE_MAX_NUM_WORDS   (1024)
 
#define RCL_CmdAdcNoiseGet_Default()
 

Data Structure Documentation

◆ RCL_CMD_ADC_NOISE_GET

struct RCL_CMD_ADC_NOISE_GET

ADC noise command.

Command to collect ADC samples from radio.

This command is used to collect ADC samples from the radio. The samples represent noise (random data), and is intended only to be used as input for entropy generation.

If the output buffer is set to NULL, the samples must be read out by the caller before submitting a new RCL command. The location of the samples can always be read from the output-pointer, which will be updated by the RCL-handler in the case where a NULL-pointer is passed.

Data format

The data format of the output is described below

Word word[31] word[30..26] word[25..21] word[20..16] word[15] word[14..10] word[9..5] word[4..0]
0 ‘0’ IAC2 IAC1 IAC0 ‘0’ QAC2 QAC1 QAC0
1 ‘0’ IAC5 IAC4 IAC3 ‘0’ QAC5 QAC4 QAC3
...
i ‘0’ IAC(3i+2) IAC(3i+1) IAC(3i) ‘0’ QAC(3i+2) QAC(3i+1) QAC(3i)
Data Fields
RCL_Command common
uint32_t numWords

Number of ADC sample words to collect. Range [1..1024]

uint32_t * output

Buffer for storing ADC samples. NULL: Do not copy samples, but leave them in the LRF RAM. This pointer will be updated by the RCL-handler to point to the location in RAM where the data is stored.

Macro Definition Documentation

◆ RCL_CMDID_ADC_NOISE_GET

#define RCL_CMDID_ADC_NOISE_GET   0x0001

◆ RCL_ADC_NOISE_MAX_NUM_WORDS

#define RCL_ADC_NOISE_MAX_NUM_WORDS   (1024)

◆ RCL_CmdAdcNoiseGet_Default

#define RCL_CmdAdcNoiseGet_Default ( )
Value:
(RCL_CmdAdcNoiseGet) \
{ \
.output = NULL, \
}
RCL_Command_Default
#define RCL_Command_Default(_id, _handler)
Definition: RCL_Command.h:174
RCL_ADC_NOISE_MAX_NUM_WORDS
#define RCL_ADC_NOISE_MAX_NUM_WORDS
Definition: adc_noise.h:45
RCL_CMDID_ADC_NOISE_GET
#define RCL_CMDID_ADC_NOISE_GET
Definition: adc_noise.h:42
RCL_Handler_ADC_Noise_getNoise
RCL_Events RCL_Handler_ADC_Noise_getNoise(RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn)
Definition: adc_noise.c:76