mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-05 22:29:49 +00:00
Try to implement platform-independent keypressed()
This commit is contained in:
parent
c35dd079ee
commit
a0d7b01186
@ -86,6 +86,16 @@
|
||||
|
||||
#include "default_netif.h"
|
||||
|
||||
static u8_t
|
||||
keypressed(void)
|
||||
{
|
||||
struct timeval tv = { 0L, 0L };
|
||||
fd_set fds;
|
||||
FD_ZERO(&fds);
|
||||
FD_SET(0, &fds);
|
||||
return select(1, &fds, NULL, NULL, &tv);
|
||||
}
|
||||
|
||||
#if NO_SYS
|
||||
/* ... then we need information about the timer intervals: */
|
||||
#include "lwip/ip4_frag.h"
|
||||
@ -107,10 +117,6 @@
|
||||
/* include the port-dependent configuration */
|
||||
#include "lwipcfg.h"
|
||||
|
||||
#ifndef LWIP_EXAMPLE_APP_ABORT
|
||||
#define LWIP_EXAMPLE_APP_ABORT() 0
|
||||
#endif
|
||||
|
||||
/** Define this to 1 to enable a port-specific ethernet interface as default interface. */
|
||||
#ifndef USE_DEFAULT_ETH_NETIF
|
||||
#define USE_DEFAULT_ETH_NETIF 1
|
||||
@ -657,7 +663,7 @@ main_loop(void)
|
||||
#endif
|
||||
|
||||
/* MAIN LOOP for driver update (and timers if NO_SYS) */
|
||||
while (!LWIP_EXAMPLE_APP_ABORT()) {
|
||||
while (!keypressed()) {
|
||||
#if NO_SYS
|
||||
/* handle timers (already done in tcpip.c when NO_SYS=0) */
|
||||
sys_check_timeouts();
|
||||
|
@ -74,8 +74,4 @@ void sys_arch_netconn_sem_free(void);
|
||||
#define LWIP_NETCONN_THREAD_SEM_ALLOC() sys_arch_netconn_sem_alloc()
|
||||
#define LWIP_NETCONN_THREAD_SEM_FREE() sys_arch_netconn_sem_free()
|
||||
|
||||
#define LWIP_EXAMPLE_APP_ABORT() lwip_win32_keypressed()
|
||||
int lwip_win32_keypressed(void);
|
||||
|
||||
#endif /* LWIP_ARCH_SYS_ARCH_H */
|
||||
|
||||
|
@ -732,28 +732,6 @@ sys_arch_netconn_sem_free(void)
|
||||
|
||||
#endif /* !NO_SYS */
|
||||
|
||||
/* get keyboard state to terminate the debug app on any kbhit event using win32 API */
|
||||
int
|
||||
lwip_win32_keypressed(void)
|
||||
{
|
||||
INPUT_RECORD rec;
|
||||
DWORD num = 0;
|
||||
HANDLE h = GetStdHandle(STD_INPUT_HANDLE);
|
||||
BOOL ret = PeekConsoleInput(h, &rec, 1, &num);
|
||||
if (ret && num) {
|
||||
ReadConsoleInput(h, &rec, 1, &num);
|
||||
if (rec.EventType == KEY_EVENT) {
|
||||
if (rec.Event.KeyEvent.bKeyDown) {
|
||||
/* not a special key? */
|
||||
if (rec.Event.KeyEvent.uChar.AsciiChar != 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
/* This is an example implementation for LWIP_PLATFORM_DIAG:
|
||||
|
Loading…
Reference in New Issue
Block a user