Fix crash when thermostat mode list is empty. Root cause of thermostat
mode list being empty isn't addressed. Lost packets need some form of recovery
mechamism.
Update badly formatted xml in trane devices.
This first one is to allow you to Specify your own custom logging Class
implemented via replacing the Platform Log class. Simply it just replaces
the existing Platform Log Class in the m_pImpl variable (in the Log Class)
with the supplied Class instead. . There is also a Abstract Class called
i_LogImpl that your custom logging must be based on.
The reason I've had to implement this, is that the device that will end up
hosting the application is based on Flash Storage, and I don't want to wear
out my Flash. My Current Logging infra is based on Log4cxx which can stream
Logs over the network instead (via Syslog, XML etc)
- Report time lost to timeouts.
- Make the retry number configurable (as a #define)
- Refuse to write a config with a zero home ID, which can happen in weird cases.
the first ManufacturerSpecific query stage, only process protocol specific
device configuratin from the xml file. During the second
ManufacturerSpecific query stage, process the CommandClass data.
Add device configuration option not to send a Node Protocol Request. See
act/lfm20.xml for an example of configuration syntax. Requires adding a new
query phase to obtain manufacturer information prior to sending Node
Protocol Request.
similarly to how the query state does it. Remove Driver RequestNodeState
function and use AddQuery in Manager.cpp instead. All Request/Refresh Node
functions return bool.
message. This prevents the situation where a low priority message is at the
top of the send queue but is ready to be removed. Before removal a high
priority message gets added to the send queue but would be put at the head
of the queue in front of the soon to be expired low priority message. The
unsent high priority message gets removed and the low priority message gets
resent.
add optional size paramater to Manager::SetConfigParam which is only used
if no type is available from the xml configuration file. It defaults to 2.
Manager::SetValue also handles proper size.
More statistics counters.
Added tracking and returning driver specific message count and error data. see Manager::GetDriverStatistics
Random formatting changes for consistency.
Class SensorMultilevel will use multiple indexes for multiple sensors.
Node::GetNeighbors will only return valid data. Wait for proper query stage to complete.
On Driver shutdown stop threads then remove controller object.
Add extra comments to Driver::IsControllerCommand so we can better track commands.
Update Mac OS X example Main.cpp to be consistent with Linux version. Handle more notifications
and add a thread to wait for query completion.
Add statistics print out to both Linux and Mac OS X example apps.
Fix Mac hidapi to terminate its background CFRunLoop upon hid_close.
Change the RequestState/RequestValue protocol to handle the case where
there is nothing to send. Must return true only if a message was sent so
the query state machine can track properly.
xml name is 'write_only'.
Some Aeon Labs configuration variables affect other variables. Add an xml
'affects' options which takes as its argument a list of configuration
parameter numbers or the keyword all.
Create a node method to request dynamic variables so button releases and
hails can cause a refresh.
Fixed bug in CommandClass::ExtractValue where sign wasn't being taken from
the proper byte offset in the case of Meter V2 or higher messages.
Some thermostats start counting setpoint types at bit 0 instead of bit
1. Add an xml option called 'base' so the proper offset is used.
Add missing m_queryStageCompleted settings in Driver and Meter.
Attempt to add default values to the Trane xml configuration.
status of the current query response. This means m_queryRetries is only a
retry counter. All the classes and places where queries succeed or fail
must update this variable.
Extra debugging left in this version as there will most likely be query
bugs due to this change.
Generate a log message when reading class variables from xml configuration
files without values.
Comment out unused variables in Meter.cpp since the stringent compilation
flags of gcc creates an error.
Random formatting changes to be consistent.