Skip to main content
JKo
Associate III
Oct 29, 2021 8:26 PM UTC
Question

More information needed for SUBGHZ_PKTCTL1A

In the driver I see SUBGHZ_PKTCTL1A can be configured to enable PRBS9 test.

static void RadioTxPrbs( void )
{
 SUBGRF_SetSwitch( SubgRf.AntSwitchPaSelect, RFSWITCH_TX );
 Radio.Write( SUBGHZ_PKTCTL1A, 0x2d ); // sel mode prbs9 instead of preamble
 SUBGRF_SetTxInfinitePreamble( );
 SUBGRF_SetTx( 0x0fffff );
}

The RM describes the bits but it's not clear how they are used.

Bits 7:6 Reserved, must be kept at reset value.
Bit 5 SYNCDETEN: Generic packet synchronization word detection enable 
Bit 4 CONTTX: Generic packet continuous transmit enable 
Bits 3:2 INFSEQSEL[1:0]: Generic packet infinite sequence selection 
 00: preamble 0x5555 
 01: all zero 0x0000 
 10: all one 0xFFFF 
 11: PRBS9
Bit 1 INFSQEQEN: Generic packet infinite sequence enable 
Bit 0 WHITEINI[8]: Generic packet whitening initial value MSB bit [8]

Can I use this register to do a CW test at minimal modulation by setting the INFSEQSEL to 01 (all zeros)? Would the command be SetTxInfinitePreamble() or SetTxContinuousWave()?

Basically is the INFSEQSEL output when InfinitePreamble is enabled, when ContinuousWave is enabled, or both?

INFSQEQEN bit is used for long packet operation from what I've found.

How is CONTTX bit used?

This topic has been closed for replies.

2 replies

JKo
JKoAuthor
Associate III
Nov 3, 2021 9:57 PM UTC

There appears to be a problem in the radio that after SetTxContinuousWave() any subsequent SetTxInfinitePreamble() does NOT generate a modulated signal. I only see an unmodulated signal on a spectrum analyzer.

After reset/boot, SetTxInfinitePreamble does generate a modulated signal.

JKo
JKoAuthor
Associate III
Nov 4, 2021 3:53 AM UTC

A workaround appears to be to set the Packet and Modulation Parameters again before enabling SetTxInfinitePreamble. Also the SetTx seems to be superfluous as SetTxInfinitePreamble() already enables TX.