Z-Wave Protocol Controller Reference
failing_node_monitor.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
14#ifndef FAILING_NODE_MONITOR_H
15#define FAILING_NODE_MONITOR_H
16
17// Interfaces
19
20// Contiki defines (CLOCK_SECOND)
21#include "clock.h"
22
33// Pinging nodes is not that important, we do not want NOPs messages to clutter
34// the queue, so if they are not sent within 2 seconds, remove them from the
35// Tx Queue
36#define NOP_DISCARD_TIMEOUT_MS 2000
37
38// When we already queued a NOP, back-off for that duration before
39// re-attempting the next NOP.
40#define NOP_REQUEUE_BACK_OFF_MS 10000
41
42// Start interval for pinging AL nodes
43#define AL_NODE_PING_TIME_INTERVAL (4 * CLOCK_SECOND)
44// Multication factor for AL nodes intervals
45#define AL_NODE_PING_TIME_FACTOR 2
46
47// Start interval for pinging FL nodes
48#define FL_NODE_PING_TIME_INTERVAL (40 * CLOCK_SECOND)
49// Multication factor for FL nodes intervals
50#define FL_NODE_PING_TIME_FACTOR 4
51
52// Maximum time we settle on between ping intervals:
53#define MAX_PING_TIME_INTERVAL (24 * 60 * 60 * CLOCK_SECOND) // 24 hours
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
65
66#ifdef __cplusplus
67}
68#endif
71#endif //FAILING_NODE_MONITOR_H
void failing_node_monitor_init()
Initializes the failing node monitoring by registering callbacks to the attribute store.