mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
970986e5b6
LAN8720 function call clean up
43 lines
1.7 KiB
ReStructuredText
43 lines
1.7 KiB
ReStructuredText
Migrate Ethernet Drivers to ESP-IDF 5.0
|
|
=======================================
|
|
|
|
esp_eth_ioctl() API
|
|
-------------------
|
|
:cpp:func:`esp_eth_ioctl` third argument could take `int` (`bool`) number as an input in some cases. However, it was not properly documented and, in addition, the number had to be "unnaturally" type casted to `void *` datatype to prevent compiler warnings as shown in below example:
|
|
|
|
.. highlight:: c
|
|
|
|
::
|
|
|
|
esp_eth_ioctl(eth_handle, ETH_CMD_S_FLOW_CTRL, (void *)true);
|
|
|
|
|
|
This could lead to misuse of the :cpp:func:`esp_eth_ioctl`. Therefore, ESP-IDF 5.0 unified usage of :cpp:func:`esp_eth_ioctl`. Its third argument now always acts as pointer to a memory location of specific type from/to where the configuration option is read/stored.
|
|
|
|
Usage example to set Ethernet configuration:
|
|
|
|
.. highlight:: c
|
|
|
|
::
|
|
|
|
eth_duplex_t new_duplex_mode = ETH_DUPLEX_HALF;
|
|
esp_eth_ioctl(eth_handle, ETH_CMD_S_DUPLEX_MODE, &new_duplex_mode);
|
|
|
|
Usage example to get Ethernet configuration:
|
|
|
|
.. highlight:: c
|
|
|
|
::
|
|
|
|
eth_duplex_t duplex_mode;
|
|
esp_eth_ioctl(eth_handle, ETH_CMD_G_DUPLEX_MODE, &duplex_mode);
|
|
|
|
|
|
KSZ8041/81 and LAN8720 Driver Update
|
|
------------------------------------
|
|
KSZ8041/81 and LAN8720 Drivers were updated to support more devices (generations) from associated product family. The drivers are able to recognize particular chip number and its potential support by the driver.
|
|
|
|
As a result, the specific "chip number" functions calls were replaced by generic ones as follows:
|
|
|
|
* :cpp:func:`esp_eth_phy_new_ksz8041` and :cpp:func:`esp_eth_phy_new_ksz8081` were removed, use :cpp:func:`esp_eth_phy_new_ksz80xx` instead
|
|
* :cpp:func:`esp_eth_phy_new_lan8720` was removed, use :cpp:func:`esp_eth_phy_new_lan87xx` instead |