KETCube
Modules | Data Structures | Macros | Typedefs | Enumerations | Functions | Variables

KETCube LoRa module. More...

Modules

 KETCube LoRa
 LoRa connection type.
 

Data Structures

struct  ketCube_lora_cfg_t
 
struct  ketCube_lora_moduleCfg_t
 KETCube lora module configuration. More...
 

Macros

#define KETCUBE_LORA_RX_BUFFER_LEN   64
 

Typedefs

typedef struct ketCube_lora_cfg_t ketCube_lora_cfg_t
 
typedef struct ketCube_lora_moduleCfg_t ketCube_lora_moduleCfg_t
 KETCube lora module configuration. More...
 

Enumerations

enum  ketCube_lora_selDeveui_t { KETCUBE_LORA_SELDEVEUI_BOARD = 0, KETCUBE_LORA_SELDEVEUI_CUSTOM = 1 }
 LoRa devAddr type. More...
 
enum  ketCube_lora_selConnMethod_t { KETCUBE_LORA_SELCONNMETHOD_OTAA = 0, KETCUBE_LORA_SELCONNMETHOD_ABP = 1 }
 LoRa connection type. More...
 
enum  ketCube_lora_cfgLen_t {
  KETCUBE_LORA_CFGLEN_DEVEUI = 8, KETCUBE_LORA_CFGLEN_APPEUI = 8, KETCUBE_LORA_CFGLEN_APPKEY = 16, KETCUBE_LORA_CFGLEN_NETID = 3,
  KETCUBE_LORA_CFGLEN_NWKKEY = 16, KETCUBE_LORA_CFGLEN_DEVADDR = 4, KETCUBE_LORA_CFGLEN_NWKSENCKEY = 16, KETCUBE_LORA_CFGLEN_SNWKSINTKEY = 16,
  KETCUBE_LORA_CFGLEN_FNWKSINTKEY = 16, KETCUBE_LORA_CFGLEN_APPSKEY = 16
}
 Length of LoRa CFG data. More...
 

Functions

ketCube_cfg_ModError_t ketCube_lora_Init (ketCube_InterModMsg_t ***msg)
 Load basic module configuration data from EEPROM. More...
 
ketCube_cfg_ModError_t ketCube_lora_Send (uint8_t *buffer, uint8_t *len)
 Process lora state and prepare data... More...
 
ketCube_cfg_ModError_t ketCube_lora_AsyncSend (uint8_t *buffer, uint8_t *len)
 Process lora state and prepare data (for asynchronous send)... More...
 
ketCube_cfg_ModError_t ketCube_lora_SleepEnter (void)
 Prepare sleep mode. More...
 
ketCube_cfg_ModError_t ketCube_lora_SleepExit (void)
 Exit sleep mode. More...
 
void ketCube_lora_processCustomData (uint8_t *buffer, uint8_t len)
 Process custom data. More...
 

Variables

ketCube_lora_moduleCfg_t ketCube_lora_moduleCfg
 

Detailed Description

KETCube LoRa module.

Macro Definition Documentation

◆ KETCUBE_LORA_RX_BUFFER_LEN

#define KETCUBE_LORA_RX_BUFFER_LEN   64

Typedef Documentation

◆ ketCube_lora_cfg_t

◆ ketCube_lora_moduleCfg_t

KETCube lora module configuration.

Enumeration Type Documentation

◆ ketCube_lora_cfgLen_t

Length of LoRa CFG data.

Enumerator
KETCUBE_LORA_CFGLEN_DEVEUI 

DevEUI len in bytes

KETCUBE_LORA_CFGLEN_APPEUI 

AppEUI len in bytes

KETCUBE_LORA_CFGLEN_APPKEY 

AppKEY len in bytes

KETCUBE_LORA_CFGLEN_NETID 

NetID len in bytes

KETCUBE_LORA_CFGLEN_NWKKEY 

Network root key len in bytes

KETCUBE_LORA_CFGLEN_DEVADDR 

DEVAddr len in bytes

KETCUBE_LORA_CFGLEN_NWKSENCKEY 

Network session encryption key len in bytes

KETCUBE_LORA_CFGLEN_SNWKSINTKEY 

Network session encryption key len in bytes

KETCUBE_LORA_CFGLEN_FNWKSINTKEY 

Forwarding Network session integrity key len in bytes

KETCUBE_LORA_CFGLEN_APPSKEY 

Application session KEY len in bytes

◆ ketCube_lora_selConnMethod_t

LoRa connection type.

Enumerator
KETCUBE_LORA_SELCONNMETHOD_OTAA 

LoRa OTAA

KETCUBE_LORA_SELCONNMETHOD_ABP 

LoRa ABP

◆ ketCube_lora_selDeveui_t

LoRa devAddr type.

Enumerator
KETCUBE_LORA_SELDEVEUI_BOARD 

DevEui is automatically generated by calling BoardGetUniqueId function

KETCUBE_LORA_SELDEVEUI_CUSTOM 

LoRa user-defined devEUI is used

Function Documentation

◆ ketCube_lora_AsyncSend()

ketCube_cfg_ModError_t ketCube_lora_AsyncSend ( uint8_t *  buffer,
uint8_t *  len 
)

Process lora state and prepare data (for asynchronous send)...

◆ ketCube_lora_Init()

ketCube_cfg_ModError_t ketCube_lora_Init ( ketCube_InterModMsg_t ***  msg)

Load basic module configuration data from EEPROM.

Return values
KETCUBE_CFG_MODULE_OKin case of success
KETCUBE_CFG_MODULE_ERRORin case of failure

◆ ketCube_lora_processCustomData()

void ketCube_lora_processCustomData ( uint8_t *  buffer,
uint8_t  len 
)

Process custom data.

Parameters
bufferreceived data
Note
Redefine this function if you would like to process data received on port 12

◆ ketCube_lora_Send()

ketCube_cfg_ModError_t ketCube_lora_Send ( uint8_t *  buffer,
uint8_t *  len 
)

Process lora state and prepare data...

◆ ketCube_lora_SleepEnter()

ketCube_cfg_ModError_t ketCube_lora_SleepEnter ( void  )

Prepare sleep mode.

Return values
KETCUBE_CFG_MODULE_OKgo sleep
KETCUBE_CFG_MODULE_ERRORdo not go sleep

◆ ketCube_lora_SleepExit()

ketCube_cfg_ModError_t ketCube_lora_SleepExit ( void  )

Exit sleep mode.

Return values
KETCUBE_CFG_MODULE_OK
KETCUBE_CFG_MODULE_ERROR

Variable Documentation

◆ ketCube_lora_moduleCfg

ketCube_lora_moduleCfg_t ketCube_lora_moduleCfg
extern

LoRa module configuration storage