ttn-esp32 4.2.1
The Things Network device library for ESP-IDF (ESP32)
Loading...
Searching...
No Matches
TheThingsNetwork.h File Reference
#include "ttn.h"

Go to the source code of this file.

Classes

struct  TTNRFSettings
 RF settings for TX or RX. More...
 
class  TheThingsNetwork
 TTN device. More...
 

Typedefs

typedef ttn_port_t port_t
 Integer data type for specified the port of an uplink or downlink message.
 
typedef void(* TTNMessageCallback) (const uint8_t *payload, size_t length, ttn_port_t port)
 Callback for recieved messages.
 

Enumerations

enum  TTNResponseCode { kTTNErrorTransmissionFailed = TTN_ERROR_TRANSMISSION_FAILED , kTTNErrorUnexpected = TTN_ERROR_UNEXPECTED , kTTNSuccessfulTransmission = TTN_SUCCESSFUL_TRANSMISSION , kTTNSuccessfulReceive = TTN_SUCCESSFUL_RECEIVE }
 Response codes. More...
 
enum  TTNRxTxWindow { kTTNIdleWindow = TTN_WINDOW_IDLE , kTTNTxWindow = TTN_WINDOW_TX , kTTNRx1Window = TTN_WINDOW_RX1 , kTTNRx2Window = TTN_WINDOW_RX2 }
 RX/TX window. More...
 
enum  TTNSpreadingFactor {
  kTTNSFNone = TTN_SF_NONE , kTTNFSK = TTN_FSK , kTTNSF7 = TTN_SF7 , kTTNSF8 = TTN_SF8 ,
  kTTNSF9 = TTN_SF9 , kTTNSF10 = TTN_SF10 , kTTNSF11 = TTN_SF11 , kTTNSF12 = TTN_SF12
}
 Spreading Factor. More...
 
enum  TTNBandwidth { kTTNBWNone = TTN_BW_NONE , kTTNBW125 = TTN_BW_125 , kTTNBW250 = TTN_BW_250 , kTTNBW500 = TTN_BW_500 }
 Bandwidth. More...
 
enum  TTNDataRate {
  kTTNDataRate_AS923_SF12 = 0 , kTTNDataRate_AS923_SF11 = 1 , kTTNDataRate_AS923_SF10 = 2 , kTTNDataRate_AS923_SF9 = 3 ,
  kTTNDataRate_AS923_SF8 = 4 , kTTNDataRate_AS923_SF7_BW125 = 5 , kTTNDataRate_AS923_SF7_BW250 = 6 , kTTNDataRate_AS923_FSK = 7 ,
  kTTNDataRate_AU915_SF12 = 0 , kTTNDataRate_AU915_SF11 = 1 , kTTNDataRate_AU915_SF10 = 2 , kTTNDataRate_AU915_SF9 = 3 ,
  kTTNDataRate_AU915_SF8 = 4 , kTTNDataRate_AU915_SF7 = 5 , kTTNDataRate_AU915_SF8_BW500 = 6 , kTTNDataRate_AU915_SF12_BW500 = 8 ,
  kTTNDataRate_AU915_SF11_BW500 = 9 , kTTNDataRate_AU915_SF10_BW500 = 10 , kTTNDataRate_AU915_SF9_BW500 = 11 , kTTNDataRate_AU915_SF8_BW500_DR12 = 12 ,
  kTTNDataRate_AU915_SF7_BW500 = 13 , kTTNDataRate_EU868_SF12 = 0 , kTTNDataRate_EU868_SF11 = 1 , kTTNDataRate_EU868_SF10 = 2 ,
  kTTNDataRate_EU868_SF9 = 3 , kTTNDataRate_EU868_SF8 = 4 , kTTNDataRate_EU868_SF7_BW125 = 5 , kTTNDataRate_EU868_SF7_BW250 = 6 ,
  kTTNDataRate_EU868_FSK = 7 , kTTNDataRate_IN866_SF12 = 0 , kTTNDataRate_IN866_SF11 = 1 , kTTNDataRate_IN866_SF10 = 2 ,
  kTTNDataRate_IN866_SF9 = 3 , kTTNDataRate_IN866_SF8 = 4 , kTTNDataRate_IN866_SF7 = 5 , kTTNDataRate_IN866_FSK = 7 ,
  kTTNDataRate_KR920_SF12 = 0 , kTTNDataRate_KR920_SF11 = 1 , kTTNDataRate_KR920_SF10 = 2 , kTTNDataRate_KR920_SF9 = 3 ,
  kTTNDataRate_KR920_SF8 = 4 , kTTNDataRate_KR920_SF7 = 5 , kTTNDataRate_US915_SF10 = 0 , kTTNDataRate_US915_SF9 = 1 ,
  kTTNDataRate_US915_SF8 = 2 , kTTNDataRate_US915_SF7 = 3 , kTTNDataRate_US915_SF8_BW500 = 4 , kTTNDataRate_US915_SF12_BW500 = 8 ,
  kTTNDataRate_US915_SF11_BW500 = 9 , kTTNDataRate_US915_SF10_BW500 = 10 , kTTNDataRate_US915_SF9_BW500 = 11 , kTTNDataRate_US915_SF8_BW500_DR12 = 12 ,
  kTTNDataRate_US915_SF7_BW500 = 13 , kTTNDRJoinDdefault
}
 Data Rate. More...
 

Typedef Documentation

◆ port_t

typedef ttn_port_t port_t

Integer data type for specified the port of an uplink or downlink message.

Deprecated
Use ttn_port_t instead.

◆ TTNMessageCallback

typedef void(* TTNMessageCallback) (const uint8_t *payload, size_t length, ttn_port_t port)

Callback for recieved messages.

Parameters
payloadpointer to the received bytes
lengthnumber of received bytes
portport the message was received on

Enumeration Type Documentation

◆ TTNBandwidth

Bandwidth.

Enumerator
kTTNBWNone 

Undefined/unused bandwidth.

kTTNBW125 

Bandwidth of 125 kHz.

kTTNBW250 

Bandwidth of 250 kHz.

kTTNBW500 

Bandwidth of 500 kHz.

◆ TTNDataRate

Data Rate.

Note that the spreading factor, bandwidth, bit rate and maximum message size associated with each data rate depends on the region.

Enumerator
kTTNDataRate_AS923_SF12 

Data rate for region AS923 using SF12 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF11 

Data rate for region AS923 using SF11 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF10 

Data rate for region AS923 using SF10 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF9 

Data rate for region AS923 using SF9 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF8 

Data rate for region AS923 using SF8 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF7_BW125 

Data rate for region AS923 using SF7 and 125 kHz bandwidth.

kTTNDataRate_AS923_SF7_BW250 

Data rate for region AS923 using SF7 and 250 kHz bandwidth.

kTTNDataRate_AS923_FSK 

Data rate for region AS923 using FSK and 50 kpbs.

kTTNDataRate_AU915_SF12 

Data rate for region AU915 using SF12 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF11 

Data rate for region AU915 using SF11 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF10 

Data rate for region AU915 using SF10 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF9 

Data rate for region AU915 using SF9 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF8 

Data rate for region AU915 using SF8 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF7 

Data rate for region AU915 using SF7 and 125 kHz bandwidth.

kTTNDataRate_AU915_SF8_BW500 

Data rate for region AU915 using SF8 and 500 kHz bandwidth.

kTTNDataRate_AU915_SF12_BW500 

Data rate for region AU915 using SF12 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_AU915_SF11_BW500 

Data rate for region AU915 using SF11 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_AU915_SF10_BW500 

Data rate for region AU915 using SF10 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_AU915_SF9_BW500 

Data rate for region AU915 using SF9 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_AU915_SF8_BW500_DR12 

Data rate for region AU915 using SF8 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_AU915_SF7_BW500 

Data rate for region AU915 using SF7 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_EU868_SF12 

Data rate for region EU868 using SF12 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF11 

Data rate for region EU868 using SF11 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF10 

Data rate for region EU868 using SF10 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF9 

Data rate for region EU868 using SF9 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF8 

Data rate for region EU868 using SF8 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF7_BW125 

Data rate for region EU868 using SF7 and 125 kHz bandwidth.

kTTNDataRate_EU868_SF7_BW250 

Data rate for region EU868 using SF7 and 250 kHz bandwidth.

kTTNDataRate_EU868_FSK 

Data rate for region EU868 using FSK and 50 kpbs.

kTTNDataRate_IN866_SF12 

Data rate for region IN866 using SF12 and 125 kHz bandwidth.

kTTNDataRate_IN866_SF11 

Data rate for region IN866 using SF11 and 125 kHz bandwidth.

kTTNDataRate_IN866_SF10 

Data rate for region IN866 using SF10 and 125 kHz bandwidth.

kTTNDataRate_IN866_SF9 

Data rate for region IN866 using SF9 and 125 kHz bandwidth.

kTTNDataRate_IN866_SF8 

Data rate for region IN866 using SF8 and 125 kHz bandwidth.

kTTNDataRate_IN866_SF7 

Data rate for region IN866 using SF7 and 125 kHz bandwidth.

kTTNDataRate_IN866_FSK 

Data rate for region IN866 using FSK and 50 kpbs.

kTTNDataRate_KR920_SF12 

Data rate for region KR920 using SF12 and 125 kHz bandwidth.

kTTNDataRate_KR920_SF11 

Data rate for region KR920 using SF11 and 125 kHz bandwidth.

kTTNDataRate_KR920_SF10 

Data rate for region KR920 using SF10 and 125 kHz bandwidth.

kTTNDataRate_KR920_SF9 

Data rate for region KR920 using SF9 and 125 kHz bandwidth.

kTTNDataRate_KR920_SF8 

Data rate for region KR920 using SF8 and 125 kHz bandwidth.

kTTNDataRate_KR920_SF7 

Data rate for region KR920 using SF7 and 125 kHz bandwidth.

kTTNDataRate_US915_SF10 

Data rate for region US915 using SF10 and 125 kHz bandwidth.

kTTNDataRate_US915_SF9 

Data rate for region US915 using SF9 and 125 kHz bandwidth.

kTTNDataRate_US915_SF8 

Data rate for region US915 using SF8 and 125 kHz bandwidth.

kTTNDataRate_US915_SF7 

Data rate for region US915 using SF7 and 125 kHz bandwidth.

kTTNDataRate_US915_SF8_BW500 

Data rate for region US915 using SF8 and 500 kHz bandwidth.

kTTNDataRate_US915_SF12_BW500 

Data rate for region US915 using SF12 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_US915_SF11_BW500 

Data rate for region US915 using SF11 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_US915_SF10_BW500 

Data rate for region US915 using SF10 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_US915_SF9_BW500 

Data rate for region US915 using SF9 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_US915_SF8_BW500_DR12 

Data rate for region US915 using SF8 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDataRate_US915_SF7_BW500 

Data rate for region US915 using SF7 and 500 kHz bandwidth.

Reserved for future applications.

kTTNDRJoinDdefault 

Default data rate for joining.

◆ TTNResponseCode

Response codes.

Enumerator
kTTNErrorTransmissionFailed 

Transmission failed error.

kTTNErrorUnexpected 

Unexpected or internal error.

kTTNSuccessfulTransmission 

Successful transmission of an uplink message.

kTTNSuccessfulReceive 

Successful receipt of a downlink message.

◆ TTNRxTxWindow

RX/TX window.

Enumerator
kTTNIdleWindow 

Outside RX/TX window.

kTTNTxWindow 

Transmission window (up to RX1 window)

kTTNRx1Window 

Reception window 1 (up to RX2 window)

kTTNRx2Window 

Reception window 2.

◆ TTNSpreadingFactor

Spreading Factor.

Enumerator
kTTNSFNone 

Unused / undefined spreading factor.

kTTNFSK 

Frequency Shift Keying (FSK)

kTTNSF7 

Spreading Factor 7 (SF7)

kTTNSF8 

Spreading Factor 8 (SF8)

kTTNSF9 

Spreading Factor 9 (SF9)

kTTNSF10 

Spreading Factor 10 (SF10)

kTTNSF11 

Spreading Factor 11 (SF11)

kTTNSF12 

Spreading Factor 12 (SF12)