Public Types | |
typedef mbed::Callback< void(emac_mem_buf_t *buf)> | emac_link_input_cb_t |
Callback to be register with EMAC interface and to be called for received packets. More... | |
typedef mbed::Callback< void(bool up)> | emac_link_state_change_cb_t |
Callback to be register with EMAC interface and to be called for link status changes. More... | |
Public Member Functions | |
virtual uint32_t | get_mtu_size () const |
Returns the maximum transmission unit. More... | |
virtual uint32_t | get_align_preference () const |
Gets the memory buffer alignment preference. More... | |
virtual void | get_ifname (char *name, uint8_t size) const |
Returns the interface name. More... | |
virtual uint8_t | get_hwaddr_size () const |
Returns the size of the underlying interface HW address size. More... | |
virtual bool | get_hwaddr (uint8_t *addr) const |
Returns the interface supplied HW address Copies the HW address to the provided memory. More... | |
virtual void | set_hwaddr (const uint8_t *addr) |
Set HW address for the interface. More... | |
virtual bool | link_out (emac_mem_buf_t *buf) |
Sends the packet over the link. More... | |
virtual bool | power_up () |
Initializes the HW. More... | |
virtual void | power_down () |
De-initializes the HW. More... | |
virtual void | set_link_input_cb (emac_link_input_cb_t input_cb) |
Sets a callback that is called for packets received for a given interface. More... | |
virtual void | set_link_state_cb (emac_link_state_change_cb_t state_cb) |
Sets a callback that is called on changes in the link status for a given interface. More... | |
virtual void | add_multicast_group (const uint8_t *address) |
Adds a device to a multicast group. More... | |
virtual void | remove_multicast_group (const uint8_t *address) |
Removes a device from a multicast group. More... | |
virtual void | set_all_multicast (bool all) |
Requests reception of all multicast packets. More... | |
virtual void | set_memory_manager (EMACMemoryManager &mem_mngr) |
Sets memory manager used to handle memory buffers. More... | |
virtual void | set_activity_cb (mbed::Callback< void(bool is_tx_activity)> activity_cb) |
Sets callback to receive EMAC activity events. More... | |
Static Public Member Functions | |
static SCL_EMAC & | get_instance () |
Get the EMAC instance. More... | |
static SCL_EMAC & | get_instance (scl_interface_role_t role) |
Get the EMAC instance. More... | |
static EMAC & | get_default_instance () |
Return the default on-board EMAC. More... | |
Data Fields | |
emac_link_input_cb_t | emac_link_input_cb = NULL |
Callback for incoming data. More... | |
emac_link_state_change_cb_t | emac_link_state_cb = NULL |
Callback for network connection status. More... | |
EMACMemoryManager * | memory_manager |
Pointer to hold memory manager object. More... | |
bool | powered_up = false |
Flag for Wi-Fi power on status. More... | |
bool | link_state = false |
Flag for network connection status. More... | |
scl_interface_role_t | interface_type |
Type of the interface. More... | |
scl_mac_t | multicast_addr |
Multicast address. More... | |
mbed::Callback< void(bool)> | activity_cb |
Callback for activity on network. More... | |
Definition at line 32 of file scl_emac.h.
|
inherited |
|
inherited |
|
virtual |
Adds a device to a multicast group.
address | A multicast group hardware address. |
Implements EMAC.
|
virtual |
|
staticinherited |
|
virtual |
Returns the interface supplied HW address Copies the HW address to the provided memory.
addr | HW address of the underlying interface. It must be of correct size. See get_hwaddr_size. |
Implements EMAC.
|
virtual |
Returns the size of the underlying interface HW address size.
Implements EMAC.
|
virtual |
Returns the interface name.
name | Pointer to the location where the name should be written. |
size | Maximum number of characters to copy. |
Implements EMAC.
|
static |
|
static |
|
virtual |
|
virtual |
Sends the packet over the link.
This cannot be called from an interrupt context.
buf | Packet to be sent. |
Implements EMAC.
|
virtual |
De-initializes the HW.
Implements EMAC.
|
virtual |
|
virtual |
Removes a device from a multicast group.
address | A multicast group hardware address. |
Implements EMAC.
|
virtual |
Sets callback to receive EMAC activity events.
activity_cb | The callback for activity events. |
|
virtual |
Requests reception of all multicast packets.
all | True to receive all multicasts. False to receive only multicasts addressed to specified groups. |
Implements EMAC.
|
virtual |
Set HW address for the interface.
Provided address must be of correct size. See get_hwaddr_size.
Called to set the MAC address to be used - if get_hwaddr is provided the stack would normally use that, but it could be overridden for test purposes.
addr | Address to be set |
Implements EMAC.
|
virtual |
Sets a callback that is called for packets received for a given interface.
input_cb | Function to be registered as a callback. |
Implements EMAC.
|
virtual |
Sets a callback that is called on changes in the link status for a given interface.
state_cb | Function to be registered as a callback. |
Implements EMAC.
|
virtual |
Sets memory manager used to handle memory buffers.
mem_mngr | Pointer to memory manager. |
Implements EMAC.
mbed::Callback<void(bool)> activity_cb |
Callback for activity on network.
Definition at line 180 of file scl_emac.h.
emac_link_input_cb_t emac_link_input_cb = NULL |
Callback for incoming data.
Definition at line 173 of file scl_emac.h.
emac_link_state_change_cb_t emac_link_state_cb = NULL |
Callback for network connection status.
Definition at line 174 of file scl_emac.h.
scl_interface_role_t interface_type |
Type of the interface.
Definition at line 178 of file scl_emac.h.
bool link_state = false |
Flag for network connection status.
Definition at line 177 of file scl_emac.h.
EMACMemoryManager* memory_manager |
Pointer to hold memory manager object.
Definition at line 175 of file scl_emac.h.
scl_mac_t multicast_addr |
Multicast address.
Definition at line 179 of file scl_emac.h.
bool powered_up = false |
Flag for Wi-Fi power on status.
Definition at line 176 of file scl_emac.h.