From 9a5a4808701e12c0efb8609b644756370ca8b691 Mon Sep 17 00:00:00 2001 From: inmarket Date: Sun, 17 Nov 2013 00:52:52 +1000 Subject: [PATCH] Minor updates to LWIP support for uGFXnet. Application supplied Start_LWIP() routine is now optional. --- drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c | 15 ++++++++++----- gfxconf.example.h | 1 + 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 + + #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