This adds code to save the value of a remote node's default TTL upon receiving Config Default TTL Status message. Also, cleanup leftover "#if 0" clause --- tools/mesh/cfgcli.c | 1 + tools/mesh/mesh-db.c | 25 ++++++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c index 0aea7e553..33e77d878 100644 --- a/tools/mesh/cfgcli.c +++ b/tools/mesh/cfgcli.c @@ -557,6 +557,7 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data, return true; bt_shell_printf("Node %4.4x Default TTL %d\n", src, data[0]); + mesh_db_node_ttl_set(src, data[0]); break; diff --git a/tools/mesh/mesh-db.c b/tools/mesh/mesh-db.c index 41114f40f..4a26a667e 100644 --- a/tools/mesh/mesh-db.c +++ b/tools/mesh/mesh-db.c @@ -434,6 +434,24 @@ bool mesh_db_node_net_key_add(uint16_t unicast, uint16_t idx) return add_node_key(jnode, "netKeys", idx); } +bool mesh_db_node_ttl_set(uint16_t unicast, uint8_t ttl) +{ + json_object *jnode; + + if (!cfg || !cfg->jcfg) + return false; + + jnode = get_node_by_unicast(unicast); + if (!jnode) + return false; + + if (!write_int(jnode, "defaultTTL", ttl)) + return false; + + return mesh_config_save((struct mesh_config *) cfg, true, + NULL, NULL); +} + static void jarray_key_del(json_object *jarray, int16_t idx) { int i, sz = json_object_array_length(jarray); @@ -923,13 +941,6 @@ bool mesh_db_create(const char *fname, const uint8_t token[8], goto fail; json_object_object_add(jcfg, "appKeys", jarray); -#if 0 - jarray = json_object_new_array(); - if (!jarray) - goto fail; - - json_object_object_add(jcfg, "groups", jarray); -#endif if (!mesh_config_save((struct mesh_config *) cfg, true, NULL, NULL)) goto fail; -- 2.21.1