kopia lustrzana https://github.com/espressif/esp-idf
esp_eth: Add ioctl command for getting duplex mode
Similar to ETH_CMD_G_SPEED, add ETH_CMD_G_DUPLEX_MODE for getting duplex mode. Merges https://github.com/espressif/esp-idf/pull/6436pull/6491/head
rodzic
1614cefd4f
commit
2049aa9f68
|
@ -93,6 +93,7 @@ typedef enum {
|
|||
ETH_CMD_G_SPEED, /*!< Get Speed */
|
||||
ETH_CMD_S_PROMISCUOUS, /*!< Set promiscuous mode */
|
||||
ETH_CMD_S_FLOW_CTRL, /*!< Set flow control */
|
||||
ETH_CMD_G_DUPLEX_MODE, /*!< Get Duplex mode */
|
||||
} esp_eth_io_cmd_t;
|
||||
|
||||
/**
|
||||
|
|
|
@ -379,6 +379,10 @@ esp_err_t esp_eth_ioctl(esp_eth_handle_t hdl, esp_eth_io_cmd_t cmd, void *data)
|
|||
ETH_CHECK(mac->enable_flow_ctrl(mac, (bool)data) == ESP_OK, "enable mac flow control failed", err, ESP_FAIL);
|
||||
ETH_CHECK(phy->advertise_pause_ability(phy, (uint32_t)data) == ESP_OK, "phy advertise pause ability failed", err, ESP_FAIL);
|
||||
break;
|
||||
case ETH_CMD_G_DUPLEX_MODE:
|
||||
ETH_CHECK(data, "no mem to store duplex value", err, ESP_ERR_INVALID_ARG);
|
||||
*(eth_duplex_t *)data = eth_driver->duplex;
|
||||
break;
|
||||
default:
|
||||
ETH_CHECK(false, "unknown io command: %d", err, ESP_ERR_INVALID_ARG, cmd);
|
||||
break;
|
||||
|
|
Ładowanie…
Reference in New Issue