Hello,
I'm here again because this time I need to autoconfigure (configuring from inside program, no use of any nrf app) heartbeat destination node and source node.
For destination node, my idea could be this:
struct bt_mesh_cfg_cli_hb_sub hb_sub = { .src = 0x42, .dst = 0xFE, .period = 10, .count = 1, .min = 1, .max = 1, }; res = bt_mesh_cfg_cli_hb_sub_set(net_idx, 0xFE, &hb_sub, NULL);
where:
- 0x42 is the unicast address of heartbeat source
- 0xFE is the unicast address of heartbeat dst
- net_idx is the network index
For source node, my idea could be this:
struct bt_mesh_cfg_cli_hb_pub hb_pub = { .dst = 0xFE, .count = 100, .period = 1, .ttl = 5, .feat = 0, .net_idx = net_idx, }; res = bt_mesh_cfg_cli_hb_pub_set(net_idx, 0x42, &hb_pub, NULL);
where:
- 0x42 is the unicast address of heartbeat source
- 0xFE is the unicast address of heartbeat dst
- net_idx is the network index
These snippets are placed where the program executes autoconfiguring for chat and light/light switch models.
Questions:
- Is this the right way to autoconfigure heartbeat models?
- For source node, in my example feat = 0: does this mean that heartbeat begins after reset, with no need of any trigger events?
- Is there a callback function for every received heartbeat message of destination node, in which I can insert some log_info instructions to verify that something is working?
Thanks in advance for your help and best regards