diff --git a/apps/ping/ping.c b/apps/ping/ping.c index 68c5bc2..590593c 100644 --- a/apps/ping/ping.c +++ b/apps/ping/ping.c @@ -91,6 +91,9 @@ /* ping variables */ static u16_t ping_seq_num; static u32_t ping_time; +#if !LWIP_SOCKET +static struct raw_pcb *pcb; +#endif /* LWIP_SOCKET */ #if NO_SYS /* port-defined functions used for timer execution */ @@ -281,8 +284,6 @@ ping_timeout(void *arg) static void ping_raw_init(void) { - struct raw_pcb *pcb; - if (!(pcb = raw_new(IP_PROTO_ICMP))) { return; } @@ -292,6 +293,14 @@ ping_raw_init(void) sys_timeout(PING_DELAY, ping_timeout, pcb); } +#if NO_SYS +void +ping_send_now() +{ + ping_timeout((void*)pcb); +} +#endif /* NO_SYS */ + #endif /* LWIP_SOCKET */ void diff --git a/apps/ping/ping.h b/apps/ping/ping.h index 6093563..860bc85 100644 --- a/apps/ping/ping.h +++ b/apps/ping/ping.h @@ -3,4 +3,8 @@ void ping_init(void); +#if NO_SYS +void ping_send_now(); +#endif /* NO_SYS */ + #endif /* __PING_H__ */