From c9599460714b637600ac9a736567689fbbe945ab Mon Sep 17 00:00:00 2001 From: OldManSteve Date: Thu, 9 Nov 2023 13:01:16 +0800 Subject: [PATCH] added webserver config, using shared config folder --- frtos/config/lwipopts.h | 7 ++ frtos/frontend/CMakeLists.txt | 10 +- frtos/frontend/FreeRTOSConfig.h | 143 ---------------------- frtos/frontend/frontend.c | 2 - frtos/frontend/lwipopts.h | 35 ------ frtos/frontend/lwipopts_examples_common.h | 90 -------------- frtos/frontend/makefsdata.exe | Bin 265302 -> 265302 bytes 7 files changed, 8 insertions(+), 279 deletions(-) delete mode 100644 frtos/frontend/FreeRTOSConfig.h delete mode 100644 frtos/frontend/lwipopts.h delete mode 100644 frtos/frontend/lwipopts_examples_common.h diff --git a/frtos/config/lwipopts.h b/frtos/config/lwipopts.h index 051c08a..190a00c 100644 --- a/frtos/config/lwipopts.h +++ b/frtos/config/lwipopts.h @@ -23,3 +23,10 @@ #endif +// This section enables HTTPD server with SSI, SGI +// and tells server which converted HTML files to use +#define LWIP_HTTPD 1 +#define LWIP_HTTPD_SSI 1 +#define LWIP_HTTPD_CGI 1 +#define LWIP_HTTPD_SSI_INCLUDE_TAG 0 +#define HTTPD_FSDATA_FILE "htmldata.c" \ No newline at end of file diff --git a/frtos/frontend/CMakeLists.txt b/frtos/frontend/CMakeLists.txt index 37850db..dd2581c 100644 --- a/frtos/frontend/CMakeLists.txt +++ b/frtos/frontend/CMakeLists.txt @@ -3,12 +3,6 @@ add_executable( frontend.c ) -#message("Running makefsdata python script") -#execute_process(COMMAND -# py makefsdata.py -# WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} -#) - message("Running makefsdata C script") execute_process(COMMAND gcc makefsdata.c -o makefsdata.exe @@ -25,15 +19,13 @@ target_link_libraries( hardware_adc pico_stdlib FreeRTOS-Kernel-Heap4 # FreeRTOS kernel and dynamic heap - #pico_cyw43_arch_lwip_threadsafe_background pico_cyw43_arch_lwip_sys_freertos pico_lwip_http ) target_include_directories(frontend PRIVATE - #../config + ../config ${CMAKE_CURRENT_LIST_DIR} - ${CMAKE_CURRENT_LIST_DIR}../config ) pico_enable_stdio_usb(frontend 1) diff --git a/frtos/frontend/FreeRTOSConfig.h b/frtos/frontend/FreeRTOSConfig.h deleted file mode 100644 index f715e60..0000000 --- a/frtos/frontend/FreeRTOSConfig.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * FreeRTOS V202111.00 - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -#ifndef FREERTOS_CONFIG_H -#define FREERTOS_CONFIG_H - -/*----------------------------------------------------------- - * Application specific definitions. - * - * These definitions should be adjusted for your particular hardware and - * application requirements. - * - * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE - * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. - * - * See http://www.freertos.org/a00110.html - *----------------------------------------------------------*/ - -/* Scheduler Related */ -#define configUSE_PREEMPTION 1 -#define configUSE_TICKLESS_IDLE 0 -#define configUSE_IDLE_HOOK 0 -#define configUSE_TICK_HOOK 0 -#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) -#define configMAX_PRIORITIES 32 -#define configMINIMAL_STACK_SIZE ( configSTACK_DEPTH_TYPE ) 256 -#define configUSE_16_BIT_TICKS 0 - -#define configIDLE_SHOULD_YIELD 1 - -/* Synchronization Related */ -#define configUSE_MUTEXES 1 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_APPLICATION_TASK_TAG 0 -#define configUSE_COUNTING_SEMAPHORES 1 -#define configQUEUE_REGISTRY_SIZE 8 -#define configUSE_QUEUE_SETS 1 -#define configUSE_TIME_SLICING 1 -#define configUSE_NEWLIB_REENTRANT 0 -// todo need this for lwip FreeRTOS sys_arch to compile -#define configENABLE_BACKWARD_COMPATIBILITY 1 -#define configNUM_THREAD_LOCAL_STORAGE_POINTERS 5 - -/* System */ -#define configSTACK_DEPTH_TYPE uint32_t -#define configMESSAGE_BUFFER_LENGTH_TYPE size_t - -/* Memory allocation related definitions. */ -#define configSUPPORT_STATIC_ALLOCATION 0 -#define configSUPPORT_DYNAMIC_ALLOCATION 1 -#define configTOTAL_HEAP_SIZE (128*1024) -#define configAPPLICATION_ALLOCATED_HEAP 0 - -/* Hook function related definitions. */ -#define configCHECK_FOR_STACK_OVERFLOW 0 -#define configUSE_MALLOC_FAILED_HOOK 0 -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 - -/* Run time and task stats gathering related definitions. */ -#define configGENERATE_RUN_TIME_STATS 0 -#define configUSE_TRACE_FACILITY 1 -#define configUSE_STATS_FORMATTING_FUNCTIONS 0 - -/* Co-routine related definitions. */ -#define configUSE_CO_ROUTINES 0 -#define configMAX_CO_ROUTINE_PRIORITIES 1 - -/* Software timer related definitions. */ -#define configUSE_TIMERS 1 -#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) -#define configTIMER_QUEUE_LENGTH 10 -#define configTIMER_TASK_STACK_DEPTH 1024 - -/* Interrupt nesting behaviour configuration. */ -/* -#define configKERNEL_INTERRUPT_PRIORITY [dependent of processor] -#define configMAX_SYSCALL_INTERRUPT_PRIORITY [dependent on processor and application] -#define configMAX_API_CALL_INTERRUPT_PRIORITY [dependent on processor and application] -*/ - -#if FREE_RTOS_KERNEL_SMP // set by the RP2040 SMP port of FreeRTOS -/* SMP port only */ -#define configNUM_CORES 1 -#define configTICK_CORE 0 -#define configRUN_MULTIPLE_PRIORITIES 1 -#define configUSE_CORE_AFFINITY 0 -#endif - -/* RP2040 specific */ -#define configSUPPORT_PICO_SYNC_INTEROP 1 -#define configSUPPORT_PICO_TIME_INTEROP 1 - -#include -/* Define to trap errors during development. */ -#define configASSERT(x) assert(x) - -/* Set the following definitions to 1 to include the API function, or zero -to exclude the API function. */ -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_xTaskGetSchedulerState 1 -#define INCLUDE_xTaskGetCurrentTaskHandle 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 -#define INCLUDE_xTaskGetIdleTaskHandle 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_xTimerPendFunctionCall 1 -#define INCLUDE_xTaskAbortDelay 1 -#define INCLUDE_xTaskGetHandle 1 -#define INCLUDE_xTaskResumeFromISR 1 -#define INCLUDE_xQueueGetMutexHolder 1 - -/* A header file that defines trace macro can be included here. */ - -#endif /* FREERTOS_CONFIG_H */ - diff --git a/frtos/frontend/frontend.c b/frtos/frontend/frontend.c index 423c7e9..f58a485 100644 --- a/frtos/frontend/frontend.c +++ b/frtos/frontend/frontend.c @@ -4,10 +4,8 @@ #include "lwipopts.h" #include "ssi.h" #include "cgi.h" -#include "lwip/inet.h" #include "FreeRTOS.h" #include "task.h" -//#include "lwip/sockets.h" // WIFI Credentials - take care if pushing to GitHub! const char WIFI_SSID[] = "XXX"; diff --git a/frtos/frontend/lwipopts.h b/frtos/frontend/lwipopts.h deleted file mode 100644 index db75e68..0000000 --- a/frtos/frontend/lwipopts.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _LWIPOPTS_H -#define _LWIPOPTS_H - -// Generally you would define your own explicit list of lwIP options -// (see https://www.nongnu.org/lwip/2_1_x/group__lwip__opts.html) -// -// This example uses a common include to avoid repetition -#include "lwipopts_examples_common.h" - -#if !NO_SYS -#define TCPIP_THREAD_STACKSIZE 2048 -#define DEFAULT_THREAD_STACKSIZE 1024 -#define DEFAULT_RAW_RECVMBOX_SIZE 8 -#define TCPIP_MBOX_SIZE 8 - -#define DEFAULT_UDP_RECVMBOX_SIZE TCPIP_MBOX_SIZE -#define DEFAULT_TCP_RECVMBOX_SIZE TCPIP_MBOX_SIZE -#define DEFAULT_ACCEPTMBOX_SIZE TCPIP_MBOX_SIZE - -#define LWIP_TIMEVAL_PRIVATE 0 - -// not necessary, can be done either way -#define LWIP_TCPIP_CORE_LOCKING_INPUT 1 -#endif - -#endif - -// This section enables HTTPD server with SSI, SGI -// and tells server which converted HTML files to use -#define LWIP_HTTPD 1 -#define LWIP_HTTPD_SSI 1 -#define LWIP_HTTPD_CGI 1 -#define LWIP_HTTPD_SSI_INCLUDE_TAG 0 -#define HTTPD_FSDATA_FILE "htmldata.c" - diff --git a/frtos/frontend/lwipopts_examples_common.h b/frtos/frontend/lwipopts_examples_common.h deleted file mode 100644 index 9979320..0000000 --- a/frtos/frontend/lwipopts_examples_common.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _LWIPOPTS_EXAMPLE_COMMONH_H -#define _LWIPOPTS_EXAMPLE_COMMONH_H - - -// Common settings used in most of the pico_w examples -// (see https://www.nongnu.org/lwip/2_1_x/group__lwip__opts.html for details) - -// allow override in some examples -#ifndef NO_SYS -#define NO_SYS 0 -#endif -// allow override in some examples -#ifndef LWIP_SOCKET -#define LWIP_SOCKET 1 -#endif -#if PICO_CYW43_ARCH_POLL -#define MEM_LIBC_MALLOC 1 -#else -// MEM_LIBC_MALLOC is incompatible with non polling versions -#define MEM_LIBC_MALLOC 0 -#endif -#define MEM_ALIGNMENT 4 -#define MEM_SIZE 4000 -#define MEMP_NUM_TCP_SEG 32 -#define MEMP_NUM_ARP_QUEUE 10 -#define PBUF_POOL_SIZE 24 -#define LWIP_ARP 1 -#define LWIP_ETHERNET 1 -#define LWIP_ICMP 1 -#define LWIP_RAW 1 -#define TCP_WND (8 * TCP_MSS) -#define TCP_MSS 1460 -#define TCP_SND_BUF (8 * TCP_MSS) -#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1)) / (TCP_MSS)) -#define LWIP_NETIF_STATUS_CALLBACK 1 -#define LWIP_NETIF_LINK_CALLBACK 1 -#define LWIP_NETIF_HOSTNAME 1 -#define LWIP_NETCONN 0 -#define MEM_STATS 0 -#define SYS_STATS 0 -#define MEMP_STATS 0 -#define LINK_STATS 0 -// #define ETH_PAD_SIZE 2 -#define LWIP_CHKSUM_ALGORITHM 3 -#define LWIP_DHCP 1 -#define LWIP_IPV4 1 -#define LWIP_TCP 1 -#define LWIP_UDP 1 -#define LWIP_DNS 1 -#define LWIP_TCP_KEEPALIVE 1 -#define LWIP_NETIF_TX_SINGLE_PBUF 1 -#define DHCP_DOES_ARP_CHECK 0 -#define LWIP_DHCP_DOES_ACD_CHECK 0 - -#ifndef NDEBUG -#define LWIP_DEBUG 1 -#define LWIP_STATS 1 -#define LWIP_STATS_DISPLAY 1 -#endif - -#define ETHARP_DEBUG LWIP_DBG_OFF -#define NETIF_DEBUG LWIP_DBG_OFF -#define PBUF_DEBUG LWIP_DBG_OFF -#define API_LIB_DEBUG LWIP_DBG_OFF -#define API_MSG_DEBUG LWIP_DBG_OFF -#define SOCKETS_DEBUG LWIP_DBG_OFF -#define ICMP_DEBUG LWIP_DBG_OFF -#define INET_DEBUG LWIP_DBG_OFF -#define IP_DEBUG LWIP_DBG_OFF -#define IP_REASS_DEBUG LWIP_DBG_OFF -#define RAW_DEBUG LWIP_DBG_OFF -#define MEM_DEBUG LWIP_DBG_OFF -#define MEMP_DEBUG LWIP_DBG_OFF -#define SYS_DEBUG LWIP_DBG_OFF -#define TCP_DEBUG LWIP_DBG_OFF -#define TCP_INPUT_DEBUG LWIP_DBG_OFF -#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF -#define TCP_RTO_DEBUG LWIP_DBG_OFF -#define TCP_CWND_DEBUG LWIP_DBG_OFF -#define TCP_WND_DEBUG LWIP_DBG_OFF -#define TCP_FR_DEBUG LWIP_DBG_OFF -#define TCP_QLEN_DEBUG LWIP_DBG_OFF -#define TCP_RST_DEBUG LWIP_DBG_OFF -#define UDP_DEBUG LWIP_DBG_OFF -#define TCPIP_DEBUG LWIP_DBG_OFF -#define PPP_DEBUG LWIP_DBG_OFF -#define SLIP_DEBUG LWIP_DBG_OFF -#define DHCP_DEBUG LWIP_DBG_OFF - -#endif /* __LWIPOPTS_H__ */ \ No newline at end of file diff --git a/frtos/frontend/makefsdata.exe b/frtos/frontend/makefsdata.exe index ba1fd03b72bf411f73322934358ca4972045d4b4..30f333c21b3328a6e4afe9098635acf794940b7a 100644 GIT binary patch delta 33 pcmcaML*UvBfe9T|w!+yDfQ4&nd+ delta 33 pcmcaML*UvBfe9T<=aMIO`7zyhYrNHZi?Q_