MySensors Library & Examples
2.3.2-62-ge298769
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-2022 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
158
#if defined(ARDUINO_ARCH_SAMD)
159
#define MY_CAP_ARCH "S"
160
#elif defined(ARDUINO_ARCH_NRF5)
161
#define MY_CAP_ARCH "N"
162
#elif defined(ARDUINO_ARCH_ESP8266)
163
#define MY_CAP_ARCH "E"
164
#elif defined(ARDUINO_ARCH_ESP32)
165
#define MY_CAP_ARCH "F"
166
#elif defined(ARDUINO_ARCH_AVR) || defined(ARDUINO_ARCH_MEGAAVR)
167
#define MY_CAP_ARCH "A"
168
#elif defined(ARDUINO_ARCH_STM32F1)
169
#define MY_CAP_ARCH "M"
170
#elif defined(__arm__) && defined(TEENSYDUINO)
171
#define MY_CAP_ARCH "T"
172
#elif defined(__linux__)
173
#define MY_CAP_ARCH "L"
174
#else
175
#define MY_CAP_ARCH "-"
176
#endif
177
178
// Signing
191
#if defined(MY_SIGNING_ATSHA204)
192
#define MY_CAP_SIGN "A"
193
#elif defined(MY_SIGNING_SOFT)
194
#define MY_CAP_SIGN "S"
195
#else
196
#define MY_CAP_SIGN "-"
197
#endif
198
199
// RX queue
211
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
212
#define MY_CAP_RXBUF "Q"
213
#else
214
#define MY_CAP_RXBUF "-"
215
#endif
216
217
// Radio encryption
229
#if defined(MY_ENCRYPTION_FEATURE)
230
#define MY_CAP_ENCR "X"
231
#else
232
#define MY_CAP_ENCR "-"
233
#endif
234
235
242
#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
243
// End of MyCapabilities group
245
#endif
/* MyCapabilities_h */
Copyright (C) 2013-2019 Sensnology AB. Generated by
doxygen
1.8.17