Files
opendaq-example-function-block/example_application/main.cpp
2026-02-24 13:03:18 +01:00

39 lines
1.0 KiB
C++

/**
* Server application
*/
#include <iostream>
#include <opendaq/opendaq.h>
using namespace std::literals::chrono_literals;
using namespace daq;
int main(int /*argc*/, const char* /*argv*/[])
{
const InstancePtr instance = InstanceBuilder().addModulePath(MODULE_PATH).build();
DevicePtr device = instance.addDevice("daqref://device0");
ChannelPtr channel = device.getChannels()[0];
SignalPtr signal = channel.getSignals()[0];
FunctionBlockPtr renderer = instance.addFunctionBlock("RefFBModuleRenderer");
FunctionBlockPtr module = instance.addFunctionBlock("ExampleIIRFilter");
module.setPropertyValue("CutoffFrequency", 10);
module.getInputPorts()[0].connect(signal);
renderer.getInputPorts()[0].connect(signal);
renderer.getInputPorts()[1].connect(module.getSignals()[0]);
// Set the frequency to 5 Hz
channel.setPropertyValue("Frequency", 5);
// Set the noise amplitude to 0.75
channel.setPropertyValue("NoiseAmplitude", 0.75);
std::this_thread::sleep_for(5s);
return 0;
}