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#
Application Bootloader Interface
Functions#
Call this function to get information about the external EEPROM and its capabilities.
Macros#
Definition of an EEPROM page size, in bytes.
Define the location of the first page in EEPROM.
Define the location of the image start in EEPROM as a function of the EEPROM_FIRST_PAGE and EEPROM_PAGE_SIZE.
Define EEPROM success status.
Define EEPROM error status.
Define EEPROM error mask.
Define EEPROM page boundary error.
Define EEPROM page size error.
Define EEPROM write data error.
Define EEPROM image too large error.
Define EEPROM invalid address error.
Define EEPROM chip initialization error.
Define EEPROM erase required error.
Define EEPROM error for no erase support.
The current version of the HalEepromInformationType data structure.
Eeprom capabilites mask that indicates the erase API is supported.
Eeprom capabilites mask that indicates page erasing is required before new data can be written to a device.
Eeprom capabilites mask that indicates that the write routine is blocking on this device.
Eeprom capabilites mask that indicates that the erase routine is blocking on this device.
Eeprom capabilities mask that indicateds that the partEraseTime field of HalEepromInformationType is in seconds instead of the usual millisecondss.
Function Documentation#
halEepromInfo#
const HalEepromInformationType * halEepromInfo (void )
Call this function to get information about the external EEPROM and its capabilities.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
The format of this call must not be altered. However, the content can be changed to work with a different device.
Returns
A pointer to a HalEepromInformationType data structure, or NULL if the driver does not support this API
halCommonGetInt16uMillisecondTick#
uint16_t halCommonGetInt16uMillisecondTick (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halCommonGetInt32uMillisecondTick#
uint32_t halCommonGetInt32uMillisecondTick (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halCommonGetInt64uMillisecondTick#
uint64_t halCommonGetInt64uMillisecondTick (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halCommonGetInt16uQuarterSecondTick#
uint16_t halCommonGetInt16uQuarterSecondTick (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halInternalStartSystemTimer#
uint16_t halInternalStartSystemTimer (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halCommonDelayMicroseconds#
void halCommonDelayMicroseconds (uint16_t us)
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | N/A | us |
halCommonDelayMilliseconds#
void halCommonDelayMilliseconds (uint16_t ms)
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | N/A | ms |
halCommonIdleForMilliseconds#
EmberStatus halCommonIdleForMilliseconds (uint32_t * duration)
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint32_t * | N/A | duration |
halStackSymbolDelayAIsr#
void halStackSymbolDelayAIsr (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halStackRadioPowerUpBoard#
void halStackRadioPowerUpBoard (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halStackRadioPowerDownBoard#
void halStackRadioPowerDownBoard (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
halStackProcessBootCount#
void halStackProcessBootCount (void )
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |