Source code for pycanape.cnp_api.cnp_class

# SPDX-FileCopyrightText: 2022-present Artur Drogunow <artur.drogunow@zf.com>
#
# SPDX-License-Identifier: MIT

import ctypes
from ctypes import wintypes

from . import cnp_constants

enum_type = ctypes.c_uint


[docs] class tAsap3Hdl(ctypes.Structure): """CANaple handle""" _pack_ = 1
TAsap3Hdl = ctypes.POINTER(tAsap3Hdl) TAsap3DiagHdl = ctypes.c_ulong TModulHdl = ctypes.c_ushort TRecorderID = ctypes.POINTER(ctypes.c_ulong) TTime = ctypes.c_ulong TScriptHdl = ctypes.c_ulong TParamTemplateHdl = ctypes.POINTER(ctypes.c_ulong) TParamItemHdl = ctypes.POINTER(ctypes.c_ulong) EVENT_CALLBACK = ctypes.WINFUNCTYPE(ctypes.c_long, TAsap3Hdl, ctypes.c_ulong)
[docs] class TTaskInfo(ctypes.Structure): """ :var ctypes.c_char_p description: description text :var ctypes.c_ushort taskId: The task id is dynamically generated by CANape depending on internal definitions :var ctypes.c_ulong taskCycle: Cycle rate in msec. 0 if not a cyclic task or unknown """ _pack_ = 1 _fields_ = [ ("description", ctypes.c_char_p), ("taskId", ctypes.c_ushort), ("taskCycle", ctypes.c_ulong), ]
[docs] class TTaskInfo2(ctypes.Structure): """ :var ctypes.c_char_p description: description text :var ctypes.c_ushort taskId: The task id is dynamically generated by CANape depending on internal definitions :var ctypes.c_ulong taskCycle: Cycle rate in msec. 0 if not a cyclic task or unknown :var ctypes.c_ulong eventChannel: event channel """ _pack_ = 1 _fields_ = [ ("description", ctypes.c_char_p), ("taskId", ctypes.c_ushort), ("taskCycle", ctypes.c_ulong), ("eventChannel", ctypes.c_ulong), ]
[docs] class s_value(ctypes.Structure): """Scalar variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VALUE` :var ctypes.c_double value: scalar value """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("value", ctypes.c_double), ]
[docs] class s_axis(ctypes.Structure): """Axis variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.AXIS` :var ctypes.c_short dimension: Number of elements :var ctypes.POINTER(ctypes.c_double) axis: array of axis values """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("dimension", ctypes.c_short), ("axis", ctypes.POINTER(ctypes.c_double)), ]
[docs] class s_ascii(ctypes.Structure): """ASCII variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.ASCII` :var ctypes.c_short len: Number of characters :var ctypes.c_char_p ascii: array of characters """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("len", ctypes.c_short), ("ascii", ctypes.c_char_p), ]
[docs] class s_curve(ctypes.Structure): """Curve variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.CURVE` :var ctypes.c_short dimension: Number of elements :var ctypes.POINTER(ctypes.c_double) axis: array of axis coordinates :var ctypes.POINTER(ctypes.c_double) values: array of values """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("dimension", ctypes.c_short), ("axis", ctypes.POINTER(ctypes.c_double)), ("values", ctypes.POINTER(ctypes.c_double)), ]
[docs] class s_map(ctypes.Structure): """Map variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.MAP` :var ctypes.c_short xDimension: x-axis length :var ctypes.c_short yDimension: y-axis length :var ctypes.POINTER(ctypes.c_double) xAxis: array of x-axis coordinates :var ctypes.POINTER(ctypes.c_double) yAxis: array of y-axis coordinates :var ctypes.POINTER(ctypes.c_double) values: array of values """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("xDimension", ctypes.c_short), ("yDimension", ctypes.c_short), ("xAxis", ctypes.POINTER(ctypes.c_double)), ("yAxis", ctypes.POINTER(ctypes.c_double)), ("values", ctypes.POINTER(ctypes.c_double)), ]
[docs] class s_valblk(ctypes.Structure): """Value block variant of :class:`TCalibrationObjectValue`. :var ctypes.c_uint type: must be :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VAL_BLK` :var ctypes.c_short xDimension: x-axis length :var ctypes.c_short yDimension: y-axis length :var ctypes.POINTER(ctypes.c_double) values: array of values """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("xDimension", ctypes.c_short), ("yDimension", ctypes.c_short), ("values", ctypes.POINTER(ctypes.c_double)), ]
[docs] class TCalibrationObjectValue(ctypes.Union): """Union of calibration object variants. :var ctypes.c_uint type: See :class:`~pycanape.cnp_api.cnp_constants.ValueType`. The enum value determines content of :class:`TCalibrationObjectValue` :var s_value value: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VALUE` :var s_axis axis: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.AXIS` :var s_ascii ascii: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.ASCII` :var s_curve curve: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.CURVE` :var s_map map: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.MAP` :var s_valblk valblk: contains the calibration object values if *type* is :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VAL_BLK` """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("value", s_value), ("axis", s_axis), ("ascii", s_ascii), ("curve", s_curve), ("map", s_map), ("valblk", s_valblk), ]
[docs] class DBObjectInfo(ctypes.Structure): """ :var ~pycanape.cnp_api.cnp_constants.ObjectType DBObjecttype: :var ~pycanape.cnp_api.cnp_constants.ValueType type: :var ctypes.c_double min: :var ctypes.c_double max: :var ctypes.c_double minEx: :var ctypes.c_double maxEx: :var ctypes.c_byte precision: :var ctypes.c_char_p unit: """ _pack_ = 1 _fields_ = [ ("DBObjecttype", enum_type), # TObjectType DBObjecttype ("type", enum_type), # TValueType type ("min", ctypes.c_double), ("max", ctypes.c_double), ("minEx", ctypes.c_double), ("maxEx", ctypes.c_double), ("precision", wintypes.BYTE), ("unit", ctypes.c_char * wintypes.MAX_PATH), ]
[docs] class Appversion(ctypes.Structure): """ :var ctypes.c_int MainVersion: :var ctypes.c_int SubVersion: :var ctypes.c_int ServicePack: :var ctypes.c_char_p Application: """ _pack_ = 1 _fields_ = [ ("MainVersion", ctypes.c_int), ("SubVersion", ctypes.c_int), ("ServicePack", ctypes.c_int), ("Application", ctypes.c_char * 30), ]
[docs] class TMeasurementListEntry(ctypes.Structure): """ :var ctypes.c_ushort taskId: :var ctypes.c_ulong rate: :var ctypes.c_long SaveFlag: :var ctypes.c_long Disabled: :var ctypes.c_char_p ObjectName: """ _pack_ = 1 _fields_ = [ ("taskId", ctypes.c_ushort), ("rate", ctypes.c_ulong), ("SaveFlag", wintypes.BOOL), ("Disabled", wintypes.BOOL), ("ObjectName", ctypes.c_char_p), ]
[docs] class MeasurementListEntries(ctypes.Structure): """ :var ctypes.c_uint ItemCount: number of entries :var ctypes.POINTER(ctypes.POINTER(TMeasurementListEntry))) Entries: Pointer to an array of measurement list entries """ _pack_ = 1 _fields_ = [ ("ItemCount", ctypes.c_uint), ("Entries", ctypes.POINTER(ctypes.POINTER(TMeasurementListEntry))), ]
[docs] class version_t(ctypes.Structure): """ :var ctypes.c_int dllMainVersion: :var ctypes.c_int dllSubVersion: :var ctypes.c_int dllRelease: :var ctypes.c_char_p osVersion: :var ctypes.c_int osRelease: """ _pack_ = 1 _fields_ = [ ("dllMainVersion", ctypes.c_int), ("dllSubVersion", ctypes.c_int), ("dllRelease", ctypes.c_int), ("osVersion", ctypes.c_char * cnp_constants.MAX_OS_VERSION), ("osRelease", ctypes.c_int), ]
[docs] class DBFileInfo(ctypes.Structure): """ :var ctypes.c_char_p asap2Fname: :var ctypes.c_char_p asap2Path: :var ~pycanape.cnp_api.cnp_constants.DBFileType type: """ _pack_ = 1 _fields_ = [ ("asap2Fname", ctypes.c_char * wintypes.MAX_PATH), ("asap2Path", ctypes.c_char * wintypes.MAX_PATH), ("type", wintypes.BYTE), ]
[docs] class TSettingsValue(ctypes.Union): """ :var ctypes.c_int64 IVal: :var ctypes.c_uint64 UIVal: :var ctypes.c_double DVal: :var ctypes.c_char_p STRVal: """ _fields_ = [ ("IVal", ctypes.c_int64), ("UIVal", ctypes.c_uint64), ("DVal", ctypes.c_double), ("STRVal", ctypes.c_char * 512), ]
[docs] class TSettingsParam(ctypes.Structure): """ :var ~pycanape.cnp_api.cnp_constants.TSettingsParameterType type: Parameter type :var ctypes.c_uint size: Parameter size :var ctypes.c_int64 IVal: corresponding union parameter for type ParamSigned :var ctypes.c_uint64 UIVal: corresponding union parameter for type ParamUnsigned :var ctypes.c_double DVal: corresponding union parameter for type ParamDouble :var ctypes.c_char_p STRVal: corresponding union parameter for type ParamChar """ _pack_ = 1 _anonymous_ = ["settings_value"] _fields_ = [ ("type", enum_type), ("size", ctypes.c_uint), ("settings_value", TSettingsValue), ]
[docs] class TPhysInterface(ctypes.Structure): _pack_ = 1 _fields = [ ("m_CanapPhysInterfaceName", ctypes.c_char_p), ("m_CanapPhysDeviceName", ctypes.c_char_p), ]
[docs] class PValues(ctypes.Union): _fields_ = [ ("IVal", ctypes.c_int64), ("UIVal", ctypes.c_uint64), ("FVal", ctypes.c_float), ("DVal", ctypes.c_double), ]
[docs] class DiagNumericParameter(ctypes.Structure): _pack_ = 1 _anonymous_ = ["_values"] _fields = [ ("DiagNumeric", enum_type), ("_values", PValues), ("Values", PValues), ]
[docs] class DiagJobResponse(ctypes.Structure): _pack_ = 1 _fields = [ ("job_responsestring", ctypes.c_char_p), ("job_responseValue", ctypes.c_double), ]
[docs] class DiagNotificationStruct(ctypes.Structure): _pack_ = 1 _fields = [ ("DiagHandle", TAsap3DiagHdl), ("DiagState", enum_type), ("PrivateData", ctypes.c_void_p), ]
FNCDIAGNOFIFICATION = ctypes.WINFUNCTYPE( ctypes.c_long, ctypes.c_ulong, ctypes.POINTER(DiagNotificationStruct) )
[docs] class TLayoutCoeffs(ctypes.Structure): _pack_ = 1 _fields = [ ("OffNx", ctypes.c_short), ("OffNy", ctypes.c_short), ("OffX", ctypes.c_short), ("FakX", ctypes.c_short), ("OffY", ctypes.c_short), ("FakY", ctypes.c_short), ("OffW", ctypes.c_short), ("FakWx", ctypes.c_short), ("FakWy", ctypes.c_short), ]
[docs] class s_value_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("value", ctypes.c_double), ]
[docs] class s_axis_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("dimension", ctypes.c_short), ("pAxis", ctypes.POINTER(ctypes.c_double)), ("oAxis", ctypes.c_ulong), ]
[docs] class s_ascii_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("len", ctypes.c_short), ("pAscii", ctypes.c_char_p), ("oAscii", ctypes.c_ulong), ]
[docs] class s_curve_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("dimension", ctypes.c_short), ("pAxis", ctypes.POINTER(ctypes.c_double)), ("oAxis", ctypes.c_ulong), ("pValues", ctypes.POINTER(ctypes.c_double)), ("oValues", ctypes.c_ulong), ]
[docs] class s_map_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("xDimension", ctypes.c_short), ("yDimension", ctypes.c_short), ("pXAxis", ctypes.POINTER(ctypes.c_double)), ("oXAxis", ctypes.c_ulong), ("pYAxis", ctypes.POINTER(ctypes.c_double)), ("oYAxis", ctypes.c_ulong), ("pValues", ctypes.POINTER(ctypes.c_double)), ("oValues", ctypes.c_ulong), ]
[docs] class s_valblk_ex(ctypes.Structure): _pack_ = 1 _fields_ = [ ("type", enum_type), ("xDimension", ctypes.c_short), ("yDimension", ctypes.c_short), ("values", ctypes.POINTER(ctypes.c_double)), ("oValues", ctypes.c_ulong), ]
[docs] class TCalibrationObjectValueEx(ctypes.Union): """Union of calibration object variants. # :var ctypes.c_uint type: # See :class:`~pycanape.cnp_api.cnp_constants.ValueType`. # The enum value determines content of :class:`TCalibrationObjectValueEx` # :var s_value_ex value: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VALUE` # :var s_axis_ex axis: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.AXIS` # :var s_ascii_ex ascii: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.ASCII` # :var s_curve_ex curve: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.CURVE` # :var s_map_ex map: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.MAP` # :var s_valblk_ex valblk: # contains the calibration object values if *type* is # :obj:`~pycanape.cnp_api.cnp_constants.ValueType.VAL_BLK` """ _pack_ = 1 _fields_ = [ ("type", enum_type), ("value", s_value_ex), ("axis", s_axis_ex), ("ascii", s_ascii_ex), ("curve", s_curve_ex), ("map", s_map_ex), ("valblk", s_valblk_ex), ]
[docs] class TCANapeModes(ctypes.Structure): _pack_ = 1 _fields_ = [ ("modes", ctypes.c_uint), ("reserved1", ctypes.c_uint), ("reserved2", ctypes.c_uint), ]
[docs] class TSampleObject(ctypes.Structure): _pack_ = 1 _fields_ = [ ("countOfEntires", ctypes.c_long), ("timestamp", TTime), ("data", ctypes.POINTER(ctypes.c_double)), ]
[docs] class TSampleBlockObject(ctypes.Structure): _pack_ = 1 _fields_ = [ ("has_buffer_Overrun", wintypes.BOOL), ("has_Error", ctypes.c_long), ("initialized", wintypes.BOOL), ("countofValidEntries", ctypes.c_long), ("countofInitilizedEntries", ctypes.c_long), ("tSample", ctypes.POINTER(ctypes.POINTER(TSampleObject))), ]
[docs] class TFifoSize(ctypes.Structure): _pack_ = 1 _fields_ = [ ("module", TModulHdl), ("taskId", ctypes.c_ushort), ("noSamples", ctypes.c_ushort), ]
[docs] class TApplicationID(ctypes.Structure): _pack_ = 1 _fields_ = [ ("tApplicationType", enum_type), ("taskId", ctypes.c_char * wintypes.MAX_PATH), ]
[docs] class TConverterInfo(ctypes.Structure): _pack_ = 1 _fields_ = [ ("Comment", ctypes.c_char * wintypes.MAX_PATH), ("Name", ctypes.c_char * wintypes.MAX_PATH), ("ID", ctypes.c_char * wintypes.MAX_PATH), ]
[docs] class SecProfileEntry(ctypes.Structure): _pack_ = 1 _fields_ = [ ("mId", ctypes.c_uint), ("mName", ctypes.c_char * wintypes.MAX_PATH), ("mDescription", ctypes.c_char * wintypes.MAX_PATH), ]