Onethinx LoRaWAN module
Enumerated Types

Onethinx LoRaWAN API Enumerated Types. More...

Enumerations

enum  keyType_e {
  ABP_10x_key = 0x01 , OTAA_10x_key = 0x02 , OTAA_11x_key = 0x03 , PreStored_key = 0xF0 ,
  UserStored_key = 0xF1
}
 LoRaWAN Activation Type. More...
 
enum  Radio_DataRate_e {
  DR_0 = 0x00 , DR_1 = 0x01 , DR_2 = 0x02 , DR_3 = 0x03 ,
  DR_4 = 0x04 , DR_5 = 0x05 , DR_6 = 0x06 , DR_7 = 0x07 ,
  DR_8 = 0x08 , DR_9 = 0x09 , DR_10 = 0x0A , DR_11 = 0x0B ,
  DR_12 = 0x0C , DR_13 = 0x0D , DR_ADR = 0xF0 , DR_AUTO = 0xF1
}
 LoRaWAN Data Rates. More...
 
enum  Radio_TXpower_e {
  PWR_ADR = 0xF0 , PWR_MAX = 0x00 , PWR_ATT_2dB = 0x01 , PWR_ATT_4dB = 0x02 ,
  PWR_ATT_6dB = 0x03 , PWR_ATT_8dB = 0x04 , PWR_ATT_10dB = 0x05 , PWR_ATT_12dB = 0x06 ,
  PWR_ATT_14dB = 0x07 , PWR_ATT_16dB = 0x08 , PWR_ATT_18dB = 0x09 , PWR_ATT_20dB = 0x0A ,
  PWR_ATT_22dB = 0x0B , PWR_ATT_24dB = 0x0C , PWR_ATT_26dB = 0x0D , PWR_ATT_28dB = 0x0E ,
  PWR_ATT_30dB = 0x0F , PWR_ATT_32dB = 0x10 , PWR_MIN = 0x11
}
 Output power levels. More...
 
enum  Radio_SubBands_e {
  US_SUB_BAND_1 = 0 , US_SUB_BAND_2 = 1 , US_SUB_BAND_3 = 2 , US_SUB_BAND_4 = 3 ,
  US_SUB_BAND_5 = 4 , US_SUB_BAND_6 = 5 , US_SUB_BAND_7 = 6 , US_SUB_BAND_8 = 7 ,
  US_SUB_BAND_NONE = 14 , US_SUB_BANDS_ALL = 15 , EU_SUB_BANDS_DEFAULT = 0 , EU_SUB_BAND1_ON = 1 ,
  EU_SUB_BAND1_OFF = 2 , EU_SUB_BAND2_ON = 3 , EU_SUB_BAND2_OFF = 4
}
 LoRaWAN Subbands. More...
 
enum  IdleMode_e { M0_Active = 0x0 , M0_Sleep = 0x1 , M0_DeepSleep = 0x2 }
 M0+ Idle modes. More...
 
enum  WaitMode_e { M4_NoWait = 0x0 , M4_WaitActive = 0x1 , M4_WaitSleep = 0x2 , M4_WaitDeepSleep = 0x3 }
 M4 Wait modes. More...
 
enum  paramErrors_e { param_OK = 0x00 , param_Invalid = 0x01 , param_OutOfRange = 0x02 , param_UndefinedError = 0xFA }
 Onethinx module parameter errors. More...
 
enum  radioErrors_e {
  radio_OK = 0x00 , radio_BusyError = 0x01 , radio_BuckStartError = 0x02 , radio_XoscStartError = 0x03 ,
  radio_Rc13mCalibError = 0x04 , radio_Rc64kCalibError = 0x05 , radio_PllCalibError = 0x06 , radio_PllLockError = 0x07 ,
  radio_ImgCalibError = 0x08 , radio_AdcCalibError = 0x09 , radio_PaRampError = 0x0A , radio_InvalidFrequency = 0x0B ,
  radio_UndefinedError = 0xFA
}
 Onethinx module radio errors. More...
 
enum  macErrors_e {
  mac_OK = 0x00 , mac_BusyError = 0x01 , mac_NotJoinedError = 0x02 , mac_ChannelsOccupiedError = 0x03 ,
  mac_UnrecognizedKeyType = 0x04 , mac_EmptyPayload_Error = 0x05 , mac_RXheader_Error = 0x06 , mac_RX_MIC_Error = 0x07 ,
  mac_RX_InvalidDevAddr = 0x08 , mac_InvalidPacket_Error = 0x09 , mac_RXtimeout_Error = 0x0A , mac_CRC_Error = 0x0B ,
  mac_FCNT_Error = 0x0C , mac_Confirmation_Error = 0x0D , mac_PayloadSize_Error = 0x0E , mac_UndefinedError = 0xFA
}
 Onethinx module MAC errors. More...
 
enum  systemErrors_e {
  system_OK = 0x00 , system_BusyError = 0x01 , system_NotStarted = 0x02 , system_IPCError = 0x03 ,
  system_FlashWriteError = 0x04 , system_VersionMatchError = 0x05 , system_UndefinedError = 0xFA
}
 Onethinx module system errors. More...
 
enum  sleepMode_e {
  modeSleep = 0x1 , modeDeepSleep = 0x2 , modeHibernate = 0x3 , modeHibernate_RtcOn = 0x4 ,
  modeHibernate_MACsave = 0x5
}
 Onethinx module sleep modes. More...
 
enum  sleepCores_e { coresM0p = 1 , coresM4 = 2 , coresBoth = 3 }
 Specifies the cores that go to sleep. More...
 
enum  MACcmd_e { MACcmd_None = 0 , LinkCheckReq = 1 , DeviceTimeReq = 2 , LinkCheck_DeviceTimeReq = 3 }
 LoRaWAN MAC commands. More...
 
enum  stackRegion_e {
  stack_AS = 1 , stack_AU = 2 , stack_CN_L = 3 , stack_CN_H = 4 ,
  stack_EU_L = 5 , stack_EU_H = 6 , stack_IN = 7 , stack_KR = 8 ,
  stack_US = 9 , stack_RU = 10
}
 LoRaWAN stack used on the module. More...
 

Detailed Description

Onethinx LoRaWAN API Enumerated Types.

Enumeration Type Documentation

◆ IdleMode_e

enum IdleMode_e

M0+ Idle modes.

Defines the mode that M0+ is in while M4 is working.

Enumerator
M0_Active 

Keep M0+ active during system idle.

M0_Sleep 

Put M0+ in Sleep mode during system idle.

M0_DeepSleep 

Put M0+ in DeepSleep mode during system idle.

◆ keyType_e

enum keyType_e

LoRaWAN Activation Type.

Enumerator
ABP_10x_key 

Activation by Personalization (ABP)

OTAA_10x_key 

Over the air activation (OTAA) for versions 1.0.x

OTAA_11x_key 

Over the air activation (OTAA) for versions 1.1.x

PreStored_key 

Pre-Stored Key

UserStored_key 

User Stored Key

◆ MACcmd_e

enum MACcmd_e

LoRaWAN MAC commands.

Enumerator
MACcmd_None 

No command.

LinkCheckReq 

Link Check Request MAC Command.

DeviceTimeReq 

Device Time Request MAC Command.

LinkCheck_DeviceTimeReq 

Both Link Check and Device Time Request MAC Commands.

◆ macErrors_e

Onethinx module MAC errors.

Enumerator
mac_OK 

No MAC Errors.

mac_BusyError 

MAC Busy Error, example, if lorawan_send and not waiting, lorawan mac cant be used because its still busy.

mac_NotJoinedError 

Not Joined To The Network.

mac_ChannelsOccupiedError 

Channels Occupied Error, Duty Cycle Limit Reached.

mac_UnrecognizedKeyType 

Unrecognized Key Type.

mac_EmptyPayload_Error 

Empty Payload.

mac_RXheader_Error 

Invalid RX Header.

mac_RX_MIC_Error 

Message Integrity Code Error.

mac_RX_InvalidDevAddr 

Invalid DevAddr Error.

mac_InvalidPacket_Error 

Invalid Packet Error.

mac_RXtimeout_Error 

Receive Window Timeout Error, if expecting a downlink (at confirmed upling you expect a conformation), rx timeout if no conformation.

mac_CRC_Error 

Cyclic Redundancy Check Error.

mac_FCNT_Error 

Frame Counter Error.

mac_Confirmation_Error 

Confirmation Error, the lorawan gateway can ask for redundancy, if redundancy, message is sent x times, up to 10 times, if sent x times and not confirmed, then this error sprungs.

mac_PayloadSize_Error 

Payload Size Error.

mac_UndefinedError 

Undefined Error.

◆ paramErrors_e

Onethinx module parameter errors.

Check your LoRa and/or LoRaWAN parameters/configuration.

Enumerator
param_OK 

All Parameters are OK.

param_Invalid 

Invalid Parameter.

param_OutOfRange 

Parameters out of Range.

param_UndefinedError 

Undefined Parameter Error.

◆ Radio_DataRate_e

LoRaWAN Data Rates.

Consult LoRaWAN Specification 1.0.2 for more details. Note that Data Rates are different depending on the region version of the module. RFU = Reserved for Future Use (reserved by LoRa Alliance)

Enumerator
DR_0 

EU: SF12 125KHz,

US: SF10 125KHz,

AU: SF12 125KHz,

DR_1 

EU: SF11 125KHz,

US: SF9 125KHz,

AU: SF11 125KHz,

DR_2 

EU: SF10 125KHz,

US: SF8 125KHz,

AU: SF10 125KHz,

DR_3 

EU: SF9 125KHz,

US: SF7 125KHz,

AU: SF9 125KHz,

DR_4 

EU: SF8 125KHz,

US: SF8 500KHz,

AU: SF8 125KHz,

DR_5 

EU: SF7 125KHz,

US: RFU

AU: SF7 125KHz,

DR_6 

EU: SF7 250KHz,

US: RFU

AU: SF8 500KHz,

DR_7 

EU: FSK 50kbps,

US: RFU

AU: RFU

DR_8 

EU: RFU,

US: SF12 500KHz (downlinks only),

AU: SF12 500KHz (downlinks only),

DR_9 

EU: RFU,

US: SF11 500KHz (downlinks only),

AU: SF11 500KHz (downlinks only),

DR_10 

EU: RFU,

US: SF10 500KHz (downlinks only),

AU: SF10 500KHz (downlinks only),

DR_11 

EU: RFU,

US: SF9 500KHz (downlinks only),

AU: SF9 500KHz (downlinks only),

DR_12 

EU: RFU,

US: SF8 500KHz (downlinks only),

AU: SF8 500KHz (downlinks only),

DR_13 

EU: RFU,

US: SF7 500KHz (downlinks only),

AU: SF7 500KHz (downlinks only),

DR_ADR 

ADR (Adaptive DataRate and Power Setting by LoRaWAN network)

DR_AUTO 

Automatic DataRate (during joining)

◆ Radio_SubBands_e

LoRaWAN Subbands.

Enumerator
US_SUB_BAND_1 

US 902-928 Sub-Band 1, uplink channels 0 to 7 (902.3 MHz to 903.7Mhz, 0.2MHz steps) and 1 downlink channel (923.3 MHz)

US_SUB_BAND_2 

US 902-928 Sub-Band 2, uplink channels 8 to 15 (903.9 MHz to 905.3Mhz, 0.2MHz steps) and 1 downlink channel (923.9 MHz)

US_SUB_BAND_3 

US 902-928 Sub-Band 3, uplink channels 16 to 23 (905.5 MHz to 906.9Mhz, 0.2MHz steps) and 1 downlink channel (924.5 MHz)

US_SUB_BAND_4 

US 902-928 Sub-Band 4, uplink channels 24 to 31 (907.1 MHz to 908.5Mhz, 0.2MHz steps) and 1 downlink channel (925.1 MHz)

US_SUB_BAND_5 

US 902-928 Sub-Band 5, uplink channels 32 to 39 (908.7 MHz to 910.1Mhz, 0.2MHz steps) and 1 downlink channel (925.7 MHz)

US_SUB_BAND_6 

US 902-928 Sub-Band 6, uplink channels 40 to 47 (910.3 MHz to 911.7Mhz, 0.2MHz steps) and 1 downlink channel (926.3 MHz)

US_SUB_BAND_7 

US 902-928 Sub-Band 7, uplink channels 48 to 55 (911.9 MHz to 913.3Mhz, 0.2MHz steps) and 1 downlink channel (926.9 MHz)

US_SUB_BAND_8 

US 902-928 Sub-Band 8, uplink channels 56 to 63 (913.5 MHz to 914.9Mhz, 0.2MHz steps) and 1 downlink channel (927.5 MHz)

US_SUB_BAND_NONE 

US 902-928 No Sub-Band Selected.

US_SUB_BANDS_ALL 

US 902-928 All Sub-Bands Selected.

EU_SUB_BANDS_DEFAULT 

EU 863-870 Default Sub-Bands.

EU_SUB_BAND1_ON 

No Longer Used, DEPRECIATED.

EU_SUB_BAND1_OFF 

No Longer Used, DEPRECIATED.

EU_SUB_BAND2_ON 

No Longer Used, DEPRECIATED.

EU_SUB_BAND2_OFF 

No Longer Used, DEPRECIATED.

◆ Radio_TXpower_e

Output power levels.

Enumerator
PWR_ADR 

ADR (ADR MAX PWR, same as PWR_MAX)

PWR_MAX 

15dBm for SX1261, 22dBm for SX1262

PWR_ATT_2dB 

14dBm for SX1261, 20dBm for SX1262

PWR_ATT_4dB 

12dBm for SX1261, 18dBm for SX1262

PWR_ATT_6dB 

10dBm for SX1261, 16dBm for SX1262

PWR_ATT_8dB 

8dBm for SX1261, 14dBm for SX1262

PWR_ATT_10dB 

6dBm for SX1261, 12dBm for SX1262

PWR_ATT_12dB 

4dBm for SX1261, 10dBm for SX1262

PWR_ATT_14dB 

2dBm for SX1261, 8dBm for SX1262

PWR_ATT_16dB 

0dBm for SX1261, 6dBm for SX1262

PWR_ATT_18dB 

-2dBm for SX1261, 4dBm for SX1262

PWR_ATT_20dB 

-4dBm for SX1261, 2dBm for SX1262

PWR_ATT_22dB 

-6dBm for SX1261, 0dBm for SX1262

PWR_ATT_24dB 

-8dBm for SX1261, -2dBm for SX1262

PWR_ATT_26dB 

-10dBm for SX1261, -4dBm for SX1262

PWR_ATT_28dB 

-12dBm for SX1261, -6dBm for SX1262

PWR_ATT_30dB 

-14dBm for SX1261, -8dBm for SX1262

PWR_ATT_32dB 

-16dBm for SX1261, -9dBm for SX1262

PWR_MIN 

-17dBm for SX1261, -9dBm for SX1262

◆ radioErrors_e

Onethinx module radio errors.

Enumerator
radio_OK 
radio_BusyError 

Radio Busy Error.

radio_BuckStartError 

Buck converter failed to start.

radio_XoscStartError 

XOSC failed to start.

radio_Rc13mCalibError 

RC 13MHz oscillator calibration failed.

radio_Rc64kCalibError 

RC 64kHz oscillator calibration failed.

radio_PllCalibError 

PLL calibration failed.

radio_PllLockError 

PLL lock failed.

radio_ImgCalibError 

Image calibration failed.

radio_AdcCalibError 

ADC calibration failed.

radio_PaRampError 

PA ramp failed.

radio_InvalidFrequency 

Invalid frequency set.

radio_UndefinedError 

◆ sleepCores_e

Specifies the cores that go to sleep.

Enumerator
coresM0p 

Only ARM Cortex M0+ goes to sleep.

coresM4 

Only ARM Cortex M4 goes to sleep.

coresBoth 

Only ARM Cortex M4 and M0+ goes to sleep.

◆ sleepMode_e

Onethinx module sleep modes.

For current consumption please consult the datasheet found on our Github page.

Enumerator
modeSleep 

Sleep Mode, Fastest wake up, Highest consumption of all sleep modes.

After wake up from this mode, the code continues normally from where it went to sleep.

modeDeepSleep 

Deep Sleep Mode, Lower power consumption than Sleep Mode, Best ration between power and ease of use.

After wake up from this mode, the code continues normally from where it went to sleep.

modeHibernate 

Hibernates, WCO & RTC are shut down.

After the module is woken up from Hibernate, it resets.

modeHibernate_RtcOn 

Hibernates, RTC will keep running.

After the module is woken up from Hibernate, it resets. (RTC consumes approx. an additional .7uA)

modeHibernate_MACsave 

Hibernates, RTC on, LoRaWAN MAC is saved to EEPROM and restored at wakeup.

EEPROM USAGE = 0x1400.7800 - 0x1400.7FFF. After the module is woken up from Hibernate, it resets. (RTC consumes approx. an additional .7uA)

◆ stackRegion_e

LoRaWAN stack used on the module.

Returned in coreInfo_t structure when LoRaWAN_GetInfo function is called.

Enumerator
stack_AS 

Region Australia 923 MHz.

stack_AU 

Region Japan 915-928 MHz.

stack_CN_L 

Region China 470-510 MHz.

stack_CN_H 

Region China 779-787 MHz.

stack_EU_L 

Region Europe 433 MHz.

stack_EU_H 

Region Europe 863-870 MHz.

stack_IN 

Region India 865-867 MHz.

stack_KR 

Region Korea 920-923 MHz.

stack_US 

Region North America 902-928 MHz.

stack_RU 

Region Russia 864-870 MHz.

◆ systemErrors_e

Onethinx module system errors.

Enumerator
system_OK 

No System Errors.

system_BusyError 

System is Busy.

system_NotStarted 

System has not Started.

system_IPCError 

Inter Processor Communication Error.

system_FlashWriteError 

Flash Write Error.

system_VersionMatchError 

Version mismatch error, change API version.

system_UndefinedError 

Undefined Error.

◆ WaitMode_e

enum WaitMode_e

M4 Wait modes.

Defines the mode that M4 is in while M0+ is working.

Enumerator
M4_NoWait 

Do not wait till stack finished.

M4_WaitActive 

Wait while stack busy, M4 stays in Active mode.

M4_WaitSleep 

M4 goes into Sleep while is stack busy.

M4_WaitDeepSleep 

M4 goes into DeepSleep while is stack busy.