diff --git a/include/SystemApplication.h b/include/SystemApplication.h index b9307de..fbe1401 100644 --- a/include/SystemApplication.h +++ b/include/SystemApplication.h @@ -37,6 +37,12 @@ #define VAR_MAX_NAME_LENGTH MAX_DYNVAR_NAME_LENGTH #define VAR_MAX_VALUE_LENGTH (2048) +#define PAYLOAD_ERROR 0 +#define PAYLOAD_DEFAULT 1 +#define PAYLOAD_IO_STATE 2 +#define PAYLOAD_BUTTON_EVENT 3 + + typedef enum { SYS_OK_DATA = 0, @@ -95,7 +101,6 @@ typedef struct time_t time; int msgType; int payloadType; - char payloadTypeStr[16]; void *payload; unsigned char sha256[32]; } parsedData; diff --git a/src/HTTPServer.c b/src/HTTPServer.c index a06a29c..688baf8 100644 --- a/src/HTTPServer.c +++ b/src/HTTPServer.c @@ -429,6 +429,8 @@ static httpd_handle_t start_webserver(void) config.lru_purge_enable = true; config.uri_match_fn = httpd_uri_match_wildcard; config.max_open_sockets = 5; + config.max_resp_headers = 4; + config.max_uri_handlers = 4; config.stack_size = (4096 + 2048); // Start the httpd server diff --git a/src/SysComm.c b/src/SysComm.c index 9c8bccb..9bfa9d9 100644 --- a/src/SysComm.c +++ b/src/SysComm.c @@ -59,19 +59,6 @@ void regCustomSaveConf(void (*custom_saveconf)(void)) CustomSaveConf = custom_saveconf; } -static sys_error_code PayloadType1000Handler(data_message_t *MSG) -{ - return SYS_ERROR_HANDLER_NOT_SET; -} -static sys_error_code PayloadType1001Handler(data_message_t *MSG) -{ - return SYS_ERROR_HANDLER_NOT_SET; -} -static sys_error_code PayloadType1002Handler(data_message_t *MSG) -{ - return SYS_ERROR_HANDLER_NOT_SET; -} - static sys_error_code PayloadDefaultTypeHandler(data_message_t *MSG) { struct jReadElement result; @@ -292,7 +279,6 @@ static sys_error_code DataHeaderParser(data_message_t *MSG) if (result.elements == 1) { MSG->parsedData.payloadType = atoi((char*) result.pValue); - jRead_string(MSG->inputDataBuffer, "{'data'{'payloadtype'", MSG->parsedData.payloadTypeStr, 16, 0); } else return SYS_ERROR_PARSE_PAYLOADTYPE; @@ -302,18 +288,11 @@ static sys_error_code DataHeaderParser(data_message_t *MSG) //ToDo move payload type from integer to string switch (MSG->parsedData.payloadType) { - case 1000: - err = PayloadType1000Handler(MSG); - break; - - case 1001: - err = PayloadType1001Handler(MSG); - break; - - case 1002: - err = PayloadType1002Handler(MSG); + case PAYLOAD_DEFAULT: + err = CustomPayloadTypeHandler(MSG); break; } + if (err != SYS_ERROR_HANDLER_NOT_SET) return err;