|  | LoRaMAC
    4.6.0
    Documentation of the API | 
Implementation according to LoRaWAN Specification v1.0.2. More...
| Functions | |
| PhyParam_t | RegionEU433GetPhyParam (GetPhyParams_t *getPhy) | 
| The function gets a value of a specific phy attribute.  More... | |
| void | RegionEU433SetBandTxDone (SetBandTxDoneParams_t *txDone) | 
| Updates the last TX done parameters of the current channel.  More... | |
| void | RegionEU433InitDefaults (InitDefaultsParams_t *params) | 
| Initializes the channels masks and the channels.  More... | |
| bool | RegionEU433Verify (VerifyParams_t *verify, PhyAttribute_t phyAttribute) | 
| Verifies a parameter.  More... | |
| void | RegionEU433ApplyCFList (ApplyCFListParams_t *applyCFList) | 
| The function parses the input buffer and sets up the channels of the CF list.  More... | |
| bool | RegionEU433ChanMaskSet (ChanMaskSetParams_t *chanMaskSet) | 
| Sets a channels mask.  More... | |
| void | RegionEU433ComputeRxWindowParameters (int8_t datarate, uint8_t minRxSymbols, uint32_t rxError, RxConfigParams_t *rxConfigParams) | 
| bool | RegionEU433RxConfig (RxConfigParams_t *rxConfig, int8_t *datarate) | 
| Configuration of the RX windows.  More... | |
| bool | RegionEU433TxConfig (TxConfigParams_t *txConfig, int8_t *txPower, TimerTime_t *txTimeOnAir) | 
| TX configuration.  More... | |
| uint8_t | RegionEU433LinkAdrReq (LinkAdrReqParams_t *linkAdrReq, int8_t *drOut, int8_t *txPowOut, uint8_t *nbRepOut, uint8_t *nbBytesParsed) | 
| The function processes a Link ADR Request.  More... | |
| uint8_t | RegionEU433RxParamSetupReq (RxParamSetupReqParams_t *rxParamSetupReq) | 
| The function processes a RX Parameter Setup Request.  More... | |
| int8_t | RegionEU433NewChannelReq (NewChannelReqParams_t *newChannelReq) | 
| The function processes a Channel Request.  More... | |
| int8_t | RegionEU433TxParamSetupReq (TxParamSetupReqParams_t *txParamSetupReq) | 
| The function processes a TX ParamSetup Request.  More... | |
| int8_t | RegionEU433DlChannelReq (DlChannelReqParams_t *dlChannelReq) | 
| The function processes a DlChannel Request.  More... | |
| int8_t | RegionEU433AlternateDr (int8_t currentDr, AlternateDrType_t type) | 
| Alternates the datarate of the channel for the join request.  More... | |
| LoRaMacStatus_t | RegionEU433NextChannel (NextChanParams_t *nextChanParams, uint8_t *channel, TimerTime_t *time, TimerTime_t *aggregatedTimeOff) | 
| Searches and set the next random available channel.  More... | |
| LoRaMacStatus_t | RegionEU433ChannelAdd (ChannelAddParams_t *channelAdd) | 
| Adds a channel.  More... | |
| bool | RegionEU433ChannelsRemove (ChannelRemoveParams_t *channelRemove) | 
| Removes a channel.  More... | |
| uint8_t | RegionEU433ApplyDrOffset (uint8_t downlinkDwellTime, int8_t dr, int8_t drOffset) | 
| Computes new datarate according to the given offset.  More... | |
| void | RegionEU433RxBeaconSetup (RxBeaconSetup_t *rxBeaconSetup, uint8_t *outDr) | 
| Sets the radio into beacon reception mode.  More... | |
Implementation according to LoRaWAN Specification v1.0.2.
| #define EU433_MAX_NB_CHANNELS 16 | 
LoRaMac maximum number of channels
| #define EU433_NUMB_DEFAULT_CHANNELS 3 | 
Number of default channels
| #define EU433_NUMB_CHANNELS_CF_LIST 5 | 
Number of channels to apply for the CF list
| #define EU433_TX_MIN_DATARATE DR_0 | 
Minimal datarate that can be used by the node
| #define EU433_TX_MAX_DATARATE DR_7 | 
Maximal datarate that can be used by the node
| #define EU433_RX_MIN_DATARATE DR_0 | 
Minimal datarate that can be used by the node
| #define EU433_RX_MAX_DATARATE DR_7 | 
Maximal datarate that can be used by the node
| #define EU433_DEFAULT_DATARATE DR_0 | 
Default datarate used by the node
| #define EU433_MIN_RX1_DR_OFFSET 0 | 
Minimal Rx1 receive datarate offset
| #define EU433_MAX_RX1_DR_OFFSET 5 | 
Maximal Rx1 receive datarate offset
| #define EU433_MIN_TX_POWER TX_POWER_5 | 
Minimal Tx output power that can be used by the node
| #define EU433_MAX_TX_POWER TX_POWER_0 | 
Maximal Tx output power that can be used by the node
| #define EU433_DEFAULT_TX_POWER TX_POWER_0 | 
Default Tx output power used by the node
| #define EU433_DEFAULT_MAX_EIRP 12.15f | 
Default Max EIRP
| #define EU433_DEFAULT_ANTENNA_GAIN 2.15f | 
Default antenna gain
| #define EU433_DUTY_CYCLE_ENABLED 1 | 
Enabled or disabled the duty cycle
| #define EU433_MAX_RX_WINDOW 3000 | 
Maximum RX window duration
| #define EU433_RX_WND_2_FREQ 434665000 | 
Verification of default datarate
Second reception window channel frequency definition.
| #define EU433_RX_WND_2_DR DR_0 | 
Second reception window channel datarate definition.
| #define EU433_MAX_NB_BANDS 1 | 
LoRaMac maximum number of bands
| #define EU433_DEFAULT_UPLINK_DWELL_TIME 0 | 
Default uplink dwell time configuration
| #define EU433_BEACON_CHANNEL_FREQ 434665000 | 
Beacon frequency
| #define EU433_PING_SLOT_CHANNEL_FREQ 434665000 | 
Ping slot channel frequency
| #define EU433_BEACON_SIZE 17 | 
Payload size of a beacon frame
| #define EU433_RFU1_SIZE 1 | 
Size of RFU 1 field
| #define EU433_RFU2_SIZE 0 | 
Size of RFU 2 field
| #define EU433_BEACON_CHANNEL_DR DR_3 | 
Datarate of the beacon channel
| #define EU433_BEACON_CHANNEL_BW 0 | 
Bandwith of the beacon channel
| #define EU433_PING_SLOT_CHANNEL_DR DR_3 | 
Ping slot channel datarate
| #define EU433_BAND0 { 100, EU433_MAX_TX_POWER, 0, 0, 0, 0, 0 } | 
Band 0 definition Band = { DutyCycle, TxMaxPower, LastBandUpdateTime, LastMaxCreditAssignTime, TimeCredits, MaxTimeCredits, ReadyForTransmission }
LoRaMac default channel 1 Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
LoRaMac default channel 2 Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
LoRaMac default channel 3 Channel = { Frequency [Hz], RX1 Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
LoRaMac channels which are allowed for the join procedure
| PhyParam_t RegionEU433GetPhyParam | ( | GetPhyParams_t * | getPhy | ) | 
The function gets a value of a specific phy attribute.
| [IN] | getPhy Pointer to the function parameters. | 
| Returns | a structure containing the PHY parameter. | 
| void RegionEU433SetBandTxDone | ( | SetBandTxDoneParams_t * | txDone | ) | 
Updates the last TX done parameters of the current channel.
| [IN] | txDone Pointer to the function parameters. | 
| void RegionEU433InitDefaults | ( | InitDefaultsParams_t * | params | ) | 
Initializes the channels masks and the channels.
| [IN] | type Sets the initialization type. | 
| bool RegionEU433Verify | ( | VerifyParams_t * | verify, | 
| PhyAttribute_t | phyAttribute | ||
| ) | 
Verifies a parameter.
| [IN] | verify Pointer to the function parameters. | 
| [IN] | type Sets the initialization type. | 
| Returns | true, if the parameter is valid. | 
| void RegionEU433ApplyCFList | ( | ApplyCFListParams_t * | applyCFList | ) | 
The function parses the input buffer and sets up the channels of the CF list.
| [IN] | applyCFList Pointer to the function parameters. | 
| bool RegionEU433ChanMaskSet | ( | ChanMaskSetParams_t * | chanMaskSet | ) | 
Sets a channels mask.
| [IN] | chanMaskSet Pointer to the function parameters. | 
| Returns | true, if the channels mask could be set. | 
| void RegionEU433ComputeRxWindowParameters | ( | int8_t | datarate, | 
| uint8_t | minRxSymbols, | ||
| uint32_t | rxError, | ||
| RxConfigParams_t * | rxConfigParams | ||
| ) | 
Computes the Rx window timeout and offset.
| [IN] | datarate Rx window datarate index to be used | 
| [IN] | minRxSymbols Minimum required number of symbols to detect an Rx frame. | 
| [IN] | rxError System maximum timing error of the receiver. In milliseconds The receiver will turn on in a [-rxError : +rxError] ms interval around RxOffset | 
| [OUT]rxConfigParams | Returns updated WindowTimeout and WindowOffset fields. | 
| bool RegionEU433RxConfig | ( | RxConfigParams_t * | rxConfig, | 
| int8_t * | datarate | ||
| ) | 
Configuration of the RX windows.
| [IN] | rxConfig Pointer to the function parameters. | 
| [OUT] | datarate The datarate index which was set. | 
| Returns | true, if the configuration was applied successfully. | 
| bool RegionEU433TxConfig | ( | TxConfigParams_t * | txConfig, | 
| int8_t * | txPower, | ||
| TimerTime_t * | txTimeOnAir | ||
| ) | 
TX configuration.
| [IN] | txConfig Pointer to the function parameters. | 
| [OUT] | txPower The tx power index which was set. | 
| [OUT] | txTimeOnAir The time-on-air of the frame. | 
| Returns | true, if the configuration was applied successfully. | 
| uint8_t RegionEU433LinkAdrReq | ( | LinkAdrReqParams_t * | linkAdrReq, | 
| int8_t * | drOut, | ||
| int8_t * | txPowOut, | ||
| uint8_t * | nbRepOut, | ||
| uint8_t * | nbBytesParsed | ||
| ) | 
The function processes a Link ADR Request.
| [IN] | linkAdrReq Pointer to the function parameters. | 
| Returns | the status of the operation, according to the LoRaMAC specification. | 
| uint8_t RegionEU433RxParamSetupReq | ( | RxParamSetupReqParams_t * | rxParamSetupReq | ) | 
The function processes a RX Parameter Setup Request.
| [IN] | rxParamSetupReq Pointer to the function parameters. | 
| Returns | the status of the operation, according to the LoRaMAC specification. | 
| int8_t RegionEU433NewChannelReq | ( | NewChannelReqParams_t * | newChannelReq | ) | 
The function processes a Channel Request.
| [IN] | newChannelReq Pointer to the function parameters. | 
| Returns | the status of the operation, according to the LoRaMAC specification. | 
| int8_t RegionEU433TxParamSetupReq | ( | TxParamSetupReqParams_t * | txParamSetupReq | ) | 
The function processes a TX ParamSetup Request.
| [IN] | txParamSetupReq Pointer to the function parameters. | 
| Returns | the status of the operation, according to the LoRaMAC specification. Returns -1, if the functionality is not implemented. In this case, the end node shall not process the command. | 
| int8_t RegionEU433DlChannelReq | ( | DlChannelReqParams_t * | dlChannelReq | ) | 
The function processes a DlChannel Request.
| [IN] | dlChannelReq Pointer to the function parameters. | 
| Returns | the status of the operation, according to the LoRaMAC specification. | 
| int8_t RegionEU433AlternateDr | ( | int8_t | currentDr, | 
| AlternateDrType_t | type | ||
| ) | 
Alternates the datarate of the channel for the join request.
| [IN] | currentDr Current datarate. | 
| Datarate | to apply. | 
| LoRaMacStatus_t RegionEU433NextChannel | ( | NextChanParams_t * | nextChanParams, | 
| uint8_t * | channel, | ||
| TimerTime_t * | time, | ||
| TimerTime_t * | aggregatedTimeOff | ||
| ) | 
Searches and set the next random available channel.
| [OUT] | channel Next channel to use for TX. | 
| [OUT] | time Time to wait for the next transmission according to the duty cycle. | 
| [OUT] | aggregatedTimeOff Updates the aggregated time off. | 
| Function | status [1: OK, 0: Unable to find a channel on the current datarate] | 
| LoRaMacStatus_t RegionEU433ChannelAdd | ( | ChannelAddParams_t * | channelAdd | ) | 
Adds a channel.
| [IN] | channelAdd Pointer to the function parameters. | 
| Status | of the operation. | 
| bool RegionEU433ChannelsRemove | ( | ChannelRemoveParams_t * | channelRemove | ) | 
Removes a channel.
| [IN] | channelRemove Pointer to the function parameters. | 
| Returns | true, if the channel was removed successfully. | 
| uint8_t RegionEU433ApplyDrOffset | ( | uint8_t | downlinkDwellTime, | 
| int8_t | dr, | ||
| int8_t | drOffset | ||
| ) | 
Computes new datarate according to the given offset.
| [IN] | downlinkDwellTime Downlink dwell time configuration. 0: No limit, 1: 400ms | 
| [IN] | dr Current datarate | 
| [IN] | drOffset Offset to be applied | 
| newDr | Computed datarate. | 
| void RegionEU433RxBeaconSetup | ( | RxBeaconSetup_t * | rxBeaconSetup, | 
| uint8_t * | outDr | ||
| ) | 
Sets the radio into beacon reception mode.
| [IN] | rxBeaconSetup Pointer to the function parameters |