MySensors Library & Examples
2.3.2
core
MyCapabilities.h
Go to the documentation of this file.
1
/*
2
* The MySensors Arduino library handles the wireless radio link and protocol
3
* between your home built sensors/actuators and HA controller of choice.
4
* The sensors forms a self healing radio network with optional repeaters. Each
5
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
6
* network topology allowing messages to be routed to nodes.
7
*
8
* Created by Henrik Ekblad <
[email protected]
>
9
* Copyright (C) 2013-2019 Sensnology AB
10
* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors
11
*
12
* Documentation: http://www.mysensors.org
13
* Support Forum: http://forum.mysensors.org
14
*
15
* This program is free software; you can redistribute it and/or
16
* modify it under the terms of the GNU General Public License
17
* version 2 as published by the Free Software Foundation.
18
*/
24
#ifndef MyCapabilities_h
25
#define MyCapabilities_h
26
45
// Remote reset
57
#if defined(MY_DISABLE_REMOTE_RESET)
58
#define MY_CAP_RESET "N"
59
#else
60
#define MY_CAP_RESET "R"
61
#endif
62
63
// OTA firmware update feature
75
#if defined(MY_OTA_FIRMWARE_FEATURE)
76
#define MY_CAP_OTA_FW "O"
77
#else
78
#define MY_CAP_OTA_FW "N"
79
#endif
80
81
// Transport
97
#if defined(MY_RADIO_RF24) || defined(MY_RADIO_NRF5_ESB)
98
#define MY_CAP_RADIO "N"
99
#elif defined(MY_RADIO_RFM69)
100
#if !defined(MY_RFM69_NEW_DRIVER)
101
// old RFM69 driver
102
#define MY_CAP_RADIO "R"
103
#else
104
// new RFM69 driver
105
#define MY_CAP_RADIO "P"
106
#endif
107
#elif defined(MY_RADIO_RFM95)
108
#define MY_CAP_RADIO "L"
109
#elif defined(MY_RS485)
110
#define MY_CAP_RADIO "S"
111
#else
112
#define MY_CAP_RADIO "-"
113
#endif
114
115
// Node type
129
#if defined(MY_GATEWAY_FEATURE)
130
#define MY_CAP_TYPE "G"
131
#elif defined(MY_REPEATER_FEATURE)
132
#define MY_CAP_TYPE "R"
133
#elif defined(MY_PASSIVE_NODE)
134
#define MY_CAP_TYPE "P"
135
#else
136
#define MY_CAP_TYPE "N"
137
#endif
138
139
// Architecture
157
#if defined(ARDUINO_ARCH_SAMD)
158
#define MY_CAP_ARCH "S"
159
#elif defined(ARDUINO_ARCH_NRF5)
160
#define MY_CAP_ARCH "N"
161
#elif defined(ARDUINO_ARCH_ESP8266)
162
#define MY_CAP_ARCH "E"
163
#elif defined(ARDUINO_ARCH_ESP32)
164
#define MY_CAP_ARCH "F"
165
#elif defined(ARDUINO_ARCH_AVR)
166
#define MY_CAP_ARCH "A"
167
#elif defined(ARDUINO_ARCH_STM32F1)
168
#define MY_CAP_ARCH "F"
169
#elif defined(__arm__) && defined(TEENSYDUINO)
170
#define MY_CAP_ARCH "T"
171
#elif defined(__linux__)
172
#define MY_CAP_ARCH "L"
173
#else
174
#define MY_CAP_ARCH "-"
175
#endif
176
177
// Signing
190
#if defined(MY_SIGNING_ATSHA204)
191
#define MY_CAP_SIGN "A"
192
#elif defined(MY_SIGNING_SOFT)
193
#define MY_CAP_SIGN "S"
194
#else
195
#define MY_CAP_SIGN "-"
196
#endif
197
198
// RX queue
210
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
211
#define MY_CAP_RXBUF "Q"
212
#else
213
#define MY_CAP_RXBUF "-"
214
#endif
215
216
// Radio encryption
228
#if defined(MY_ENCRYPTION_FEATURE)
229
#define MY_CAP_ENCR "X"
230
#else
231
#define MY_CAP_ENCR "-"
232
#endif
233
234
241
#define MY_CAPABILITIES MY_CAP_RESET MY_CAP_RADIO MY_CAP_OTA_FW MY_CAP_TYPE MY_CAP_ARCH MY_CAP_SIGN MY_CAP_RXBUF MY_CAP_ENCR
242
// End of MyCapabilities group
244
#endif
/* MyCapabilities_h */
Copyright (C) 2013-2019 Sensnology AB. Generated by
doxygen
1.8.17