mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2026-03-30 17:02:12 +02:00
fix crash
This commit is contained in:
parent
88fdfa577a
commit
16175f2b9b
4 changed files with 8 additions and 3 deletions
|
|
@ -77,7 +77,7 @@ void SocketEmitter::startup() {
|
||||||
}
|
}
|
||||||
void SocketEmitter::begin() {
|
void SocketEmitter::begin() {
|
||||||
sockServer.begin();
|
sockServer.begin();
|
||||||
sockServer.enableHeartbeat(20000, 10000, 3);
|
sockServer.enableHeartbeat(3000, 2000, 2);
|
||||||
sockServer.onEvent(this->wsEvent);
|
sockServer.onEvent(this->wsEvent);
|
||||||
Serial.println("Socket Server Started...");
|
Serial.println("Socket Server Started...");
|
||||||
//settings.printAvailHeap();
|
//settings.printAvailHeap();
|
||||||
|
|
@ -90,7 +90,7 @@ JsonSockEvent *SocketEmitter::beginEmit(const char *evt) {
|
||||||
this->json.beginEvent(&sockServer, evt, g_response, sizeof(g_response));
|
this->json.beginEvent(&sockServer, evt, g_response, sizeof(g_response));
|
||||||
return &this->json;
|
return &this->json;
|
||||||
}
|
}
|
||||||
void SocketEmitter::endEmit(uint8_t num) { this->json.endEvent(num); sockServer.loop(); }
|
void SocketEmitter::endEmit(uint8_t num) { this->json.endEvent(num); esp_task_wdt_reset(); sockServer.loop(); }
|
||||||
void SocketEmitter::endEmitRoom(uint8_t room) {
|
void SocketEmitter::endEmitRoom(uint8_t room) {
|
||||||
if(room < SOCK_MAX_ROOMS) {
|
if(room < SOCK_MAX_ROOMS) {
|
||||||
room_t *r = &this->rooms[room];
|
room_t *r = &this->rooms[room];
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ void JsonResponse::endResponse() {
|
||||||
server->sendContent("", 0);
|
server->sendContent("", 0);
|
||||||
}
|
}
|
||||||
void JsonResponse::send() {
|
void JsonResponse::send() {
|
||||||
|
esp_task_wdt_reset();
|
||||||
if(!this->_headersSent) server->send_P(200, "application/json", this->buff);
|
if(!this->_headersSent) server->send_P(200, "application/json", this->buff);
|
||||||
else server->sendContent(this->buff);
|
else server->sendContent(this->buff);
|
||||||
//Serial.printf("Sent %d bytes %d\n", strlen(this->buff), this->buffSize);
|
//Serial.printf("Sent %d bytes %d\n", strlen(this->buff), this->buffSize);
|
||||||
|
|
@ -130,8 +131,9 @@ void JsonFormatter::addElem(const char *name, uint32_t nval) { sprintf(this->_nu
|
||||||
void JsonFormatter::addElem(const char *name, int16_t nval) { sprintf(this->_numbuff, "%d", nval); this->_appendNumber(name); }
|
void JsonFormatter::addElem(const char *name, int16_t nval) { sprintf(this->_numbuff, "%d", nval); this->_appendNumber(name); }
|
||||||
void JsonFormatter::addElem(const char *name, uint16_t nval) { sprintf(this->_numbuff, "%u", nval); this->_appendNumber(name); }
|
void JsonFormatter::addElem(const char *name, uint16_t nval) { sprintf(this->_numbuff, "%u", nval); this->_appendNumber(name); }
|
||||||
void JsonFormatter::addElem(const char *name, int64_t lval) { sprintf(this->_numbuff, "%lld", (long long)lval); this->_appendNumber(name); }
|
void JsonFormatter::addElem(const char *name, int64_t lval) { sprintf(this->_numbuff, "%lld", (long long)lval); this->_appendNumber(name); }
|
||||||
void JsonFormatter::addElem(const char *name, uint64_t lval) { sprintf(this->_numbuff, "%llu", (unsigned long long)lval); this->_appendNumber(name); }
|
|
||||||
*/
|
*/
|
||||||
|
void JsonFormatter::addElem(const char *name, uint64_t lval) { sprintf(this->_numbuff, "%llu", (unsigned long long)lval); this->_appendNumber(name); }
|
||||||
|
|
||||||
void JsonFormatter::addElem(const char *name, bool bval) { strcpy(this->_numbuff, bval ? "true" : "false"); this->_appendNumber(name); }
|
void JsonFormatter::addElem(const char *name, bool bval) { strcpy(this->_numbuff, bval ? "true" : "false"); this->_appendNumber(name); }
|
||||||
|
|
||||||
void JsonFormatter::_safecat(const char *val, bool escape) {
|
void JsonFormatter::_safecat(const char *val, bool escape) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include <WebServer.h>
|
#include <WebServer.h>
|
||||||
#include <WebSocketsServer.h>
|
#include <WebSocketsServer.h>
|
||||||
|
#include <esp_task_wdt.h>
|
||||||
#include "Somfy.h"
|
#include "Somfy.h"
|
||||||
#ifndef wresp_h
|
#ifndef wresp_h
|
||||||
#define wresp_h
|
#define wresp_h
|
||||||
|
|
@ -51,6 +52,7 @@ class JsonFormatter {
|
||||||
void addElem(const char* name, uint32_t lval);
|
void addElem(const char* name, uint32_t lval);
|
||||||
void addElem(const char* name, bool bval);
|
void addElem(const char* name, bool bval);
|
||||||
void addElem(const char *name, const char *val);
|
void addElem(const char *name, const char *val);
|
||||||
|
void addElem(const char* name, uint64_t lval);
|
||||||
};
|
};
|
||||||
class JsonResponse : public JsonFormatter {
|
class JsonResponse : public JsonFormatter {
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -249,6 +249,7 @@ void Web::handleController(WebServer &server) {
|
||||||
resp.addElem("maxGroupedShades", (uint8_t)SOMFY_MAX_GROUPED_SHADES);
|
resp.addElem("maxGroupedShades", (uint8_t)SOMFY_MAX_GROUPED_SHADES);
|
||||||
resp.addElem("maxLinkedRemotes", (uint8_t)SOMFY_MAX_LINKED_REMOTES);
|
resp.addElem("maxLinkedRemotes", (uint8_t)SOMFY_MAX_LINKED_REMOTES);
|
||||||
resp.addElem("startingAddress", (uint32_t)somfy.startingAddress);
|
resp.addElem("startingAddress", (uint32_t)somfy.startingAddress);
|
||||||
|
resp.addElem("uptime", (uint64_t)millis());
|
||||||
resp.beginObject("transceiver");
|
resp.beginObject("transceiver");
|
||||||
somfy.transceiver.toJSON(resp);
|
somfy.transceiver.toJSON(resp);
|
||||||
resp.endObject();
|
resp.endObject();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue