aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c15
-rw-r--r--gfxconf.example.h1
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
index 35275df0..083f9a02 100644
--- a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
+++ b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
@@ -68,11 +68,16 @@
#define SOCKET_TYPE int
#else
- extern void Start_LWIP(void); // Where the application does the lwip stack setup
- #define StartSockets() Start_LWIP();
-
- #define LWIP_COMPAT_SOCKETS TRUE
#include <lwip/sockets.h>
+
+ #if GDISP_GFXNET_CUSTOM_LWIP_STARTUP
+ extern void Start_LWIP(void); // Where the application does the lwip stack setup
+ #define StartSockets() Start_LWIP();
+ #else
+ #include "lwipthread.h"
+ #define StartSockets() chThdCreateStatic(wa_lwip_thread, LWIP_THREAD_STACK_SIZE, NORMALPRIO + 1, lwip_thread, 0);
+ #endif
+
#if !LWIP_SOCKET
#error "GDISP: uGFXnet - LWIP_SOCKETS must be defined in your lwipopts.h file"
#endif
@@ -129,7 +134,7 @@ static bool_t sendpkt(SOCKET_TYPE netfd, uint16_t *pkt, int len) {
return send(netfd, (const char *)pkt, len, 0) == len;
}
-static DECLARE_THREAD_STACK(waNetThread, 512);
+static DECLARE_THREAD_STACK(waNetThread, 1024);
static DECLARE_THREAD_FUNCTION(NetThread, param) {
SOCKET_TYPE listenfd, fdmax, i, clientfd;
socklen_t len;
diff --git a/gfxconf.example.h b/gfxconf.example.h
index 9c6917ed..07e58805 100644
--- a/gfxconf.example.h
+++ b/gfxconf.example.h
@@ -191,6 +191,7 @@
#define GDISP_SCREEN_WIDTH 320
#define GDISP_SCREEN_HEIGHT 240
#define GDISP_GFXNET_PORT 13001
+ #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP FALSE
#define GDISP_DONT_WAIT_FOR_NET_DISPLAY FALSE
#define GDISP_USE_DMA FALSE
#define TDISP_COLUMNS 16