Cleanup of UPM C++ examples. Switched from heap allocation to
stack allocation when possible. This simplifies the samples since it
removes the need for explicit memory management. A script was used to
identify and replace pointer use. To simplify the replace script, I
re-formatted the C++ examples using the UPM .clang-format file.
Unfortuantely this changes the look of the UPM C++ examples to a large
degree. However, examples will now have a standard look/feel and
uniform formatting.
* Ran clang-format w/provided UPM .clang-format file
* Removed new's/delete's whenever possible (left those in interface
examples)
* Added IIO sensor library implementation of callback void* arg
* Converted all sleeps to upm defined delays (added header when
necessary)
* Scrubbed CXX example includes
Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit removes functionality that is now present in the
bacnetutil class. This simplifies the driver considerably. The
examples were modified to reflect the renaming of some utility
functions in bacnetutil.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
To make room for UPM C and C++ sensor code to coexist, all UPM
C++ headers have been renamed from h -> hpp. This commit contains
updates to documentation, includes, cmake collateral, examples, and
swig interface files.
* Renamed all cxx/cpp header files which contain the string
'copyright intel' from .h -> .hpp (if not already hpp).
* Replaced all references to .h with .hpp in documentation,
source files, cmake collateral, example code, and swig interface
files.
* Replaced cmake variable module_h with module_hpp.
* Intentionally left upm.h since this file currently does not
contain code (documentation only).
Signed-off-by: Noel Eck <noel.eck@intel.com>
This driver requires the UPM BACNETMSTP driver (PR #385) to be merged
first.
This module implements support for the Veris E50H2 and E50H5
BACnet Energy Meters.
From the datasheet: The E50H5 BACnet MS/TP DIN Rail Meter with
Data Logging combines exceptional performance and easy
installation to deliver a cost-effective solution for power
monitoring applications. Native serial communication via BACnet
MS/TP provides complete accessibility of all measurements to your
Building Automation System. The data logging capability protects
data in the event of a power failure. The E50H5 can be easily
installed on standard DIN rail, surface mounted or contained in
an optional NEMA 4 enclosure, as needed. The front-panel LCD
display makes device installation and setup easy and provides
local access to the full set of detailed measurements.
This module was developed using the upm::BACNETMSTP module, based
on libbacnet-stack 0.8.3. Both libbacnet 0.8.3 and the
upm::BACNETMSTP libraries must be present in order to build this
module. This driver was developed on the E50H5. The Trend Log
functionality is not currently supported.
The Binary Input Objects are also not supported as these are only
used for the Alarm bits which are already available from Analog
Input Object 52 as an alarm bitfield incorporating all of the
supported alarm indicators.
It was connected using an RS232->RS485 interface. You cannot use
the built in MCU TTL UART pins for accessing this device -- you
must use a full Serial RS232->RS485 or USB-RS485 interface
connected via USB.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>