RF Sense
Typedefs |
|
typedef void(* | RAIL_RfSense_CallbackPtr_t ) (void) |
A pointer to an RF Sense callback function.
|
Enumerations |
|
enum |
RAIL_RfSenseBand_t
{
RAIL_RFSENSE_OFF , RAIL_RFSENSE_2_4GHZ , RAIL_RFSENSE_SUBGHZ , RAIL_RFSENSE_ANY , RAIL_RFSENSE_MAX } |
An enumeration for specifying the RF Sense frequency band.
|
Functions |
|
RAIL_Time_t | RAIL_StartRfSense ( RAIL_Handle_t railHandle, RAIL_RfSenseBand_t band, RAIL_Time_t senseTime, RAIL_RfSense_CallbackPtr_t cb) |
Starts/stops the RF Sense functionality for use during low-energy sleep modes.
|
|
bool | RAIL_IsRfSensed ( RAIL_Handle_t railHandle) |
Checks if the RF was sensed.
|
Enumeration Type Documentation
enum RAIL_RfSenseBand_t |
Function Documentation
bool RAIL_IsRfSensed | ( | RAIL_Handle_t |
railHandle
|
) |
Checks if the RF was sensed.
- Parameters
-
[in] railHandle
A RAIL instance handle.
- Returns
- true if RF was sensed since the last call to RAIL_StartRfSense . False otherwise.
This function is useful if RAIL_StartRfSense is called with a null callback. It is generally used after EM4 reboot but can be used any time.
Referenced by
RAIL_CopyRxPacket()
.
RAIL_Time_t RAIL_StartRfSense | ( | RAIL_Handle_t |
railHandle,
|
RAIL_RfSenseBand_t |
band,
|
||
RAIL_Time_t |
senseTime,
|
||
RAIL_RfSense_CallbackPtr_t |
cb
|
||
) |
Starts/stops the RF Sense functionality for use during low-energy sleep modes.
- Parameters
-
[in] railHandle
A RAIL instance handle. [in] band
The frequency band(s) on which to sense the RF energy. To stop RF Sense, specify RAIL_RFSENSE_OFF . [in] senseTime
The time (in microseconds) the RF energy must be continually detected to be considered "sensed". [in] cb
RAIL_RfSense_CallbackPtr_t is called when the RF is sensed. Set null if polling via RAIL_IsRfSensed() .
- Returns
- The actual senseTime used, which may be different than requested due to limitations of the hardware. If 0, RF sense was disabled or could not be enabled (no callback will be issued).
The EFR32 has the ability to sense the presence of RF Energy above -20 dBm within either or both the 2.4 GHz and Sub-GHz bands and trigger an event if that energy is continuously present for certain durations of time.
- Note
- After RF energy has been sensed, the RF Sense is automatically disabled. RAIL_StartRfSense() must be called again to reactivate it.
- Packet reception is not guaranteed to work correctly once RF Sense is enabled. To be safe, an application should turn this on only after idling the radio to stop receive and turn it off before attempting to restart receive. Since EM4 sleep causes the chip to come up through the reset vector any wake from EM4 must also shut off RF Sense to ensure proper receive functionality.
- Warning
- RF Sense functionality is only guaranteed from 0 to 85 degrees Celsius. RF Sense should be disabled outside of this temperature range.
Referenced by
RAIL_CopyRxPacket()
.