embenet_node.h File Reference

Table of contents Table of contents

embeNET Node API More...

Data Structures

struct  EMBENET_NODE_Config
 

Macros

#define EMBENET_TASKID_INVALID   SIZE_MAX
 

Typedefs

typedef size_t EMBENET_TaskId
 Identifier of an application-level task running within the stack. More...
 
typedef void(* EMBENET_NODE_TaskFunction) (EMBENET_TaskId taskId, EMBENET_NODE_TimeSource timeSource, uint64_t t, void *context)
 

Enumerations

enum  EMBENET_NODE_TimeSource { EMBENET_NODE_TIME_SOURCE_LOCAL = 0 , EMBENET_NODE_TIME_SOURCE_NETWORK = 1 }
 

Functions

EMBENET_Result EMBENET_NODE_Init (const EMBENET_NODE_EventHandlers *eventHandlers)
 Initializes the embeNET networking stack for node. More...
 
void EMBENET_NODE_Deinit (void)
 Deinitializes the embeNET networking stack. More...
 
void EMBENET_NODE_Proc (void)
 Runs the networking process of the embeNET stack for node. More...
 
EMBENET_Result EMBENET_NODE_Join (const EMBENET_NODE_Config *config)
 Starts the network joining process as a node. More...
 
EMBENET_Result EMBENET_NODE_QuickJoin (const EMBENET_NODE_QuickJoinCredentials *quickJoinCredentials)
 Starts the network joining process as a node using a previously stored EMBENET_NODE_QuickJoinCredentials for quicker join. More...
 
EMBENET_Result EMBENET_NODE_Leave (void)
 Disconnects the node from the network. More...
 
EMBENET_Result EMBENET_NODE_RootStart (void const *panData, size_t panDataSize)
 Starts operation as a root node. More...
 
bool EMBENET_NODE_JoinGroup (EMBENET_GroupId groupId)
 Makes the node join the given multicast group. More...
 
void EMBENET_NODE_LeaveGroup (EMBENET_GroupId groupId)
 Makes the node leave the given multicast group. More...
 
size_t EMBENET_NODE_GetGroupCount (void)
 Gets the number of groups the node belongs to. More...
 
EMBENET_GroupId EMBENET_NODE_GetGroupByIndex (size_t index)
 Gets the groups the node belongs to by their index. More...
 
EMBENET_TaskId EMBENET_NODE_TaskCreate (EMBENET_NODE_TaskFunction taskFunction, void *userContext)
 Registers an application-level task. More...
 
void EMBENET_NODE_TaskDestroy (EMBENET_TaskId taskId)
 Destroys a task. More...
 
EMBENET_Result EMBENET_NODE_TaskSchedule (EMBENET_TaskId taskId, EMBENET_NODE_TimeSource timeSource, uint64_t t)
 Schedules task in time, reschedules if task was already scheduled. More...
 
EMBENET_Result EMBENET_NODE_TaskCancel (EMBENET_TaskId taskId)
 Cancels the previously scheduled task. More...
 
EMBENET_EUI64 EMBENET_NODE_GetUID (void)
 Gets own UID which is an EUI64 address. More...
 
EMBENET_Result EMBENET_NODE_SetUID (EMBENET_EUI64 uid)
 Sets own UID which is an EUI64 address. More...
 
void EMBENET_NODE_ForceParentChange (void)
 Forces parent change. More...
 
EMBENET_Result EMBENET_NODE_GetBorderRouterAddress (EMBENET_IPV6 *ipv6)
 Gets the IPv6 address of the border router, if it is reachable. More...
 
EMBENET_Result EMBENET_NODE_GetParentAddress (EMBENET_IPV6 *ipv6)
 Gets the link-local IPv6 address of the parent node. More...
 
uint64_t EMBENET_NODE_GetLocalTime (void)
 Gets the current local time since the networking stack was initialized. More...
 
uint64_t EMBENET_NODE_GetNetworkTime (void)
 Gets the current network time. More...
 
uint64_t EMBENET_NODE_GetNetworkAsn (void)
 Gets the current network time expressed in Absolute Slot Number. More...
 
uint32_t EMBENET_NODE_GetRandomValue (uint32_t start, uint32_t stop)
 Gets a random unsigned integer value from a given range. More...
 

Detailed Description

embeNET Node API

License: Commercial
Version
1.0.3624
Purpose: embeNET API

Acronyms:

  • PANID Personal Area Network Identifier, it is assigned by the Border Router, it differentiates logically wireless networks.
  • JRC Join Registrar Coordinator.
  • CJ Constrained Join.
  • K1 Pre-shared 16B authentication key which is the same among all nodes in the same network. Its scope can vary from a single network identified by PANID to all nodes in multiple networks. K1 is assigned by application.
  • K2 Key obtained during Constrained Join process, assigned automatically by JRC. Ensures network-level security.
  • PSK Pre-shared Constrained Join key. Should be unique and shared with destined Join Registrar Coordinator.