This demo shows how to read datapoint descriptions via the device API.
#include "Helper.h"
#include <iostream>
#include <memory>
using namespace wz::baos::ip;
int main(int argc, char* argv[])
{
try
{
std::cout << "******************************************" << std::endl;
std::cout << "03_BaosDatapointConfiguration sample" << std::endl;
std::cout << "******************************************" << std::endl;
std::cout << std::endl;
CommandLineOptions options;
options.parse(argc, argv);
if (options.wasHelpdisplayed())
{
return 0;
}
const std::string ipAddress = options.getIpAddress();
std::cout << " Connection requested for " << ipAddress << std::endl;
BaosIp4Device baosDevice(ipAddress);
std::cout << "Read all datapoint descriptions from device" << std::endl;
for (const auto& item : configurations)
{
std::cout << "Datapoint id " << item.first << ": ";
const DatapointConfig& desc = item.second;
std::cout << toString(desc) << std::endl;
}
if (configurations.size() == 0)
{
std::cout << "No datapoints configured on the device" << std::endl;
}
std::cout << std::endl;
std::cout << "Read datapoint descriptions (3..12) from device (use cache)" << std::endl;
configurations = baosDevice.getDpConfigurations(3, 12);
for (const auto& item : configurations)
{
std::cout << "Datapoint id " << item.first << ": ";
const DatapointConfig& desc = item.second;
std::cout << toString(desc) << std::endl;
}
if (configurations.size() == 0)
{
std::cout << "Warning! No datapoints configured (in the range 3..12) on the device" << std::endl;
}
std::cout << std::endl;
auto item = baosDevice.getDpConfiguration(100);
if (item.has_value())
{
std::cout << "Datapoint id 100: ";
const DatapointConfig& desc = item.value();
std::cout << toString(desc) << std::endl;
}
else
{
std::cout << "Datapoint id 100: not configured";
}
}
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 SDK function and options.
Global BAOS sdk namespace.
Definition: config.h:69
std::map< std::uint16_t, DatapointConfig > DatapointConfigurations
Definition: BaosDeviceDataTypes.h:212
BAOSLIB_EXPORT void setBaosLogLevel(wz::baos::LogLevel level)