Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
arm_hal_phy.h File Reference
PHY device driver API. More...
Go to the source code of this file.
Detailed Description
PHY device driver API.
Definition in file arm_hal_phy.h.
Typedef Documentation
| typedef int8_t arm_net_phy_rx_fn(const uint8_t *data_ptr, uint16_t data_len, uint8_t link_quality, int8_t dbm, int8_t driver_id) | 
arm_net_phy_rx RX callback set by upper layer.
Called when data is received
- Parameters:
- 
  data_ptr Data received data_len Length of the data received link_quality Link quality dbm Power ratio in decibels driver_id ID of driver which received data 
- Returns:
- 0 if success, error otherwise
Definition at line 167 of file arm_hal_phy.h.
| typedef int8_t arm_net_phy_tx_done_fn(int8_t driver_id, uint8_t tx_handle, phy_link_tx_status_e status, uint8_t cca_retry, uint8_t tx_retry) | 
arm_net_phy_tx_done TX done callback set by upper layer.
Called when tx sent by upper layer has been handled
- Parameters:
- 
  driver_id Id of the driver which handled TX request tx_handle Handle of the TX status Status code of the TX handling result cca_retry Number of CCA retries done during handling tx_retry Number of TX retries done during handling 
- Returns:
- 0 if success, error otherwise
Definition at line 178 of file arm_hal_phy.h.
| typedef int8_t arm_net_virtual_rx_fn(const uint8_t *data_ptr, uint16_t data_len, int8_t driver_id) | 
arm_net_virtual_rx RX callback set by user of serial MAC.
Called when virtual RF has received data.
- Parameters:
- 
  data_ptr Data received data_len Length of the data received driver_id ID of driver which received data 
- Returns:
- 0 if success, error otherwise
Definition at line 187 of file arm_hal_phy.h.
| typedef int8_t arm_net_virtual_tx_fn(const virtual_data_req_t *data_req, int8_t driver_id) | 
arm_net_virtual_tx TX callback set by serial MAC.
Used to send data.
- Parameters:
- 
  data_req Data to be sent driver_id Id of the driver to be used. 
- Returns:
- 0 if success, error otherwise
Definition at line 195 of file arm_hal_phy.h.
| typedef enum data_protocol_e data_protocol_e | 
Data layers.
| typedef enum driver_data_request_e driver_data_request_e | 
Requested data layer.
| typedef struct phy_device_channel_page_s phy_device_channel_page_s | 
Channel page configuration.
| typedef struct phy_device_driver_s phy_device_driver_s | 
Device driver structure.
| typedef enum phy_link_type_e phy_link_type_e | 
PHY types.
| typedef enum phy_modulation_e phy_modulation_e | 
PHY modulation scheme.
| typedef struct phy_rf_channel_configuration_s phy_rf_channel_configuration_s | 
Channel configuration.
| typedef struct phy_signal_info_s phy_signal_info_s | 
Signal level info.
| typedef enum phy_signal_info_type_e phy_signal_info_type_e | 
Signal info types.
Types of signal quality indication desired by various link protocols. Some are really statistical, but a driver should ideally be able to create an estimate based on its LQI/DBM numbers, for example to bootstrap a statistic calculation.
| typedef struct virtual_data_req_s virtual_data_req_t | 
Virtual data request.
Enumeration Type Documentation
| enum channel_page_e | 
Channel page numbers.
- Enumerator:
Definition at line 120 of file arm_hal_phy.h.
| enum data_protocol_e | 
Data layers.
- Enumerator:
Definition at line 75 of file arm_hal_phy.h.
Requested data layer.
- Enumerator:
- PHY_LAYER_PAYLOAD_DATA_FLOW - PHY layer data. - IPV6_DATAGRAMS_DATA_FLOW - IP layer data or TUN driver request data. 
Definition at line 84 of file arm_hal_phy.h.
| enum phy_address_type_e | 
Address types.
- Enumerator:
Definition at line 58 of file arm_hal_phy.h.
| enum phy_extension_type_e | 
Extension types.
- Enumerator:
Definition at line 48 of file arm_hal_phy.h.
Interface states.
- Enumerator:
Definition at line 30 of file arm_hal_phy.h.
| enum phy_link_tx_status_e | 
TX process return codes.
- Enumerator:
Definition at line 39 of file arm_hal_phy.h.
| enum phy_link_type_e | 
PHY types.
- Enumerator:
Definition at line 66 of file arm_hal_phy.h.
| enum phy_modulation_e | 
PHY modulation scheme.
Definition at line 110 of file arm_hal_phy.h.
Signal info types.
Types of signal quality indication desired by various link protocols. Some are really statistical, but a driver should ideally be able to create an estimate based on its LQI/DBM numbers, for example to bootstrap a statistic calculation.
- Enumerator:
Definition at line 95 of file arm_hal_phy.h.
Function Documentation
| uint8_t* arm_net_phy_mac64_get | ( | int8_t | id ) | 
Get driver mac64 address.
- Parameters:
- 
  id driver id 
- Returns:
- > 0 Return pointer to MAC.
- NULL.
| int8_t arm_net_phy_mac64_set | ( | uint8_t * | MAC, | 
| int8_t | id | ||
| ) | 
Set driver mac64 address.
- Parameters:
- 
  MAC A pointer to new mac64 address which is copied to old one. id driver id 
- Returns:
- >= 0 SET OK.
- < 0 Means register fail.
| uint16_t arm_net_phy_mtu_size | ( | int8_t | id ) | 
Get driver link type MTU size.
- Parameters:
- 
  id driver id 
- Returns:
- size of MTU.
| int8_t arm_net_phy_register | ( | phy_device_driver_s * | phy_driver ) | 
This function registers the device driver to stack.
- Parameters:
- 
  phy_driver A pointer to device driver structure. 
- Returns:
- >= 0 Device driver ID.
- < 0 Means register fail.
| int arm_net_phy_rf_type | ( | int8_t | id ) | 
Get driver link type.
- Parameters:
- 
  id driver id 
- Returns:
- driver link type.
| void arm_net_phy_unregister | ( | int8_t | driver_id ) | 
Unregister the driver from storage.
- Parameters:
- 
  driver_id driver id 
Generated on Tue Jul 12 2022 17:35:01 by
 1.7.2
 1.7.2