Microchip® Advanced Software Framework

otau.h File Reference

OTAU interface.

Copyright (c) 2018 - 2019 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"

Data Structures

struct  DataHandleTable_
 
struct  node_address_t
 
struct  otau_domain_msg_t
 
struct  otau_rcvd_frame_t
 

Macros

#define APP_MAX_PAYLOAD_SIZE   (64)
 
#define APP_MODE_SUPPORTED_BIT   0x01
 
#define BROADCAST_ADDR_SIZE   2
 
#define DATA_HANDLE_TABLE_SIZE   20
 
#define EXT_ADDR_LEN   (8)
 Length (in octets) of extended address. More...
 
#define EXTENDED_ADDR_SIZE   8
 
#define FCF_ACK_REQUEST   (1 << 5)
 The mask for the ACK request bit of the FCF. More...
 
#define FCF_ADDR_MASK   (3)
 
#define FCF_DEST_ADDR_OFFSET   (10)
 Defines the offset of the destination address. More...
 
#define FCF_FRAMETYPE_MASK   (0x07)
 Defines a mask for the frame type. More...
 
#define FCF_GET_DEST_ADDR_MODE(x)   (((x) >> FCF_DEST_ADDR_OFFSET) & FCF_ADDR_MASK)
 
#define FCF_GET_FRAMETYPE(x)   ((x) & FCF_FRAMETYPE_MASK)
 Macro to get the frame type. More...
 
#define FCF_GET_SOURCE_ADDR_MODE(x)   (((x) >> FCF_SOURCE_ADDR_OFFSET) & FCF_ADDR_MASK)
 
#define FCF_LEN   (2)
 Length (in octets) of FCF. More...
 
#define FCF_LONG_ADDR   (0x03)
 Address Mode: LONG. More...
 
#define FCF_NO_ADDR   (0x00)
 Address Mode: NO ADDRESS. More...
 
#define FCF_PAN_ID_COMPRESSION   (1 << 6)
 The mask for the PAN ID compression bit of the FCF. More...
 
#define FCF_RESERVED_ADDR   (0x01)
 Address Mode: RESERVED. More...
 
#define FCF_SECURITY_ENABLED   (1 << 3)
 The mask for the security enable bit of the FCF. More...
 
#define FCF_SET_DEST_ADDR_MODE(x)
 Macro to set the destination address mode. More...
 
#define FCF_SET_FRAMETYPE(x)   (x)
 A macro to set the frame type. More...
 
#define FCF_SET_SOURCE_ADDR_MODE(x)
 Macro to set the source address mode. More...
 
#define FCF_SHORT_ADDR   (0x02)
 Address Mode: SHORT. More...
 
#define FCF_SOURCE_ADDR_OFFSET   (14)
 Defines the offset of the source address. More...
 
#define FCS_LEN   (2)
 Length (in octets) of FCS. More...
 
#define FRAME_OVERHEAD   (3)
 
#define macShortAddress_def   (0xFFFF)
 Default value for PIB macShortAddress. More...
 
#define MODE_MASK   0x03
 
#define NATIVE_ADDR_SIZE   2
 
#define PAN_ID_LEN   (2)
 Length (in octets) of PAN ID. More...
 
#define PHY_MAX_PAYLOAD_SIZE   (80)
 
#define SEQ_NUM_LEN   (1)
 Length of the sequence number field. More...
 
#define SUPPORTED_MODE   (APP_MODE_SUPPORTED_BIT)
 

Typedefs

typedef struct DataHandleTable_ DataHandleTable_t
 

Enumerations

enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 
enum  SHORTENUM {
  ENTRY = 0,
  EXIT,
  TRACE_ENTRY = 0,
  TRACE_EXIT,
  LOG_INFO = 0x01,
  LOG_WARNING = 0x02,
  LOG_ERROR = 0x04,
  LOG_ASSERT = 0x08,
  MIWI_NWK,
  MIWI_PHY,
  MIWI_SYS,
  MIWI_APP,
  OTAU_SUCCESS = 0x00,
  OTAU_CCA_FAILURE,
  OTAU_NO_ACK,
  OTAU_ERROR,
  OTAU_INVALID_MSG = 0x80,
  OTAU_MSG_IN_PROGRESS,
  TIMER_MODE_SINGLE,
  TIMER_MODE_PERIODIC,
  BROADCAST_MODE = 0,
  NATIVE_ADDR_MODE,
  EXTENDED_ADDR_MODE,
  DOMAIN_OTAU_NOTIFY = 0x80,
  DOMAIN_OTAU_UPGRADE,
  DOMAIN_OTAU_DEBUG,
  OTAU_LED_ON,
  OTAU_LED_OFF,
  OTAU_LED_TOGGLE,
  ASSOCIATIONREQUEST = (0x01),
  ASSOCIATIONRESPONSE,
  DISASSOCIATIONNOTIFICATION,
  DATAREQUEST,
  PANIDCONFLICTNOTIFICAION,
  ORPHANNOTIFICATION,
  BEACONREQUEST,
  COORDINATORREALIGNMENT,
  GTSREQUEST,
  ORPHANREALIGNMENT,
  BEACON_MESSAGE,
  DATAREQUEST_IMPL_POLL,
  NULL_FRAME,
  MCPS_MESSAGE,
  STB_CCM_OK = 0,
  STB_CCM_ILLPARM,
  STB_CCM_KEYMISS,
  STB_CCM_MICERR,
  SECURITY_00_LEVEL = 0x00,
  SECURITY_01_LEVEL,
  SECURITY_02_LEVEL,
  SECURITY_03_LEVEL,
  SECURITY_04_LEVEL,
  SECURITY_05_LEVEL,
  SECURITY_06_LEVEL,
  SECURITY_07_LEVEL
}
 

Functions

uint8_t * get_node_address (addr_mode_t addr_mode)
 
void otau_log (uint8_t log_type, module_id_t module_id, error_code_t error_code, uint8_t len, uint8_t *user_log)
 
void otau_sent_frame (uint8_t addr_mode, uint8_t *addr, uint8_t domainId, uint8_t status)
 
void otau_trace (trace_type_t trace_type)
 
void otauDataSend (addr_mode_t addr_mode, uint8_t *addr, void *payload, uint16_t len)
 
void otauGetServerDetails (addr_mode_t addr_mode, uint8_t *addr)
 
void otauHandleMsg (otau_domain_msg_t *otau_domain_msg)
 
void otauInit (void)
 
void otauLed (otau_led_t led_state)
 
void otauRcvdFrame (otau_rcvd_frame_t *rcvd_frame)
 
void otauResetDevice (void)
 
void otauSetServerDetails (addr_mode_t addr_mode, uint8_t *addr)
 
void otauTask (void)
 
void otauTimerStart (otau_domain_t domain_code, uint32_t interval, otau_timer_mode_t mode)
 
void otauTimerStop (otau_domain_t domain_code)
 
void reverseMemcpy (uint8_t *dst, uint8_t *src, uint8_t len)
 

Variables

node_address_t serverAddress
 

#define APP_MAX_PAYLOAD_SIZE   (64)
#define APP_MODE_SUPPORTED_BIT   0x01
#define BROADCAST_ADDR_SIZE   2
#define DATA_HANDLE_TABLE_SIZE   20
#define EXT_ADDR_LEN   (8)

Length (in octets) of extended address.

Referenced by mac_extract_mhr_addr_info(), transmit_frame(), and usr_perf_start_confirm().

#define EXTENDED_ADDR_SIZE   8
#define FCF_ADDR_MASK   (3)
#define FCF_DEST_ADDR_OFFSET   (10)

Defines the offset of the destination address.

Referenced by mac_extract_mhr_addr_info().

#define FCF_FRAMETYPE_MASK   (0x07)

Defines a mask for the frame type.

(Table 65 IEEE 802.15.4 Specification)

#define FCF_GET_DEST_ADDR_MODE (   x)    (((x) >> FCF_DEST_ADDR_OFFSET) & FCF_ADDR_MASK)
#define FCF_GET_FRAMETYPE (   x)    ((x) & FCF_FRAMETYPE_MASK)

Macro to get the frame type.

#define FCF_GET_SOURCE_ADDR_MODE (   x)    (((x) >> FCF_SOURCE_ADDR_OFFSET) & FCF_ADDR_MASK)
#define FCF_NO_ADDR   (0x00)

Address Mode: NO ADDRESS.

Referenced by build_data_frame(), and mcps_data_request().

#define FCF_PAN_ID_COMPRESSION   (1 << 6)
#define FCF_RESERVED_ADDR   (0x01)

Address Mode: RESERVED.

Referenced by mcps_data_request().

#define FCF_SECURITY_ENABLED   (1 << 3)

The mask for the security enable bit of the FCF.

Referenced by build_data_frame(), mac_tx_gts_data(), mcps_data_request(), and parse_mpdu().

#define FCF_SET_DEST_ADDR_MODE (   x)
Value:
((unsigned int)((x) << \
#define FCF_DEST_ADDR_OFFSET
Defines the offset of the destination address.
Definition: otau.h:137

Macro to set the destination address mode.

Referenced by build_data_frame(), configure_frame_sending(), configure_pkt_stream_frames(), configure_range_test_frame_sending(), mlme_gts_request(), and transmit_frame().

#define FCF_SET_FRAMETYPE (   x)    (x)

A macro to set the frame type.

Referenced by build_data_frame(), and mlme_gts_request().

#define FCF_SET_SOURCE_ADDR_MODE (   x)
Value:
((unsigned int)((x) << \
#define FCF_SOURCE_ADDR_OFFSET
Defines the offset of the source address.
Definition: otau.h:142

Macro to set the source address mode.

Referenced by build_data_frame(), configure_frame_sending(), configure_pkt_stream_frames(), configure_range_test_frame_sending(), mlme_gts_request(), and transmit_frame().

#define FCF_SOURCE_ADDR_OFFSET   (14)

Defines the offset of the source address.

Referenced by mac_extract_mhr_addr_info().

#define FRAME_OVERHEAD   (3)
#define macShortAddress_def   (0xFFFF)

Default value for PIB macShortAddress.

Referenced by mac_idle_trans().

#define MODE_MASK   0x03
#define NATIVE_ADDR_SIZE   2
#define PHY_MAX_PAYLOAD_SIZE   (80)
#define SEQ_NUM_LEN   (1)
#define SUPPORTED_MODE   (APP_MODE_SUPPORTED_BIT)

Referenced by otauClientSendNotify().

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

enum SHORTENUM
Enumerator
ENTRY 
EXIT 
TRACE_ENTRY 
TRACE_EXIT 
LOG_INFO 
LOG_WARNING 
LOG_ERROR 
LOG_ASSERT 
MIWI_NWK 
MIWI_PHY 
MIWI_SYS 
MIWI_APP 
OTAU_SUCCESS 
OTAU_CCA_FAILURE 
OTAU_NO_ACK 
OTAU_ERROR 
OTAU_INVALID_MSG 
OTAU_MSG_IN_PROGRESS 
TIMER_MODE_SINGLE 
TIMER_MODE_PERIODIC 
BROADCAST_MODE 
NATIVE_ADDR_MODE 
EXTENDED_ADDR_MODE 
DOMAIN_OTAU_NOTIFY 
DOMAIN_OTAU_UPGRADE 
DOMAIN_OTAU_DEBUG 
OTAU_LED_ON 
OTAU_LED_OFF 
OTAU_LED_TOGGLE 
ASSOCIATIONREQUEST 
ASSOCIATIONRESPONSE 
DISASSOCIATIONNOTIFICATION 
DATAREQUEST 
PANIDCONFLICTNOTIFICAION 
ORPHANNOTIFICATION 
BEACONREQUEST 
COORDINATORREALIGNMENT 
GTSREQUEST 
ORPHANREALIGNMENT 
BEACON_MESSAGE 
DATAREQUEST_IMPL_POLL 
NULL_FRAME 
MCPS_MESSAGE 
STB_CCM_OK 

CCM en/decryption OK.

STB_CCM_ILLPARM 

Illegal parameter value in stb_ccm_secure()

STB_CCM_KEYMISS 

No previous key init in stb_ccm_secure()

STB_CCM_MICERR 

MIC error detected in stb_ccm_secure()

SECURITY_00_LEVEL 

Security Level 0.

SECURITY_01_LEVEL 

Security Level 1.

SECURITY_02_LEVEL 

Security Level 2.

SECURITY_03_LEVEL 

Security Level 3.

SECURITY_04_LEVEL 

Security Level 4.

SECURITY_05_LEVEL 

Security Level 5.

SECURITY_06_LEVEL 

Security Level 6.

SECURITY_07_LEVEL 

Security Level 7.

uint8_t* get_node_address ( addr_mode_t  addr_mode)
void otau_log ( uint8_t  log_type,
module_id_t  module_id,
error_code_t  error_code,
uint8_t  len,
uint8_t *  user_log 
)
void otau_sent_frame ( uint8_t  addr_mode,
uint8_t *  addr,
uint8_t  domainId,
uint8_t  status 
)
void otau_trace ( trace_type_t  trace_type)
void otauGetServerDetails ( addr_mode_t  addr_mode,
uint8_t *  addr 
)
void otauLed ( otau_led_t  led_state)

References OTAU_LED_OFF, and OTAU_LED_ON.

Referenced by otauNotifyTimerHandler().

void otauResetDevice ( void  )
void otauSetServerDetails ( addr_mode_t  addr_mode,
uint8_t *  addr 
)
void reverseMemcpy ( uint8_t *  dst,
uint8_t *  src,
uint8_t  len 
)

References i.

node_address_t serverAddress

Referenced by otauClientSendNotify().