This sample shows how to read a parameter and write datapoint values via the device API.
Pre-condition: It assumes that the following datapoints and parameters are configured:
#include "Helper.h"
#include <iostream>
#include <exception>
#include <memory>
#include <thread>
using namespace wz::baos::ip;
namespace
{
enum Datapoints : std::uint16_t
{
};
enum Parameters : std::uint16_t
{
};
{
{
}
}
}
{
try
{
std::cout << "******************************************" << std::endl;
std::cout << "08_Counter sample" << std::endl;
std::cout << "******************************************" << std::endl;
std::cout << std::endl;
setBaosLogLevel(wz::baos::LogLevel::warn);
options.setDurationOptionSupported(
true);
{
return 0;
}
std::cout <<
" Connection requested for " <<
ipAddress << std::endl;
{
{
std::uint16_t
id =
item.first;
std::cout << "Received datapoint value indication for id " << id << std::endl;
switch (id)
{
case Datapoints::DoAdd:
std::cout << "Add step value to counter " << std::endl;
break;
case Datapoints::Counter:
std::cout << "Counter was changed from other (bus or other baos client)" << std::endl;
break;
default:
std::cout << "Nothing to do" << std::endl;
}
}
});
{
std::cout << "Press [Enter] to exit the application ..." << std::endl;
std::getchar();
}
else
{
std::cout <<
"Listening for indications for " <<
durationSeconds <<
" seconds ..." << std::endl;
}
}
catch (
const std::exception&
e)
{
std::cerr <<
"Failed: " <<
e.what() << std::endl;
return -1;
}
return 0;
}
Specialization for a IP v4 BAOSDevice.
Specialization for a TCP IP v4 BAOSConnection.
Global BAOS protocol defines and types.
Global BAOS SDK function and options.
void setDpValue(std::uint16_t dpId, protocol::DatapointChangeValue &&dpValue)
Send a SetDatapointValue request to the BAOS device for one datapoint.
protocol::ParameterBytes getParameterBytes(std::uint16_t byteIndex, std::uint16_t numberOfBytes)
Get a list of parameter bytes.
A specialization for (connection oriented) connection to the BAOS device via a TCP connection.
Definition BaosTcpConnection.h:182
Represents a BAOS IP4 device with an underlying TCP connection (with BAOS unsecure connection-less)
Definition BaosIpv4Device.h:55
Groups BAOS binary protocol specific types , defines and classes for Indications, Responses etc.
Definition Defines.h:33
std::map< std::uint16_t, DatapointValue > DatapointValues
A map with datapoint ids as keys and DatapointValue as values.
Definition Defines.h:36
std::vector< std::uint8_t > ParameterBytes
Strong type for a list of parameter bytes.
Definition Defines.h:635
wz::baos::Buffer DatapointValue
An type for the DatapointValues.
Definition Defines.h:34
Global BAOS sdk namespace.
Definition config.h:69
BAOSLIB_EXPORT void setBaosLogLevel(wz::baos::LogLevel level)
A collection of fields representing those serveritems which won't ever change in a device.
Definition BaosDeviceDataTypes.h:49