SX126x-Arduino  1.2.1
Classes | Typedefs | Functions
RegionCommon.h File Reference

Region independent implementations which are common to all regions. More...

Go to the source code of this file.

Classes

struct  sRegionCommonLinkAdrParams
 
struct  sRegionCommonLinkAdrReqVerifyParams
 
struct  sRegionCommonCalcBackOffParams
 

Typedefs

typedef struct sRegionCommonLinkAdrParams RegionCommonLinkAdrParams_t
 
typedef struct sRegionCommonLinkAdrReqVerifyParams RegionCommonLinkAdrReqVerifyParams_t
 
typedef struct sRegionCommonCalcBackOffParams RegionCommonCalcBackOffParams_t
 

Functions

uint16_t RegionCommonGetJoinDc (TimerTime_t elapsedTime)
 Calculates the join duty cycle. This is a generic function and valid for all regions. More...
 
uint8_t RegionCommonValueInRange (int8_t value, int8_t min, int8_t max)
 Verifies, if a value is in a given range. This is a generic function and valid for all regions. More...
 
bool RegionCommonChanVerifyDr (uint8_t nbChannels, uint16_t *channelsMask, int8_t dr, int8_t minDr, int8_t maxDr, ChannelParams_t *channels)
 Verifies, if a datarate is available on an active channel. This is a generic function and valid for all regions. More...
 
bool RegionCommonChanDisable (uint16_t *channelsMask, uint8_t id, uint8_t maxChannels)
 Disables a channel in a given channels mask. This is a generic function and valid for all regions. More...
 
uint8_t RegionCommonCountChannels (uint16_t *channelsMask, uint8_t startIdx, uint8_t stopIdx)
 Counts the number of active channels in a given channels mask. This is a generic function and valid for all regions. More...
 
void RegionCommonChanMaskCopy (uint16_t *channelsMaskDest, uint16_t *channelsMaskSrc, uint8_t len)
 Copy a channels mask. This is a generic function and valid for all regions. More...
 
void RegionCommonSetBandTxDone (bool joined, Band_t *band, TimerTime_t lastTxDone)
 Sets the last tx done property. This is a generic function and valid for all regions. More...
 
TimerTime_t RegionCommonUpdateBandTimeOff (bool joined, bool dutyCycle, Band_t *bands, uint8_t nbBands)
 Updates the time-offs of the bands. This is a generic function and valid for all regions. More...
 
uint8_t RegionCommonParseLinkAdrReq (uint8_t *payload, RegionCommonLinkAdrParams_t *parseLinkAdr)
 Parses the parameter of an LinkAdrRequest. This is a generic function and valid for all regions. More...
 
uint8_t RegionCommonLinkAdrReqVerifyParams (RegionCommonLinkAdrReqVerifyParams_t *verifyParams, int8_t *dr, int8_t *txPow, uint8_t *nbRep)
 Verifies and updates the datarate, the TX power and the number of repetitions of a LinkAdrRequest. This depends on the configuration of ADR also. More...
 
double RegionCommonComputeSymbolTimeLoRa (uint8_t phyDr, uint32_t bandwidth)
 Computes the symbol time for LoRa modulation. More...
 
double RegionCommonComputeSymbolTimeFsk (uint8_t phyDr)
 Computes the symbol time for FSK modulation. More...
 
void RegionCommonComputeRxWindowParameters (double tSymbol, uint8_t minRxSymbols, uint32_t rxError, uint32_t wakeUpTime, uint32_t *windowTimeout, int32_t *windowOffset)
 Computes the RX window timeout and the RX window offset. More...
 
int8_t RegionCommonComputeTxPower (int8_t txPowerIndex, float maxEirp, float antennaGain)
 Computes the txPower, based on the max EIRP and the antenna gain. More...
 
void RegionCommonCalcBackOff (RegionCommonCalcBackOffParams_t *calcBackOffParams)
 Calculates the duty cycle for the current band. More...
 

Detailed Description

Region independent implementations which are common to all regions.

______ _
/ _____) _ | |
( (____ _____ ____ _| |_ _____ ____| |__
\____ \| ___ | (_ _) ___ |/ ___) _ \
_____) ) ____| | | || |_| ____( (___| | | |
(______/|_____)_|_|_| \__)_____)\____)_| |_|
(C)2013 Semtech
___ _____ _ ___ _ _____ ___ ___ ___ ___
/ __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
\__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
|___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
embedded.connectivity.solutions===============
Author
Miguel Luis ( Semtech )
Gregory Cristian ( Semtech )
Daniel Jaeckle ( STACKFORCE )