Only serialize text, not tags

This commit is contained in:
fvanroie 2024-02-26 00:47:49 +01:00
parent 080b41e036
commit 4523f134ce

View File

@ -272,16 +272,12 @@ static void event_object_val_event(lv_obj_t* obj, uint8_t eventid, int16_t val)
{ {
char data[512]; char data[512];
{ {
StaticJsonDocument<512> doc;
char eventname[8]; char eventname[8];
Parser::get_event_name(eventid, eventname, sizeof(eventname)); Parser::get_event_name(eventid, eventname, sizeof(eventname));
doc["event"] = eventname; if(const char* tag = my_obj_get_tag(obj))
doc["val"] = val; snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"tag\":%s}"), eventname, val, tag);
if(const char* tag = my_obj_get_tag(obj)) doc["tag"] = tag; else
serializeJson(doc, data, sizeof(data)); snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d}"), eventname, val);
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"tag\":%s}"), eventname, val, tag);
// else
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d}"), eventname, val);
} }
event_send_object_data(obj, data); event_send_object_data(obj, data);
} }
@ -291,21 +287,20 @@ static void event_object_selection_changed(lv_obj_t* obj, uint8_t eventid, int16
{ {
char data[512]; char data[512];
{ {
StaticJsonDocument<512> doc; StaticJsonDocument<256> doc;
size_t len = text ? strlen(text) : 0;
doc.set(text); // use text as-is
char serialized_text[256];
len = serializeJson(doc, serialized_text, sizeof(serialized_text));
char eventname[8]; char eventname[8];
Parser::get_event_name(eventid, eventname, sizeof(eventname)); Parser::get_event_name(eventid, eventname, sizeof(eventname));
doc["event"] = eventname; if(const char* tag = my_obj_get_tag(obj))
doc["val"] = val; snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\",\"tag\":%s}"), eventname,
doc["text"] = text; val, serialized_text, tag);
if(const char* tag = my_obj_get_tag(obj)) doc["tag"] = tag; else
serializeJson(doc, data, sizeof(data)); snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\"}"), eventname, val,
// if(const char* tag = my_obj_get_tag(obj)) serialized_text);
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\",\"tag\":%s}"),
// eventname,
// val, text, tag);
// else
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\"}"), eventname, val,
// text);
} }
event_send_object_data(obj, data); event_send_object_data(obj, data);
} }
@ -444,19 +439,14 @@ void textarea_event_handler(lv_obj_t* obj, lv_event_t event)
char data[1024]; char data[1024];
{ {
StaticJsonDocument<1024> doc;
char eventname[8]; char eventname[8];
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname)); Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
doc["event"] = eventname; if(const char* tag = my_obj_get_tag(obj))
doc["text"] = lv_textarea_get_text(obj); snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\",\"tag\":%s}"), eventname,
if(const char* tag = my_obj_get_tag(obj)) doc["tag"] = tag; lv_textarea_get_text(obj), tag);
serializeJson(doc, data, sizeof(data)); else
// if(const char* tag = my_obj_get_tag(obj)) snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\"}"), eventname,
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\",\"tag\":%s}"), eventname, lv_textarea_get_text(obj));
// lv_textarea_get_text(obj), tag);
// else
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\"}"), eventname,
// lv_textarea_get_text(obj));
} }
event_send_object_data(obj, data); event_send_object_data(obj, data);
@ -540,16 +530,12 @@ void generic_event_handler(lv_obj_t* obj, lv_event_t event)
} else { } else {
char data[512]; char data[512];
{ {
StaticJsonDocument<512> doc;
char eventname[8]; char eventname[8];
Parser::get_event_name(last_value_sent, eventname, sizeof(eventname)); Parser::get_event_name(last_value_sent, eventname, sizeof(eventname));
doc["event"] = eventname; if(const char* tag = my_obj_get_tag(obj))
if(const char* tag = my_obj_get_tag(obj)) doc["tag"] = tag; snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"tag\":%s}"), eventname, tag);
serializeJson(doc, data, sizeof(data)); else
// if(const char* tag = my_obj_get_tag(obj)) snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\"}"), eventname);
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"tag\":%s}"), eventname, tag);
// else
// snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\"}"), eventname);
} }
event_send_object_data(obj, data); event_send_object_data(obj, data);
} }
@ -860,10 +846,8 @@ void cpicker_event_handler(lv_obj_t* obj, lv_event_t event)
char data[512]; char data[512];
{ {
StaticJsonDocument<512> doc; char eventname[8];
char buffer[8]; Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
Parser::get_event_name(hasp_event_id, buffer, sizeof(buffer));
doc["event"] = buffer;
lv_color32_t c32; lv_color32_t c32;
lv_color_hsv_t hsv; lv_color_hsv_t hsv;
@ -871,30 +855,18 @@ void cpicker_event_handler(lv_obj_t* obj, lv_event_t event)
hsv = lv_color_rgb_to_hsv(c32.ch.red, c32.ch.green, c32.ch.blue); hsv = lv_color_rgb_to_hsv(c32.ch.red, c32.ch.green, c32.ch.blue);
last_color_sent = color; last_color_sent = color;
snprintf_P(buffer, sizeof(buffer), PSTR("#%02x%02x%02x"), c32.ch.red, c32.ch.green, c32.ch.blue); if(const char* tag = my_obj_get_tag(obj))
doc["color"] = buffer; snprintf_P(data, sizeof(data),
doc["r"] = c32.ch.red; PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"h\":%d,\"s\":%"
doc["g"] = c32.ch.green; "d,\"v\":%d,\"tag\":%s}"),
doc["b"] = c32.ch.blue; eventname, c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, hsv.h,
doc["h"] = hsv.h; hsv.s, hsv.v, tag);
doc["s"] = hsv.s; else
doc["v"] = hsv.v; snprintf_P(data, sizeof(data),
PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"h\":%d,\"s\":%"
if(const char* tag = my_obj_get_tag(obj)) doc["tag"] = tag; "d,\"v\":%d}"),
serializeJson(doc, data, sizeof(data)); eventname, c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, hsv.h,
hsv.s, hsv.v);
// if(const char* tag = my_obj_get_tag(obj))
// snprintf_P(data, sizeof(data),
// PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"h\":%d,\"s\":%"
// "d,\"v\":%d,\"tag\":%s}"),
// eventname, c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, hsv.h,
// hsv.s, hsv.v, tag);
// else
// snprintf_P(data, sizeof(data),
// PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"h\":%d,\"s\":%"
// "d,\"v\":%d}"),
// eventname, c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, hsv.h,
// hsv.s, hsv.v);
} }
event_send_object_data(obj, data); event_send_object_data(obj, data);