OpenZWave Library: Defs.h Source File

| OpenZWave Library 1.6.0

Defs.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2//
3// Defs.h
4//
5// Basic types and preprocessor directives
6//
7// Copyright (c) 2010 Mal Lansell <openzwave@lansell.org>
8//
9// SOFTWARE NOTICE AND LICENSE
10//
11// This file is part of OpenZWave.
12//
13// OpenZWave is free software: you can redistribute it and/or modify
14// it under the terms of the GNU Lesser General Public License as published
15// by the Free Software Foundation, either version 3 of the License,
16// or (at your option) any later version.
17//
18// OpenZWave is distributed in the hope that it will be useful,
19// but WITHOUT ANY WARRANTY; without even the implied warranty of
20// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21// GNU Lesser General Public License for more details.
22//
23// You should have received a copy of the GNU Lesser General Public License
24// along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
25//
26//-----------------------------------------------------------------------------
27
28#ifndef _Defs_H
29#define _Defs_H
30#include <assert.h>
31#include <stdio.h>
32#include <string>
33#include <stdint.h>
34
35
36// Compilation export flags
37#if (defined _WINDOWS || defined WIN32 || defined _MSC_VER) && (!defined MINGW && !defined __MINGW32__ && !defined __MINGW64__)
38# if defined OPENZWAVE_MAKEDLL // Create the dynamic library.
39# define OPENZWAVE_EXPORT __declspec(dllexport)
40# elif defined OPENZWAVE_USEDLL // Use the dynamic library
41# define OPENZWAVE_EXPORT __declspec(dllimport)
42# else // Create/Use the static library
43# define OPENZWAVE_EXPORT
44# endif
45// Disable export warnings
46# define OPENZWAVE_EXPORT_WARNINGS_OFF __pragma( warning(push) )\
47 __pragma( warning(disable: 4251) ) \
48 __pragma( warning(disable: 4275) )
49# define OPENZWAVE_EXPORT_WARNINGS_ON __pragma( warning(pop) )
50#else
51# define OPENZWAVE_EXPORT
52# define OPENZWAVE_EXPORT_WARNINGS_OFF
53# define OPENZWAVE_EXPORT_WARNINGS_ON
54#endif
55
56#ifdef __GNUC__
57#define DEPRECATED __attribute__((deprecated))
58#elif defined(_MSC_VER)
59#define DEPRECATED __declspec(deprecated)
60#else
61#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
62#define DEPRECATED
63#endif
64
65
66#ifdef _MSC_VER
67#define OPENZWAVE_DEPRECATED_WARNINGS_OFF __pragma( warning(push) )\
68 __pragma( warning(disable: 4996) )
69#else
70#define OPENZWAVE_DEPRECATED_WARNINGS_OFF _Pragma ( "GCC diagnostic push" )\
71 _Pragma ( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" )
72#endif
73
74#ifdef _MSC_VER
75#define OPENZWAVE_DEPRECATED_WARNINGS_ON __pragma( warning(pop) )
76#else
77#define OPENZWAVE_DEPRECATED_WARNINGS_ON _Pragma ( "GCC diagnostic pop" )
78#endif
79
80
81
82#ifdef NULL
83#undef NULL
84#endif
85#define NULL 0
86
87// Basic types
88 typedef signed char int8;
89 typedef unsigned char uint8;
90
91 typedef signed short int16;
92 typedef unsigned short uint16;
93
94 typedef signed int int32;
95 typedef unsigned int uint32;
96
97#ifdef _MSC_VER
98typedef signed __int64 int64;
99typedef unsigned __int64 uint64;
100#endif
101
102#ifdef __GNUC__
103typedef signed long long int64;
104typedef unsigned long long uint64;
105#endif
106
107 typedef float float32;
108 typedef double float64;
109
110 typedef struct ozwversion {
111 uint32_t _v; /* major << 16 | minor */
112} ozwversion;
113
119static inline uint16_t version_major(struct ozwversion v) {
120 return (v._v & 0xFFFF0000) >> 16;
121}
122
128static inline uint16_t version_minor(const struct ozwversion &v) {
129 return v._v & 0xFFFF;
130}
131
138static inline struct ozwversion version(uint16_t major, uint16_t minor)
139{
140 struct ozwversion v;
141 v._v = (uint32_t)(major << 16) | (uint32_t)minor;
142 return v;
143}
144
158static inline int version_cmp(struct ozwversion a, struct ozwversion b)
159{
160 return (a._v == b._v) ? 0 : (a._v > b._v) ? 1 : - 1;
161}
162
163#include "OZWException.h"
164#if defined(_MSC_VER)
165# define __MYFUNCTION__ __FUNCTION__
166#else
167# define __MYFUNCTION__ __FILE__
168#endif
169// Exceptions : define OPENZWAVE_ENABLE_EXCEPTIONS in compiler flags to enable exceptions instead of exit function
170#ifdef OPENZWAVE_ENABLE_EXCEPTIONS
171
172# define OZW_FATAL_ERROR(exitCode, msg) Log::Write( LogLevel_Error,"Exception: %s:%d - %d - %s", std::string(__MYFUNCTION__).substr(std::string(__MYFUNCTION__).find_last_of("/\\") + 1).c_str(), __LINE__, exitCode, msg); \
173 throw OZWException(__MYFUNCTION__, __LINE__, exitCode, msg)
174# define OZW_ERROR(exitCode, msg) Log::Write( LogLevel_Warning,"Exception: %s:%d - %d - %s", std::string(__MYFUNCTION__).substr(std::string(__MYFUNCTION__).find_last_of("/\\") + 1).c_str(), __LINE__, exitCode, msg); \
175 throw OZWException(__MYFUNCTION__, __LINE__, exitCode, msg)
176
177#else
178
179# define OZW_FATAL_ERROR(exitCode, msg) Log::Write( LogLevel_Error,"Exception: %s:%d - %d - %s", std::string(__MYFUNCTION__).substr(std::string(__MYFUNCTION__).find_last_of("/\\") + 1).c_str(), __LINE__, exitCode, msg); \
180 std::cerr << "Error: "<< std::string(__MYFUNCTION__).substr(std::string(__MYFUNCTION__).find_last_of("/\\") + 1) << ":" << __LINE__ << " - " << msg << std::endl; exit(exitCode)
181# define OZW_ERROR(exitCode, msg) Log::Write( LogLevel_Warning,"Exception: %s:%d - %d - %s", std::string(__MYFUNCTION__).substr(std::string(__MYFUNCTION__).find_last_of("/\\") + 1).c_str(), __LINE__, exitCode, msg);
182
183#endif
184
185// Declare the OpenZWave namespace
186namespace std {}
187namespace OpenZWave
188{
189 // Include the STL namespace
190 using namespace std;
191}
192
193// Modifications for Microsoft compilers
194#ifdef _MSC_VER
195
196// Fix for namespace-related compiler bug
197namespace OpenZWave
198{
199}
200
201// Rename safe versions of sprintf etc
202#define snprintf sprintf_s
203#define strcasecmp _stricmp
204#define sscanf sscanf_s
205#define strncpy strncpy_s
206#define strncat strncat_s
207
208
209
210#endif
211
212// Modifications for MiNGW32 compiler
213#ifdef MINGW
214
215// Replace "safe" versions of sprintf
216#define sprintf_s snprintf
217
218// seems some MINGW versions don't have a errno_t
219#ifndef errno_t
220#define errno_t int
221#endif
222
223#define fopen_s fopen
224
225
226#endif
227
228//#define MAX_TRIES 3 // Retry sends up to 3 times
229#define MAX_TRIES 1 // set this to one, as I believe now that a ACK failure is indication that the device is offline, hence additional attempts will not work.
230#define MAX_MAX_TRIES 7 // Don't exceed this retry limit
231#define ACK_TIMEOUT 1000 // How long to wait for an ACK
232#define BYTE_TIMEOUT 150
233//#define RETRY_TIMEOUT 40000 // Retry send after 40 seconds
234#define RETRY_TIMEOUT 10000 // Retry send after 10 seconds (we might need to keep this below 10 for Security CC to function correctly)
235
236#define SOF 0x01
237#define ACK 0x06
238#define NAK 0x15
239#define CAN 0x18
240
241#define NUM_NODE_BITFIELD_BYTES 29 // 29 bytes = 232 bits, one for each possible node in the network.
242
243#define REQUEST 0x00
244#define RESPONSE 0x01
245
246#define ZW_CLOCK_SET 0x30
247
248#define TRANSMIT_OPTION_ACK 0x01
249#define TRANSMIT_OPTION_LOW_POWER 0x02
250#define TRANSMIT_OPTION_AUTO_ROUTE 0x04
251#define TRANSMIT_OPTION_NO_ROUTE 0x10
252#define TRANSMIT_OPTION_EXPLORE 0x20
253
254#define TRANSMIT_COMPLETE_OK 0x00
255#define TRANSMIT_COMPLETE_NO_ACK 0x01
256#define TRANSMIT_COMPLETE_FAIL 0x02
257#define TRANSMIT_COMPLETE_NOT_IDLE 0x03
258#define TRANSMIT_COMPLETE_NOROUTE 0x04
259#define TRANSMIT_COMPLETE_VERIFIED 0x05
260
261#define RECEIVE_STATUS_ROUTED_BUSY 0x01
262#define RECEIVE_STATUS_TYPE_BROAD 0x04
263
264#define FUNC_ID_SERIAL_API_GET_INIT_DATA 0x02
265#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION 0x03
266#define FUNC_ID_APPLICATION_COMMAND_HANDLER 0x04
267#define FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES 0x05
268#define FUNC_ID_SERIAL_API_SET_TIMEOUTS 0x06
269#define FUNC_ID_SERIAL_API_GET_CAPABILITIES 0x07
270#define FUNC_ID_SERIAL_API_SOFT_RESET 0x08
271
272#define FUNC_ID_SERIAL_API_SETUP 0x0b
273
274#define FUNC_ID_ZW_SEND_NODE_INFORMATION 0x12
275#define FUNC_ID_ZW_SEND_DATA 0x13
276#define FUNC_ID_ZW_GET_VERSION 0x15
277#define FUNC_ID_ZW_R_F_POWER_LEVEL_SET 0x17
278#define FUNC_ID_ZW_GET_RANDOM 0x1c
279#define FUNC_ID_ZW_MEMORY_GET_ID 0x20
280#define FUNC_ID_MEMORY_GET_BYTE 0x21
281#define FUNC_ID_ZW_READ_MEMORY 0x23
282
283#define FUNC_ID_ZW_SET_LEARN_NODE_STATE 0x40 // Not implemented
284#define FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO 0x41 // Get protocol info (baud rate, listening, etc.) for a given node
285#define FUNC_ID_ZW_SET_DEFAULT 0x42 // Reset controller and node info to default (original) values
286#define FUNC_ID_ZW_NEW_CONTROLLER 0x43 // Not implemented
287#define FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE 0x44 // Replication send data complete
288#define FUNC_ID_ZW_REPLICATION_SEND_DATA 0x45 // Replication send data
289#define FUNC_ID_ZW_ASSIGN_RETURN_ROUTE 0x46 // Assign a return route from the specified node to the controller
290#define FUNC_ID_ZW_DELETE_RETURN_ROUTE 0x47 // Delete all return routes from the specified node
291#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 0x48 // Ask the specified node to update its neighbors (then read them from the controller)
292#define FUNC_ID_ZW_APPLICATION_UPDATE 0x49 // Get a list of supported (and controller) command classes
293#define FUNC_ID_ZW_ADD_NODE_TO_NETWORK 0x4a // Control the addnode (or addcontroller) process...start, stop, etc.
294#define FUNC_ID_ZW_REMOVE_NODE_FROM_NETWORK 0x4b // Control the removenode (or removecontroller) process...start, stop, etc.
295#define FUNC_ID_ZW_CREATE_NEW_PRIMARY 0x4c // Control the createnewprimary process...start, stop, etc.
296#define FUNC_ID_ZW_CONTROLLER_CHANGE 0x4d // Control the transferprimary process...start, stop, etc.
297#define FUNC_ID_ZW_SET_LEARN_MODE 0x50 // Put a controller into learn mode for replication/ receipt of configuration info
298#define FUNC_ID_ZW_ASSIGN_SUC_RETURN_ROUTE 0x51 // Assign a return route to the SUC
299#define FUNC_ID_ZW_ENABLE_SUC 0x52 // Make a controller a Static Update Controller
300#define FUNC_ID_ZW_REQUEST_NETWORK_UPDATE 0x53 // Network update for a SUC(?)
301#define FUNC_ID_ZW_SET_SUC_NODE_ID 0x54 // Identify a Static Update Controller node id
302#define FUNC_ID_ZW_DELETE_SUC_RETURN_ROUTE 0x55 // Remove return routes to the SUC
303#define FUNC_ID_ZW_GET_SUC_NODE_ID 0x56 // Try to retrieve a Static Update Controller node id (zero if no SUC present)
304#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE_OPTIONS 0x5a // Allow options for request node neighbor update
305#define FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION 0x5e // supports NWI
306#define FUNC_ID_ZW_REQUEST_NODE_INFO 0x60 // Get info (supported command classes) for the specified node
307#define FUNC_ID_ZW_REMOVE_FAILED_NODE_ID 0x61 // Mark a specified node id as failed
308#define FUNC_ID_ZW_IS_FAILED_NODE_ID 0x62 // Check to see if a specified node has failed
309#define FUNC_ID_ZW_REPLACE_FAILED_NODE 0x63 // Remove a failed node from the controller's list (?)
310#define FUNC_ID_ZW_GET_ROUTING_INFO 0x80 // Get a specified node's neighbor information from the controller
311#define FUNC_ID_SERIAL_API_SLAVE_NODE_INFO 0xA0 // Set application virtual slave node information
312#define FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER 0xA1 // Slave command handler
313#define FUNC_ID_ZW_SEND_SLAVE_NODE_INFO 0xA2 // Send a slave node information frame
314#define FUNC_ID_ZW_SEND_SLAVE_DATA 0xA3 // Send data from slave
315#define FUNC_ID_ZW_SET_SLAVE_LEARN_MODE 0xA4 // Enter slave learn mode
316#define FUNC_ID_ZW_GET_VIRTUAL_NODES 0xA5 // Return all virtual nodes
317#define FUNC_ID_ZW_IS_VIRTUAL_NODE 0xA6 // Virtual node test
318#define FUNC_ID_ZW_SET_PROMISCUOUS_MODE 0xD0 // Set controller into promiscuous mode to listen to all frames
319#define FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER 0xD1
320
321#define FUNC_ID_PROPRIETARY_0 0xF0
322#define FUNC_ID_PROPRIETARY_1 0xF1
323#define FUNC_ID_PROPRIETARY_2 0xF2
324#define FUNC_ID_PROPRIETARY_3 0xF3
325#define FUNC_ID_PROPRIETARY_4 0xF4
326#define FUNC_ID_PROPRIETARY_5 0xF5
327#define FUNC_ID_PROPRIETARY_6 0xF6
328#define FUNC_ID_PROPRIETARY_7 0xF7
329#define FUNC_ID_PROPRIETARY_8 0xF8
330#define FUNC_ID_PROPRIETARY_9 0xF9
331#define FUNC_ID_PROPRIETARY_A 0xFA
332#define FUNC_ID_PROPRIETARY_B 0xFB
333#define FUNC_ID_PROPRIETARY_C 0xFC
334#define FUNC_ID_PROPRIETARY_D 0xFD
335#define FUNC_ID_PROPRIETARY_E 0xFE
336
337
338#define ADD_NODE_ANY 0x01
339#define ADD_NODE_CONTROLLER 0x02
340#define ADD_NODE_SLAVE 0x03
341#define ADD_NODE_EXISTING 0x04
342#define ADD_NODE_STOP 0x05
343#define ADD_NODE_STOP_FAILED 0x06
344
345#define ADD_NODE_STATUS_LEARN_READY 0x01
346#define ADD_NODE_STATUS_NODE_FOUND 0x02
347#define ADD_NODE_STATUS_ADDING_SLAVE 0x03
348#define ADD_NODE_STATUS_ADDING_CONTROLLER 0x04
349#define ADD_NODE_STATUS_PROTOCOL_DONE 0x05
350#define ADD_NODE_STATUS_DONE 0x06
351#define ADD_NODE_STATUS_FAILED 0x07
352
353#define REMOVE_NODE_ANY 0x01
354#define REMOVE_NODE_CONTROLLER 0x02
355#define REMOVE_NODE_SLAVE 0x03
356#define REMOVE_NODE_STOP 0x05
357
358#define REMOVE_NODE_STATUS_LEARN_READY 0x01
359#define REMOVE_NODE_STATUS_NODE_FOUND 0x02
360#define REMOVE_NODE_STATUS_REMOVING_SLAVE 0x03
361#define REMOVE_NODE_STATUS_REMOVING_CONTROLLER 0x04
362#define REMOVE_NODE_STATUS_DONE 0x06
363#define REMOVE_NODE_STATUS_FAILED 0x07
364
365#define CREATE_PRIMARY_START 0x02
366#define CREATE_PRIMARY_STOP 0x05
367#define CREATE_PRIMARY_STOP_FAILED 0x06
368
369#define CONTROLLER_CHANGE_START 0x02
370#define CONTROLLER_CHANGE_STOP 0x05
371#define CONTROLLER_CHANGE_STOP_FAILED 0x06
372
373#define LEARN_MODE_STARTED 0x01
374#define LEARN_MODE_DONE 0x06
375#define LEARN_MODE_FAILED 0x07
376#define LEARN_MODE_DELETED 0x80
377
378#define REQUEST_NEIGHBOR_UPDATE_STARTED 0x21
379#define REQUEST_NEIGHBOR_UPDATE_DONE 0x22
380#define REQUEST_NEIGHBOR_UPDATE_FAILED 0x23
381
382#define FAILED_NODE_OK 0x00
383#define FAILED_NODE_REMOVED 0x01
384#define FAILED_NODE_NOT_REMOVED 0x02
385
386#define FAILED_NODE_REPLACE_WAITING 0x03
387#define FAILED_NODE_REPLACE_DONE 0x04
388#define FAILED_NODE_REPLACE_FAILED 0x05
389
390#define FAILED_NODE_REMOVE_STARTED 0x00
391#define FAILED_NODE_NOT_PRIMARY_CONTROLLER 0x02
392#define FAILED_NODE_NO_CALLBACK_FUNCTION 0x04
393#define FAILED_NODE_NOT_FOUND 0x08
394#define FAILED_NODE_REMOVE_PROCESS_BUSY 0x10
395#define FAILED_NODE_REMOVE_FAIL 0x20
396
397#define SUC_UPDATE_DONE 0x00
398#define SUC_UPDATE_ABORT 0x01
399#define SUC_UPDATE_WAIT 0x02
400#define SUC_UPDATE_DISABLED 0x03
401#define SUC_UPDATE_OVERFLOW 0x04
402
403#define SUC_FUNC_BASIC_SUC 0x00
404#define SUC_FUNC_NODEID_SERVER 0x01
405
406#define UPDATE_STATE_NODE_INFO_RECEIVED 0x84
407#define UPDATE_STATE_NODE_INFO_REQ_DONE 0x82
408#define UPDATE_STATE_NODE_INFO_REQ_FAILED 0x81
409#define UPDATE_STATE_ROUTING_PENDING 0x80
410#define UPDATE_STATE_NEW_ID_ASSIGNED 0x40
411#define UPDATE_STATE_DELETE_DONE 0x20
412#define UPDATE_STATE_SUC_ID 0x10
413
414#define APPLICATION_NODEINFO_LISTENING 0x01
415#define APPLICATION_NODEINFO_OPTIONAL_FUNCTIONALITY 0x02
416
417#define SLAVE_ASSIGN_COMPLETE 0x00
418#define SLAVE_ASSIGN_NODEID_DONE 0x01 // Node ID has been assigned
419#define SLAVE_ASSIGN_RANGE_INFO_UPDATE 0x02 // Node is doing neighbor discovery
420
421#define SLAVE_LEARN_MODE_DISABLE 0x00 // disable add/remove virtual slave nodes
422#define SLAVE_LEARN_MODE_ENABLE 0x01 // enable ability to include/exclude virtual slave nodes
423#define SLAVE_LEARN_MODE_ADD 0x02 // add node directly but only if primary/inclusion controller
424#define SLAVE_LEARN_MODE_REMOVE 0x03 // remove node directly but only if primary/inclusion controller
425
426#define OPTION_HIGH_POWER 0x80
427#define OPTION_NWI 0x40 // NWI Inclusion
428//Device request related
429#define BASIC_SET 0x01
430#define BASIC_REPORT 0x03
431
432#define COMMAND_CLASS_BASIC 0x20
433#define COMMAND_CLASS_CONTROLLER_REPLICATION 0x21
434#define COMMAND_CLASS_APPLICATION_STATUS 0x22
435#define COMMAND_CLASS_HAIL 0x82
436
437/* library types */
438#define ZW_LIB_CONTROLLER_STATIC 0x01
439#define ZW_LIB_CONTROLLER 0x02
440#define ZW_LIB_SLAVE_ENHANCED 0x03
441#define ZW_LIB_SLAVE 0x04
442#define ZW_LIB_INSTALLER 0x05
443#define ZW_LIB_SLAVE_ROUTING 0x06
444#define ZW_LIB_CONTROLLER_BRIDGE 0x07
445#define ZW_LIB_DUT 0x08
446
447/* Serial API Setup Commands */
448#define SERIAL_API_SETUP_CMD_TX_STATUS_REPORT 0x02
449#define SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET 0x04
450#define SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET 0x08
451#define SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE 0x10
452
453/* RouteScheme Definitions */
454 typedef enum TXSTATUS_ROUTING_SCHEME
455{
456 ROUTINGSCHEME_IDLE = 0,
457 ROUTINGSCHEME_DIRECT = 1,
458 ROUTINGSCHEME_CACHED_ROUTE_SR = 2,
459 ROUTINGSCHEME_CACHED_ROUTE = 3,
460 ROUTINGSCHEME_CACHED_ROUTE_NLWR = 4,
461 ROUTINGSCHEME_ROUTE = 5,
462 ROUTINGSCHEME_RESORT_DIRECT = 6,
463 ROUTINGSCHEME_RESORT_EXPLORE = 7
464} TXSTATUS_ROUTING_SCHEME;
465
466/* RouteSpeed Definitions */
467 typedef enum TXSTATUS_ROUTE_SPEED
468{
469 ROUTE_SPEED_AUTO = 0,
470 ROUTE_SPEED_9600 = 1,
471 ROUTE_SPEED_40K = 2,
472 ROUTE_SPEED_100K = 3,
473} TXSTATUS_ROUTE_SPEED;
474
475
476#endif // _Defs_H
uint16
unsigned short uint16
Definition: Defs.h:92
uint32
unsigned int uint32
Definition: Defs.h:95
int8
signed char int8
Definition: Defs.h:88
float64
double float64
Definition: Defs.h:108
int16
signed short int16
Definition: Defs.h:91
int32
signed int int32
Definition: Defs.h:94
TXSTATUS_ROUTING_SCHEME
TXSTATUS_ROUTING_SCHEME
Definition: Defs.h:455
ROUTINGSCHEME_ROUTE
@ ROUTINGSCHEME_ROUTE
Definition: Defs.h:461
ROUTINGSCHEME_CACHED_ROUTE_NLWR
@ ROUTINGSCHEME_CACHED_ROUTE_NLWR
Definition: Defs.h:460
ROUTINGSCHEME_RESORT_EXPLORE
@ ROUTINGSCHEME_RESORT_EXPLORE
Definition: Defs.h:463
ROUTINGSCHEME_CACHED_ROUTE_SR
@ ROUTINGSCHEME_CACHED_ROUTE_SR
Definition: Defs.h:458
ROUTINGSCHEME_RESORT_DIRECT
@ ROUTINGSCHEME_RESORT_DIRECT
Definition: Defs.h:462
ROUTINGSCHEME_DIRECT
@ ROUTINGSCHEME_DIRECT
Definition: Defs.h:457
ROUTINGSCHEME_IDLE
@ ROUTINGSCHEME_IDLE
Definition: Defs.h:456
ROUTINGSCHEME_CACHED_ROUTE
@ ROUTINGSCHEME_CACHED_ROUTE
Definition: Defs.h:459
ozwversion
struct ozwversion ozwversion
TXSTATUS_ROUTE_SPEED
TXSTATUS_ROUTE_SPEED
Definition: Defs.h:468
ROUTE_SPEED_9600
@ ROUTE_SPEED_9600
Definition: Defs.h:470
ROUTE_SPEED_40K
@ ROUTE_SPEED_40K
Definition: Defs.h:471
ROUTE_SPEED_100K
@ ROUTE_SPEED_100K
Definition: Defs.h:472
ROUTE_SPEED_AUTO
@ ROUTE_SPEED_AUTO
Definition: Defs.h:469
float32
float float32
Definition: Defs.h:107
uint8
unsigned char uint8
Definition: Defs.h:89
OZWException.h
OpenZWave
Definition: Bitfield.h:35
std
STL namespace.
ozwversion
Definition: Defs.h:110
ozwversion::_v
uint32_t _v
Definition: Defs.h:111