started ping implementation
This commit is contained in:
54
main/main.c
54
main/main.c
@ -48,6 +48,7 @@ esp_ip4_addr_t ip_addr;
|
||||
esp_ip4_addr_t ip_snm;
|
||||
esp_ip4_addr_t ip_gw;
|
||||
esp_netif_t *eth_netif;
|
||||
esp_ping_handle_t ping;
|
||||
|
||||
int dns_resolv = -1;
|
||||
|
||||
@ -84,6 +85,30 @@ static void check_resolution(void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: Implement ping https://github.com/espressif/esp-idf/blob/master/examples/protocols/icmp_echo/main/echo_example_main.c
|
||||
static void start_icmp_ping()
|
||||
{
|
||||
esp_ping_config_t config = ESP_PING_DEFAULT_CONFIG();
|
||||
|
||||
config.timeout_ms = 1000;
|
||||
config.interval_ms = 1000;
|
||||
config.count = 16;
|
||||
|
||||
config.target_addr = target_addr;
|
||||
|
||||
/* set callback functions */
|
||||
esp_ping_callbacks_t cbs = {
|
||||
.on_ping_success = cmd_ping_on_ping_success,
|
||||
.on_ping_timeout = cmd_ping_on_ping_timeout,
|
||||
.on_ping_end = cmd_ping_on_ping_end,
|
||||
.cb_args = NULL
|
||||
};
|
||||
esp_ping_new_session(&config, &cbs, &ping);
|
||||
esp_ping_start(ping);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void refresh_display()
|
||||
{
|
||||
char buf[64];
|
||||
@ -241,35 +266,6 @@ static void task_signals(void* arg)
|
||||
}
|
||||
}
|
||||
|
||||
// void icmp_ping(in_addr_t ip)
|
||||
// {
|
||||
// /* convert URL to IP address */
|
||||
// ip_addr_t target_addr;
|
||||
// struct addrinfo hint;
|
||||
// struct addrinfo *res = NULL;
|
||||
// memset(&hint, 0, sizeof(hint));
|
||||
// memset(&target_addr, 0, sizeof(target_addr));
|
||||
// getaddrinfo("www.espressif.com", NULL, &hint, &res);
|
||||
// struct in_addr addr4 = ((struct sockaddr_in *) (res->ai_addr))->sin_addr;
|
||||
// inet_addr_to_ip4addr(ip_2_ip4(&target_addr), &addr4);
|
||||
// freeaddrinfo(res);
|
||||
|
||||
// esp_ping_config_t ping_config = ESP_PING_DEFAULT_CONFIG();
|
||||
// ping_config.target_addr = target_addr; // target IP address
|
||||
// ping_config.count = ESP_PING_COUNT_INFINITE; // ping in infinite mode, esp_ping_stop can stop it
|
||||
|
||||
// /* set callback functions */
|
||||
// esp_ping_callbacks_t cbs;
|
||||
// cbs.on_ping_success = test_on_ping_success;
|
||||
// cbs.on_ping_timeout = test_on_ping_timeout;
|
||||
// cbs.on_ping_end = test_on_ping_end;
|
||||
// cbs.cb_args = "foo"; // arguments that will feed to all callback functions, can be NULL
|
||||
// cbs.cb_args = eth_event_group;
|
||||
|
||||
// esp_ping_handle_t ping;
|
||||
// esp_ping_new_session(&ping_config, &cbs, &ping);
|
||||
// }
|
||||
|
||||
#define PIN_PHY_POWER 12
|
||||
void app_main(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user