SciSDK Library
SDK for SciCompiler projects
Loading...
Searching...
No Matches
DT5560 / R5560SE Board Driver

Requires device system update newer than 2024.4.10.1

This two boards have a versatile analog front-end with 32 channels (or 32 channels per DAQ). Each Front-End has configurable gain, offset, impedance, input division and coupling

SciSDK allows to configure the front end of the board from code in a very simple way.

The board expose a node in the device tree called boardapi/analog that allows to configure the front end of the board.

Pleas remember that the board has a 32 channels front end, but some of the parameters are shared between channels. In the table below you can see the group size column that indicates how many channels share the same parameter.

Parameter Description Valid Values Grouped Channels Default Value Example node
gain Gain of the front end 0, 1, ... 99 2 0dB (1V/V) board0:/boardapi/analog/CH0_1.gain
50r Impedance of the front end true, false 2 false board0:/boardapi/analog/CH0_1.50r
div Division by five true, false 2 false board0:/boardapi/analog/CH0_1.div
offset Offset of the front end -32768, ... 32767 1 0 board0:/boardapi/analog/CH0.offset
shaper Coupling of the front end dc 1us 10us 30us 32 dc board0:/boardapi/analog.shaper

How to use the boardapi/analog node

The nodes with group size 1 are the ones that are unique for each channel. In order to access to channel CH you have to access to the node board0:/boardapi/analog/CHx where x is the number of the channel. For example to access to the offset of channel 3 you have to access to the node board0:/boardapi/analog/CH3.offset

channels with group size 2 groups adjacent channels. In order to access to channel CH you have to access to the node board0:/boardapi/analog/CHx_x+1 where x is the number of the channel. For example to access to the gain of channel 3 and 4 you have to access to the node board0:/boardapi/analog/CH3_4.gain

The shaper is common for all channels. In order to access to the shaper you have to access to the node board0:/boardapi/analog.shaper

Applying the configuration

Once you have set the parameters you have to execute the command board0:/boardapi/configure to apply the configuration.

Example

Configure a single channels

C/C++

int op_res=0;
op_res |= SCISDK_SetParameterInteger("board0:/boardapi/analog/CH0_1.gain", 5, _sdk);
op_res |= SCISDK_SetParameterString("board0:/boardapi/analog/CH0_1.50r", "true", _sdk);
op_res |= SCISDK_SetParameterString("board0:/boardapi/analog/CH0_1.div", "true", _sdk);
op_res |= SCISDK_SetParameterInteger("board0:/boardapi/analog/CH0.offset", 100, _sdk);
op_res |= SCISDK_SetParameterString("board0:/boardapi/analog.shaper", "dc", _sdk);
op_res |= SCISDK_ExecuteCommand("board0:/boardapi/configure", "", _sdk);
SCISDK_DLL_API int SCISDK_SetParameterString(char *Path, char *value, void *handle)
Set the value of a parameter for the specific SciCompiler Memory Mapped Component or route the value ...
SCISDK_DLL_API int SCISDK_SetParameterInteger(char *Path, int value, void *handle)
Set the value of a parameter for the specific SciCompiler Memory Mapped Component or route the value ...
SCISDK_DLL_API int SCISDK_ExecuteCommand(char *Path, char *value, void *handle)
Execute a command for the specific Memory Mapped Component device driver/endpoint....

Python

sdk.SetParameter("board0:/boardapi/analog/CH0_1.gain", 5)
sdk.SetParameter("board0:/boardapi/analog/CH0_1.50r", "true",)
sdk.SetParameter("board0:/boardapi/analog/CH0_1.div", "true")
sdk.SetParameter("board0:/boardapi/analog/CH0.offset", 100)
sdk.SetParameter("board0:/boardapi/analog.shaper", "dc")
sdk.ExecuteCommand("board0:/boardapi/configure", "")

Configure all channels of the board

C/C++

int op_res=0;
for (int i = 0; i < 16; i++) {
string ch = "board0:/boardapi/analog/CH" + to_string(i * 2) + "_" + to_string(i * 2 + 1) + ".gain";
op_res |= SCISDK_SetParameterInteger((char*)ch.c_str(), 0, _sdk);
ch = "board0:/boardapi/analog/CH" + to_string(i * 2) + "_" + to_string(i * 2 + 1) + ".50r";
op_res |= SCISDK_SetParameterString((char*)ch.c_str(), "true", _sdk);
ch = "board0:/boardapi/analog/CH" + to_string(i * 2) + "_" + to_string(i * 2 + 1) + ".div";
op_res |= SCISDK_SetParameterString((char*)ch.c_str(), "true", _sdk);
}
for (int i = 0; i < 32; i++) {
string ch = "board0:/boardapi/analog/CH" + to_string(i) + ".offset";
op_res |= SCISDK_SetParameterInteger((char*)ch.c_str(), 0, _sdk);
}
op_res |= SCISDK_SetParameterString("board0:/boardapi/analog.shaper", "dc", _sdk);
op_res |= SCISDK_ExecuteCommand("board0:/boardapi/configure", "", _sdk);