Legacy HAL#

The Legacy HAL is an implementation of the Hardware Abstraction Layer (HAL) that was used by the Zigbee EmberZNet and Flex Connect stacks before their transition to the new component-based architecture (Zigbee version 7.0 and Connect version 3.0).

This component is not a complete duplicate of the old HAL. It only contains the most commonly used pieces to enable our networking stacks and sample applications and to support porting customer applications to the new component-based implementation. Currently, Zigbee and Connect sample applications are dependent on this component. Eventually, they will be ported to use new HAL components directly so that this component can become optional or be deprecated. Note

  • This component is only designed to be used with Zigbee and Connect stack applications. Do not use with any other stacks as it will likely introduce problems.

Modules#

Button

Cyclic Redundancy Check

LED

Microcontroller functions

Random Numbers

Functions#

uint16_t

This function will get 16u ms tick data.

uint32_t

This function will get 32u ms tick data.

uint64_t

This function will get 64u ms tick data.

uint16_t

This function will get 16u quater second tick data.

uint16_t

This function will start system timer.

void

This function will delay an amount of time in us.

void

This function will delay an amount of time in ms.

sl_status_t
halCommonIdleForMilliseconds(uint32_t *duration)

This function will set state to idle for an amount of time in ms.

void

This function is halStackSymbolDelayAIsr.

void

This function is halStackProcessBootCount.

Macros#

#define
simulatedTimePasses ()

Function Documentation#

halCommonGetInt16uMillisecondTick#

uint16_t halCommonGetInt16uMillisecondTick (void )

This function will get 16u ms tick data.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


halCommonGetInt32uMillisecondTick#

uint32_t halCommonGetInt32uMillisecondTick (void )

This function will get 32u ms tick data.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


halCommonGetInt64uMillisecondTick#

uint64_t halCommonGetInt64uMillisecondTick (void )

This function will get 64u ms tick data.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


halCommonGetInt16uQuarterSecondTick#

uint16_t halCommonGetInt16uQuarterSecondTick (void )

This function will get 16u quater second tick data.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


halInternalStartSystemTimer#

uint16_t halInternalStartSystemTimer (void )

This function will start system timer.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


halCommonDelayMicroseconds#

void halCommonDelayMicroseconds (uint16_t us)

This function will delay an amount of time in us.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Aus

second in us


halCommonDelayMilliseconds#

void halCommonDelayMilliseconds (uint16_t ms)

This function will delay an amount of time in ms.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Ams

second in ms


halCommonIdleForMilliseconds#

sl_status_t halCommonIdleForMilliseconds (uint32_t * duration)

This function will set state to idle for an amount of time in ms.

Parameters
TypeDirectionArgument NameDescription
uint32_t *N/Aduration

second in us

Returns

  • sl_status_t


halStackSymbolDelayAIsr#

void halStackSymbolDelayAIsr (void )

This function is halStackSymbolDelayAIsr.

Parameters
TypeDirectionArgument NameDescription
voidN/A

halStackProcessBootCount#

void halStackProcessBootCount (void )

This function is halStackProcessBootCount.

Parameters
TypeDirectionArgument NameDescription
voidN/A