py-neuromodulation 0.0.3__py3-none-any.whl → 0.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. py_neuromodulation/ConnectivityDecoding/Automated Anatomical Labeling 3 (Rolls 2020).nii +0 -0
  2. py_neuromodulation/ConnectivityDecoding/_get_grid_hull.m +34 -0
  3. py_neuromodulation/ConnectivityDecoding/_get_grid_whole_brain.py +106 -0
  4. py_neuromodulation/ConnectivityDecoding/_helper_write_connectome.py +119 -0
  5. py_neuromodulation/ConnectivityDecoding/mni_coords_cortical_surface.mat +0 -0
  6. py_neuromodulation/ConnectivityDecoding/mni_coords_whole_brain.mat +0 -0
  7. py_neuromodulation/ConnectivityDecoding/rmap_func_all.nii +0 -0
  8. py_neuromodulation/ConnectivityDecoding/rmap_struc.nii +0 -0
  9. py_neuromodulation/data/README +6 -0
  10. py_neuromodulation/data/dataset_description.json +8 -0
  11. py_neuromodulation/data/participants.json +32 -0
  12. py_neuromodulation/data/participants.tsv +2 -0
  13. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_coordsystem.json +5 -0
  14. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_electrodes.tsv +11 -0
  15. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_channels.tsv +11 -0
  16. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg +0 -0
  17. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.json +18 -0
  18. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr +35 -0
  19. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk +13 -0
  20. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/sub-testsub_ses-EphysMedOff_scans.tsv +2 -0
  21. py_neuromodulation/grid_cortex.tsv +40 -0
  22. py_neuromodulation/grid_subcortex.tsv +1429 -0
  23. py_neuromodulation/nm_settings.json +338 -0
  24. py_neuromodulation/nm_stream_offline.py +7 -6
  25. py_neuromodulation/plots/STN_surf.mat +0 -0
  26. py_neuromodulation/plots/Vertices.mat +0 -0
  27. py_neuromodulation/plots/faces.mat +0 -0
  28. py_neuromodulation/plots/grid.mat +0 -0
  29. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.4.dist-info}/METADATA +182 -182
  30. py_neuromodulation-0.0.4.dist-info/RECORD +72 -0
  31. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.4.dist-info}/WHEEL +1 -2
  32. docs/build/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -68
  33. docs/build/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -233
  34. docs/build/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  35. docs/build/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -97
  36. docs/build/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  37. docs/build/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -192
  38. docs/build/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  39. docs/build/html/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -68
  40. docs/build/html/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -239
  41. docs/build/html/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  42. docs/build/html/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -97
  43. docs/build/html/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  44. docs/build/html/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -192
  45. docs/build/html/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  46. docs/source/_build/html/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -76
  47. docs/source/_build/html/_downloads/0d0d0a76e8f648d5d3cbc47da6351932/plot_real_time_demo.py +0 -97
  48. docs/source/_build/html/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -240
  49. docs/source/_build/html/_downloads/5d73cadc59a8805c47e3b84063afc157/plot_example_BIDS.py +0 -233
  50. docs/source/_build/html/_downloads/7660317fa5a6bfbd12fcca9961457fc4/plot_example_rmap_computing.py +0 -63
  51. docs/source/_build/html/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  52. docs/source/_build/html/_downloads/839e5b319379f7fd9e867deb00fd797f/plot_example_gridPointProjection.py +0 -210
  53. docs/source/_build/html/_downloads/ae8be19afe5e559f011fc9b138968ba0/plot_first_demo.py +0 -192
  54. docs/source/_build/html/_downloads/b8b06cacc17969d3725a0b6f1d7741c5/plot_example_sharpwave_analysis.py +0 -219
  55. docs/source/_build/html/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -121
  56. docs/source/_build/html/_downloads/c31a86c0b68cb4167d968091ace8080d/plot_example_add_feature.py +0 -68
  57. docs/source/_build/html/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  58. docs/source/_build/html/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -189
  59. docs/source/_build/html/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  60. docs/source/auto_examples/plot_0_first_demo.py +0 -189
  61. docs/source/auto_examples/plot_1_example_BIDS.py +0 -240
  62. docs/source/auto_examples/plot_2_example_add_feature.py +0 -76
  63. docs/source/auto_examples/plot_3_example_sharpwave_analysis.py +0 -219
  64. docs/source/auto_examples/plot_4_example_gridPointProjection.py +0 -210
  65. docs/source/auto_examples/plot_5_example_rmap_computing.py +0 -64
  66. docs/source/auto_examples/plot_6_real_time_demo.py +0 -121
  67. docs/source/conf.py +0 -105
  68. examples/plot_0_first_demo.py +0 -189
  69. examples/plot_1_example_BIDS.py +0 -240
  70. examples/plot_2_example_add_feature.py +0 -76
  71. examples/plot_3_example_sharpwave_analysis.py +0 -219
  72. examples/plot_4_example_gridPointProjection.py +0 -210
  73. examples/plot_5_example_rmap_computing.py +0 -64
  74. examples/plot_6_real_time_demo.py +0 -121
  75. packages/realtime_decoding/build/lib/realtime_decoding/__init__.py +0 -4
  76. packages/realtime_decoding/build/lib/realtime_decoding/decoder.py +0 -104
  77. packages/realtime_decoding/build/lib/realtime_decoding/features.py +0 -163
  78. packages/realtime_decoding/build/lib/realtime_decoding/helpers.py +0 -15
  79. packages/realtime_decoding/build/lib/realtime_decoding/run_decoding.py +0 -345
  80. packages/realtime_decoding/build/lib/realtime_decoding/trainer.py +0 -54
  81. packages/tmsi/build/lib/TMSiFileFormats/__init__.py +0 -37
  82. packages/tmsi/build/lib/TMSiFileFormats/file_formats/__init__.py +0 -36
  83. packages/tmsi/build/lib/TMSiFileFormats/file_formats/lsl_stream_writer.py +0 -200
  84. packages/tmsi/build/lib/TMSiFileFormats/file_formats/poly5_file_writer.py +0 -496
  85. packages/tmsi/build/lib/TMSiFileFormats/file_formats/poly5_to_edf_converter.py +0 -236
  86. packages/tmsi/build/lib/TMSiFileFormats/file_formats/xdf_file_writer.py +0 -977
  87. packages/tmsi/build/lib/TMSiFileFormats/file_readers/__init__.py +0 -35
  88. packages/tmsi/build/lib/TMSiFileFormats/file_readers/edf_reader.py +0 -116
  89. packages/tmsi/build/lib/TMSiFileFormats/file_readers/poly5reader.py +0 -294
  90. packages/tmsi/build/lib/TMSiFileFormats/file_readers/xdf_reader.py +0 -229
  91. packages/tmsi/build/lib/TMSiFileFormats/file_writer.py +0 -102
  92. packages/tmsi/build/lib/TMSiPlotters/__init__.py +0 -2
  93. packages/tmsi/build/lib/TMSiPlotters/gui/__init__.py +0 -39
  94. packages/tmsi/build/lib/TMSiPlotters/gui/_plotter_gui.py +0 -234
  95. packages/tmsi/build/lib/TMSiPlotters/gui/plotting_gui.py +0 -440
  96. packages/tmsi/build/lib/TMSiPlotters/plotters/__init__.py +0 -44
  97. packages/tmsi/build/lib/TMSiPlotters/plotters/hd_emg_plotter.py +0 -446
  98. packages/tmsi/build/lib/TMSiPlotters/plotters/impedance_plotter.py +0 -589
  99. packages/tmsi/build/lib/TMSiPlotters/plotters/signal_plotter.py +0 -1326
  100. packages/tmsi/build/lib/TMSiSDK/__init__.py +0 -54
  101. packages/tmsi/build/lib/TMSiSDK/device.py +0 -588
  102. packages/tmsi/build/lib/TMSiSDK/devices/__init__.py +0 -34
  103. packages/tmsi/build/lib/TMSiSDK/devices/saga/TMSi_Device_API.py +0 -1764
  104. packages/tmsi/build/lib/TMSiSDK/devices/saga/__init__.py +0 -34
  105. packages/tmsi/build/lib/TMSiSDK/devices/saga/saga_device.py +0 -1366
  106. packages/tmsi/build/lib/TMSiSDK/devices/saga/saga_types.py +0 -520
  107. packages/tmsi/build/lib/TMSiSDK/devices/saga/xml_saga_config.py +0 -165
  108. packages/tmsi/build/lib/TMSiSDK/error.py +0 -95
  109. packages/tmsi/build/lib/TMSiSDK/sample_data.py +0 -63
  110. packages/tmsi/build/lib/TMSiSDK/sample_data_server.py +0 -99
  111. packages/tmsi/build/lib/TMSiSDK/settings.py +0 -45
  112. packages/tmsi/build/lib/TMSiSDK/tmsi_device.py +0 -111
  113. packages/tmsi/build/lib/__init__.py +0 -4
  114. packages/tmsi/build/lib/apex_sdk/__init__.py +0 -34
  115. packages/tmsi/build/lib/apex_sdk/device/__init__.py +0 -41
  116. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API.py +0 -1009
  117. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API_enums.py +0 -239
  118. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API_structures.py +0 -668
  119. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_device.py +0 -1611
  120. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_dongle.py +0 -38
  121. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_event_reader.py +0 -57
  122. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_channel.py +0 -44
  123. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_config.py +0 -150
  124. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_const.py +0 -36
  125. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_impedance_channel.py +0 -48
  126. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_info.py +0 -108
  127. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/dongle_info.py +0 -39
  128. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/download_measurement.py +0 -77
  129. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/eeg_measurement.py +0 -150
  130. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/impedance_measurement.py +0 -129
  131. packages/tmsi/build/lib/apex_sdk/device/threads/conversion_thread.py +0 -59
  132. packages/tmsi/build/lib/apex_sdk/device/threads/sampling_thread.py +0 -57
  133. packages/tmsi/build/lib/apex_sdk/device/tmsi_channel.py +0 -83
  134. packages/tmsi/build/lib/apex_sdk/device/tmsi_device.py +0 -201
  135. packages/tmsi/build/lib/apex_sdk/device/tmsi_device_enums.py +0 -103
  136. packages/tmsi/build/lib/apex_sdk/device/tmsi_dongle.py +0 -43
  137. packages/tmsi/build/lib/apex_sdk/device/tmsi_event_reader.py +0 -50
  138. packages/tmsi/build/lib/apex_sdk/device/tmsi_measurement.py +0 -118
  139. packages/tmsi/build/lib/apex_sdk/sample_data_server/__init__.py +0 -33
  140. packages/tmsi/build/lib/apex_sdk/sample_data_server/event_data.py +0 -44
  141. packages/tmsi/build/lib/apex_sdk/sample_data_server/sample_data.py +0 -50
  142. packages/tmsi/build/lib/apex_sdk/sample_data_server/sample_data_server.py +0 -136
  143. packages/tmsi/build/lib/apex_sdk/tmsi_errors/error.py +0 -126
  144. packages/tmsi/build/lib/apex_sdk/tmsi_sdk.py +0 -113
  145. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/apex/apex_structure_generator.py +0 -134
  146. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/decorators.py +0 -60
  147. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/logger_filter.py +0 -42
  148. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/singleton.py +0 -42
  149. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/support_functions.py +0 -72
  150. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/tmsi_logger.py +0 -98
  151. py_neuromodulation-0.0.3.dist-info/RECORD +0 -188
  152. py_neuromodulation-0.0.3.dist-info/top_level.txt +0 -5
  153. tests/__init__.py +0 -0
  154. tests/conftest.py +0 -117
  155. tests/test_all_examples.py +0 -10
  156. tests/test_all_features.py +0 -63
  157. tests/test_bispectra.py +0 -70
  158. tests/test_bursts.py +0 -105
  159. tests/test_feature_sampling_rates.py +0 -143
  160. tests/test_fooof.py +0 -16
  161. tests/test_initalization_offline_stream.py +0 -41
  162. tests/test_multiprocessing.py +0 -58
  163. tests/test_nan_values.py +0 -29
  164. tests/test_nm_filter.py +0 -95
  165. tests/test_nm_resample.py +0 -63
  166. tests/test_normalization_settings.py +0 -146
  167. tests/test_notch_filter.py +0 -31
  168. tests/test_osc_features.py +0 -424
  169. tests/test_preprocessing_filter.py +0 -151
  170. tests/test_rereference.py +0 -171
  171. tests/test_sampling.py +0 -57
  172. tests/test_settings_change_after_init.py +0 -76
  173. tests/test_sharpwave.py +0 -165
  174. tests/test_target_channel_add.py +0 -100
  175. tests/test_timing.py +0 -80
  176. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.4.dist-info/licenses}/LICENSE +0 -0
@@ -1,1764 +0,0 @@
1
- """
2
- (c) 2022 Twente Medical Systems International B.V., Oldenzaal The Netherlands
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
-
16
- ####### # # ##### #
17
- # ## ## #
18
- # # # # # # #
19
- # # # # ##### #
20
- # # # # #
21
- # # # # #
22
- # # # ##### #
23
-
24
- /**
25
- * @file ${TMSi_Device_API.py}
26
- * @brief SAGA Device API protocol definitions VERSION 1.4
27
- *
28
- */
29
-
30
-
31
- """
32
-
33
- from ctypes import *
34
- from sys import platform
35
- import os
36
- import pdb
37
- from array import *
38
- from ...error import TMSiError, TMSiErrorCode
39
-
40
- from enum import Enum, unique
41
-
42
- TMSiDeviceRetVal = c_uint
43
-
44
- DeviceHandle = c_void_p
45
- TMSiDeviceHandle = DeviceHandle(0)
46
- SagaDllAvailable = False
47
- SagaDllLocked = True
48
-
49
-
50
- if platform == "linux" or platform == "linux2":
51
-
52
- so_name = "libTMSiSagaDeviceLib.so"
53
- soabspath = os.path.sep + os.path.join("usr", "lib", so_name)
54
- dlclose_func = cdll.LoadLibrary("").dlclose
55
- dlclose_func.argtypes = [c_void_p]
56
-
57
- try:
58
- CDLL("librt.so.1", RTLD_GLOBAL)
59
- SagaSDK = CDLL(soabspath, RTLD_GLOBAL)
60
- sdk_handle = SagaSDK._handle
61
- print(
62
- "Successfully loaded SAGA device library, handle: "
63
- + hex(sdk_handle)
64
- )
65
- except Exception as e:
66
- print(e)
67
- elif platform == "win32": # Windows
68
- search_path = "C:/Program files/TMSi/Saga"
69
- name = "TMSiSagaDeviceLib.dll"
70
- result = os.path.join(search_path, name)
71
- so_name = os.path.abspath(result)
72
- if os.path.exists(so_name):
73
- print("{} available.".format(so_name))
74
- SagaDllAvailable = True
75
- try:
76
- SagaSDK = CDLL(so_name)
77
- SagaDllLocked = False
78
- sdk_handle = SagaSDK._handle
79
- print(
80
- "Successfully loaded SAGA device library, handle: "
81
- + hex(sdk_handle)
82
- )
83
- except Exception as e:
84
- if SagaDllAvailable:
85
- print("{} already in use.".format(so_name))
86
- else:
87
- print("Unsupported platform")
88
-
89
- # ---------------------------------------------------------------------
90
-
91
- # Error codes
92
-
93
- # ---
94
- # 0x01xxxxxx = FE API related, 0x02xxxxxx is reserved for USER API
95
- # Error codes are categorized as:
96
- # 0x0101xxxx # Gen. System status
97
- # 0x0102xxxx # Hardware related status
98
- # 0x0103xxxx # Firmware related status
99
- # ---
100
-
101
- # ---
102
- # Defined status codes are:
103
- # Generic Device status codes for the DR 0x0101xxxx
104
- # Generic Device status codes for the DS 0x0201xxxx
105
- #
106
- # Hardware specific status codes for the DR 0x0102xxxx
107
- # Hardware specific status codes for the DS 0x0202xxxx
108
- #
109
- # Firmware specific status codes for the DR 0x0103xxxx
110
- # Firmware specific status codes for the DS 0x0203xxxx
111
- #
112
- # ---
113
- # Each DLL API function on the TMSi Device API has a return value TMSiDeviceRetVal.
114
- @unique
115
- class TMSiDeviceRetVal(Enum):
116
- TMSI_OK = 0x00000000 # All Ok positive ACK.
117
- TMSI_DR_CHECKSUM_ERROR = (
118
- 0x01010001 # DR reported "Checksum error in received block".
119
- )
120
- TMSI_DS_CHECKSUM_ERROR = (
121
- 0x02010001 # DS reported "Checksum error in received block".
122
- )
123
- TMSI_DR_UNKNOWN_COMMAND = 0x01010002 # DR reported "Unknown command".
124
- TMSI_DS_UNKNOWN_COMMAND = 0x02010002 # DS reported "Unknown command".
125
- TMSI_DR_RESPONSE_TIMEMOUT = 0x01010003 # DR reported "Response timeout".
126
- TMSI_DS_RESPONSE_TIMEMOUT = 0x02010003 # DS reported "Response timeout".
127
- TMSI_DR_DEVICE_BUSY = (
128
- 0x01010004 # DR reported "Device busy try again in x msec".
129
- )
130
- TMSI_DS_DEVICE_BUSY = (
131
- 0x02010004 # DS reported "Device busy try again in x msec".
132
- )
133
- TMSI_DR_COMMAND_NOT_SUPPORTED = 0x01010005 # DR reported "Command not supported over current interface".
134
- TMSI_DS_COMMAND_NOT_SUPPORTED = 0x02010005 # DS reported "Command not supported over current interface".
135
- TMSI_DR_COMMAND_NOT_POSSIBLE = (
136
- 0x01010006 # DR reported "Command not possible, device is recording".
137
- )
138
- TMSI_DR_DEVICE_NOT_AVAILABLE = (
139
- 0x01010007 # DR reported "Device not available".
140
- )
141
- TMSI_DS_DEVICE_NOT_AVAILABLE = (
142
- 0x02010007 # DS reported "Device not available".
143
- )
144
- TMSI_DS_INTERFACE_NOT_AVAILABLE = (
145
- 0x02010008 # DS reported "Interface not available".
146
- )
147
- TMSI_DS_COMMAND_NOT_ALLOWED = (
148
- 0x02010009 # DS reported "Command not allowed in current mode".
149
- )
150
- TMSI_DS_PROCESSING_ERROR = 0x0201000A # DS reported "Processing error".
151
- TMSI_DS_UNKNOWN_INTERNAL_ERROR = (
152
- 0x0201000B # DS reported "Unknown internal error".
153
- )
154
- TMSI_DR_COMMAND_NOT_SUPPORTED_BY_CHANNEL = (
155
- 0x01030001 # DR reported "Command not supported by Channel".
156
- )
157
- TMSI_DR_AMBREC_ILLEGAL_START_CTRL = 0x01030002 # DR reported "Illegal start control for ambulant recording".
158
-
159
- # Additional defines below for DS error types.
160
- TMSI_DS_PACKET_LENGTH_ERROR = 0x0201000C # DS reports that data request does not fit with one Device Api Packet
161
- TMSI_DS_DEVICE_ALREADY_OPEN = (
162
- 0x0201000D # DS reports that DR is already opened.
163
- )
164
-
165
- # Additional defines below for DLL error types.
166
- TMSI_DLL_NOT_IMPLEMENTED = (
167
- 0x03001000 # DLL Function is declared, but not yet implemented
168
- )
169
- TMSI_DLL_INVALID_PARAM = (
170
- 0x03001001 # DLL Function called with invalid parameters
171
- )
172
- TMSI_DLL_CHECKSUM_ERROR = 0x03001002
173
- TMSI_DLL_ETH_HEADER_ERROR = 0x03001003
174
- TMSI_DLL_INTERNAL_ERROR = (
175
- 0x03001004 # DLL Function failed because an underlying process failed
176
- )
177
- TMSI_DLL_BUFFER_ERROR = (
178
- 0x03001005 # DLL Function called with a too small buffer
179
- )
180
- TMSI_DLL_INVALID_HANDLE = 0x03001006 # DLL Function called with a Handle that's not assigned to a device
181
- TMSI_DLL_INTF_OPEN_ERROR = 0x03002000
182
- TMSI_DLL_INTF_CLOSE_ERROR = 0x03002001
183
- TMSI_DLL_INTF_SEND_ERROR = 0x03002002
184
- TMSI_DLL_INTF_RECV_ERROR = 0x03002003
185
- TMSI_DLL_INTF_RECV_TIMEOUT = 0x03002004
186
- TMSI_DLL_LOST_CONNECTION = (
187
- 0x03002005 # Lost connection to DS, USB / Ethernet disconnect.
188
- )
189
-
190
-
191
- # Communication interface used
192
- # 0 = Unknown, 1=USB 2=Nework, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
193
- @unique
194
- class TMSiInterface(Enum):
195
- IF_TYPE_UNKNOWN = 0
196
- IF_TYPE_USB = 1
197
- IF_TYPE_NETWORK = 2
198
- IF_TYPE_WIFI = 3
199
- IF_TYPE_ELECTRICAL = 4
200
- IF_TYPE_OPTICAL = 5
201
- IF_TYPE_BLUETOOTH = 6
202
-
203
-
204
- # Protocol block definitions
205
-
206
- # ---
207
- # TMSiDevList
208
- # ---
209
- class TMSiDevList(Structure):
210
- _pack_ = 2
211
- _fields_ = [
212
- (
213
- "TMSiDeviceID",
214
- c_ushort,
215
- ), # Unique ID to identify device, used to open device.
216
- ("DSSerialNr", c_uint), # The DS serial number.
217
- ("DRAvailable", c_ushort), # defined as 0 = DR_Offline, 1 = DR_Online
218
- ("DRSerialNr", c_uint), # The DR serial number.
219
- ]
220
-
221
-
222
- # ---
223
- # TMSiDevStatReport
224
- # ---
225
- class TMSiDevStatReport(Structure):
226
- _pack_ = 2
227
- _fields_ = [
228
- ("DSSerialNr", c_uint), # The DS serial number.
229
- ("DRSerialNr", c_uint), # The DR serial number.
230
- (
231
- "DSInterface",
232
- c_ushort,
233
- ), # Communication interface on DS used, 0 = Unknown, 1=USB, 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
234
- (
235
- "DRInterface",
236
- c_ushort,
237
- ), # Communication interface on DR used, 0 = Unknown, 1=USB 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
238
- (
239
- "DSDevAPIVersion",
240
- c_ushort,
241
- ), # Current Device-API version used by DS, V00.00
242
- ("DRAvailable", c_ushort), # defined as 0 = FE_Offline, 1 = FE_Online
243
- (
244
- "NrOfBatteries",
245
- c_ushort,
246
- ), # Nr of batteries, indicates nr of TMSiBatReport.
247
- ("NrOfChannels", c_ushort), # Total number of channels for the device.
248
- ]
249
-
250
-
251
- # ---
252
- # TMSiDevFullStatReport
253
- # ---
254
- class TMSiDevFullStatReport(Structure):
255
- _pack_ = 2
256
- _fields_ = [
257
- ("DSSerialNr", c_uint), # The DS serial number.
258
- ("DRSerialNr", c_uint), # The DR serial number.
259
- ("DRWiFiPaired", c_uint), # The serial number of paired DR over WiFi.
260
- ("KeepAliveTimeout", c_short), # DR Idle powerdown in sec. -1 disabled.
261
- ("PowerState", c_ushort), # 0 = Unknown, 1 = External, 2 = Battery.
262
- ("DSTemp", c_short), # DS temperature in degree Celsius.
263
- ("DRTemp", c_short), # DR temperature in degree Celsius.
264
- ]
265
-
266
-
267
- # ---
268
- # TMSiDevBatReport
269
- # ---
270
- class TMSiDevBatReport(Structure):
271
- _pack_ = 2
272
- _fields_ = [
273
- ("BatID", c_short), # 0 unknown, 1, 2 etc.
274
- ("BatTemp", c_short), # Battery temperature.
275
- ("BatVoltage", c_short), # Battery voltage in mV.
276
- ("BatRemainingCapacity", c_short), # Available battery capacity in mAh.
277
- ("BatFullChargeCapacity", c_short), # Max battery capacity in mAh.
278
- (
279
- "BatAverageCurrent",
280
- c_short,
281
- ), # Current going in or out of the battery in mA.
282
- (
283
- "BatTimeToEmpty",
284
- c_short,
285
- ), # Estimated remaining minutes before empty in min.
286
- ("BatStateOfCharge", c_short), # Estimated capacity in %.
287
- ("BatStateOfHealth", c_short), # Estimated battery health in %.
288
- ("BatCycleCount", c_short), # Battery charge cycles.
289
- ]
290
-
291
-
292
- # ---
293
- # TMSiTime
294
- # ---
295
- class TMSiTime(Structure):
296
- _pack_ = 2
297
- _fields_ = [
298
- ("Seconds", c_short), # Time seconds.
299
- ("Minutes", c_short), # Time minutes.
300
- ("Hours", c_short), # Time Hours.
301
- ("DayOfMonth", c_short), # Time Day of month.
302
- ("Month", c_short), # Time month.
303
- ("Year", c_short), # Years Since 1900.
304
- ("WeekDay", c_short), # Day since Sunday.
305
- ("YearDay", c_short), # Day since January 1st.
306
- ]
307
-
308
-
309
- # ---
310
- # TMSiDevStorageReport
311
- # ---
312
- class TMSiDevStorageReport(Structure):
313
- _pack_ = 2
314
- _fields_ = [
315
- ("TotalSizeMB", c_uint), # Total storage in MByte.
316
- ("UsedSizeMB", c_uint), # Available storage in MByte.
317
- ]
318
-
319
-
320
- # ---
321
- # TMSiDevGetConfig
322
- # ---
323
- class TMSiDevGetConfig(Structure):
324
- _pack_ = 2
325
- _fields_ = [
326
- ("DRSerialNumber", c_uint), # The DR serial number.
327
- ("DRDevID", c_ushort), # The DR Device ID.
328
- (
329
- "NrOfHWChannels",
330
- c_ushort,
331
- ), # Total nr of hardware channels (UNI, Bip, Aux).
332
- (
333
- "NrOfChannels",
334
- c_ushort,
335
- ), # Total number of hardware + software channels.
336
- ("NrOfSensors", c_ushort), # Total supported sensor interfaces.
337
- ("BaseSampleRateHz", c_ushort), # Current base samplerate
338
- (
339
- "AltBaseSampleRateHz",
340
- c_ushort,
341
- ), # 4096 / 4000 depends on BaseSampleRateHz.
342
- (
343
- "ConfiguredInterface",
344
- c_ushort,
345
- ), # Communication interface on DR used, 0 = Unknown, 1=USB 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
346
- (
347
- "InterFaceBandWidth",
348
- c_int,
349
- ), # Data bandwidth in MB/s for current interface.
350
- (
351
- "TriggersEnabled",
352
- c_short,
353
- ), # 0= disabled 1 = External triggers enabled.
354
- ("RefMethod", c_short), # 0= Common reference, 1=average reference.
355
- (
356
- "AutoRefMethod",
357
- c_short,
358
- ), # 0= fixed method, 1= if average -> common reference.
359
- (
360
- "DRSyncOutDiv",
361
- c_short,
362
- ), # BaseSampleRate/SyncOutDiv, -1 = markerbut.
363
- ("DRSyncOutDutyCycl", c_short), # SyncOutv dutycycle.
364
- (
365
- "DSSyncOutDiv",
366
- c_short,
367
- ), # BaseSampleRate/SyncOutDiv, -1 = markerbut.
368
- (
369
- "DSSyncOutDutyCycl",
370
- c_short,
371
- ), # SyncOutv dutycycle, relative to DR BaseFreq
372
- (
373
- "RepairLogging",
374
- c_short,
375
- ), # 0 Disabled, 1 = BackupLogging enabled AmbRecording is disabled.
376
- (
377
- "AmbRecording",
378
- c_short,
379
- ), # 0 Disabled, 1 = Ambulant Configured/Enabled
380
- (
381
- "AvailableRecordings",
382
- c_short,
383
- ), # Currently stored recordings on device.
384
- (
385
- "DeviceName",
386
- c_char * 18,
387
- ), # Full dev name 17 char string (zero terminated).
388
- ]
389
-
390
-
391
- # ---
392
- # TMSIDevChDesc
393
- # ---
394
- class TMSiDevChDesc(Structure):
395
- _pack_ = 2
396
- _fields_ = [
397
- (
398
- "ChannelType",
399
- c_ushort,
400
- ), # 0=Unknown, 1=UNI, 2=BIP, 3=AUX, 4=DIGRAW/Sensor,5=DIGSTAT, 6=SAW.
401
- (
402
- "ChannelFormat",
403
- c_ushort,
404
- ), # 0x00xx Usigned xx bits, 0x01xx signed xx bits
405
- (
406
- "ChanDivider",
407
- c_short,
408
- ), # -1 disabled, else BaseSampleRateHz >> ChanDivider.
409
- ("ImpDivider", c_short), # -1 disabled, else BaseSampleRate>>ImpDivider
410
- (
411
- "ChannelBandWidth",
412
- c_int,
413
- ), # Bandwidth (in MB/s) required for transfer from DR to DS, used by bandwidth manager in application software.
414
- ("Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
415
- ("UnitName", c_char * 10), # Channel Unit, 9 char zero terminated.
416
- (
417
- "DefChanName",
418
- c_char * 10,
419
- ), # Default channel name 9 char zero terminated.
420
- (
421
- "AltChanName",
422
- c_char * 10,
423
- ), # User configurable name 9 char zero terminated.
424
- ]
425
-
426
-
427
- # ---
428
- # The basic sensor metadata header describing the type of sensor
429
- # ---
430
- class SensorDataHeader(Structure):
431
- _pack_ = 2
432
- _fields_ = [
433
- ("ManufacturerID", c_ushort), # Who makes this accessory.
434
- ("Serialnr", c_uint), # Serial number.
435
- (
436
- "ProductIdentifier",
437
- c_ulonglong,
438
- ), # Together with (AI) and serial number forming UDI
439
- ("ChannelCount", c_ubyte), # Indicates the number of channel structs
440
- (
441
- "AdditionalStructs",
442
- c_ubyte,
443
- ), # Indicates the number of additional Structs
444
- ]
445
-
446
-
447
- # ---
448
- # Sensor Structure [StructID 0x0000] 32 bytes
449
- # ---
450
- class SensorDefaultChannel(Structure):
451
- _pack_ = 2
452
- _fields_ = [
453
- (
454
- "StructID",
455
- c_ushort,
456
- ), # ID (= 0x0000)of the channel struct according to XML-file
457
- (
458
- "ChannelName",
459
- c_char * 10,
460
- ), # Zero terminated string for the channel name.
461
- (
462
- "UnitName",
463
- c_char * 10,
464
- ), # Zero terminated string for the Unit string.
465
- (
466
- "Exponent",
467
- c_short,
468
- ), # Exponent for the unit, e.g. milli = -3 this gives for a UnitName V a result mV.
469
- (
470
- "Gain",
471
- c_float,
472
- ), # Value to convert the sensor value to the correct unit value.
473
- ("Offset", c_float), # Offset for this channel.
474
- ]
475
-
476
-
477
- # ---
478
- # Sensor Structure [StructID 0xFFFF] 2 bytes
479
- # ---
480
- class SensorDummyChannel(Structure):
481
- _pack_ = 2
482
- _fields_ = [
483
- ("StructID", c_ushort), # ID (= 0xFFFF) of the dummy channel struct
484
- ]
485
-
486
-
487
- # ---
488
- # Sensor Structure [StructID 0x03FE] 74 bytes
489
- # ---
490
- class TMSiContact(Structure):
491
- _pack_ = 2
492
- _fields_ = [
493
- (
494
- "StructID",
495
- c_ushort,
496
- ), # ID (= 0x3FE) of the TMSi Contact struct according to XML-file
497
- (
498
- "CompanyName",
499
- c_char * 10,
500
- ), # Zero terminated string for the Company name.
501
- ("WWW", c_char * 20), # Zero terminated string for web URL.
502
- ("Email", c_char * 30), # Zero terminated string for support email.
503
- ("Phone", c_char * 16), # Zero terminated string for telephone number.
504
- ]
505
-
506
-
507
- # ---
508
- # TMSiDevSetConfig
509
- # ---
510
- class TMSiDevSetConfig(Structure):
511
- _pack_ = 2
512
- _fields_ = [
513
- ("DRSerialNumber", c_uint), # The DR serial number.
514
- (
515
- "NrOfChannels",
516
- c_ushort,
517
- ), # total nr of channels in this configuration.
518
- ("SetBaseSampleRateHz", c_ushort), # New base samplerate for DR.
519
- (
520
- "SetConfiguredInterface",
521
- c_ushort,
522
- ), # Comm interface on DR to configure, 0 = Unknown, 1=USB 2=Network, 3=WiFi, 4=Electrical,5=Optical, 6=Bluetooth.
523
- ("SetTriggers", c_short), # 0= Disabled, 1= external triggers enabled.
524
- ("SetRefMethod", c_short), # 0= Common reference, 1=average reference.
525
- (
526
- "SetAutoRefMethod",
527
- c_short,
528
- ), # 0= fixed method, 1= if average -> common.
529
- (
530
- "SetDRSyncOutDiv",
531
- c_short,
532
- ), # SetBaseSampleRateHz/SyncOutDiv, -1 = markerbut.
533
- ("DRSyncOutDutyCycl", c_short), # Set DR Sync dutycycle.
534
- (
535
- "SetRepairLogging",
536
- c_short,
537
- ), # 0 Disabled, 1 = BackupLogging enabled, Ambulatory recording is disabled!
538
- (
539
- "PerformFactoryReset",
540
- c_short,
541
- ), # Set device to defaults, all other options in this config are ignored by device.
542
- (
543
- "StoreAsDefault",
544
- c_short,
545
- ), # Set the current configuration as default startup configuration.
546
- ("WebIfCtrl", c_ushort), # Status of DS WebIF stop = 0, start =1
547
- ("PinKey", c_byte * 4), # Pincode to use for pairing procedure.
548
- ]
549
-
550
-
551
- # ---
552
- # TMSiDevSetChCfg
553
- # ---
554
- class TMSiDevSetChCfg(Structure):
555
- _pack_ = 2
556
- _fields_ = [
557
- ("ChanNr", c_ushort), # Which channel is this configure for.
558
- (
559
- "ChanDivider",
560
- c_short,
561
- ), # -1 disabled, else SetBaseSampleRateHz>>ChanDivider.
562
- (
563
- "AltChanName",
564
- c_byte * 10,
565
- ), # User configurable name 9 char zero terminated.
566
- ]
567
-
568
-
569
- # ---
570
- # TMSiDevGetSens
571
- # ---
572
- class TMSiDevGetSens(Structure):
573
- _pack_ = 2
574
- _fields_ = [
575
- ("ChanNr", c_ushort), # Channel where sensor is connected to.
576
- ("IOMode", c_short), # -1 Disabled, 0=Nonin, 1=SPI, 2=UART, 20=Analog
577
- ("SensorID", c_short), # ID of connected Sensor to this channel
578
- ("SensorMetaData", c_byte * 128), # Additional raw data from sensor.
579
- ]
580
-
581
-
582
- # ---
583
- # TMSiSetDevSens
584
- # ---
585
- class TMSiSetDevSens(Structure):
586
- _pack_ = 2
587
- _fields_ = [
588
- ("ChanNr", c_ushort), # Channel of connected sensor
589
- (
590
- "IOMode",
591
- c_short,
592
- ), # Channel Sensor communication method: -1 Disabled, 0=Nonin, 1=SPI, 2=UART, 20=Analog
593
- ]
594
-
595
-
596
- # ---
597
- # TMSiDevSampleReq
598
- # ---
599
- class TMSiDevSampleReq(Structure):
600
- _pack_ = 2
601
- _fields_ = [
602
- (
603
- "SetSamplingMode",
604
- c_ushort,
605
- ), # flag to start and stop, see SampleControlType commands.
606
- (
607
- "DisableAutoswitch",
608
- c_ushort,
609
- ), # Ignore the Refmode autoswitch for now.
610
- ("DisableRepairLogging", c_ushort), # Ignore the Repairlogging for now.
611
- (
612
- "DisableAvrRefCalc",
613
- c_ushort,
614
- ), # Disable average ref. calculation for now.
615
- ]
616
-
617
-
618
- # ---
619
- # SampleControl, enum for SetSamplingMode values.
620
- # ---
621
- @unique
622
- class SampleControl(Enum):
623
- STOPSamplingDevice = 0
624
- STARTSamplingDevice = 1
625
- STOPWiFiStream = 2
626
-
627
-
628
- # ---
629
- # TMSiDevImpReq
630
- # ---
631
- class TMSiDevImpReq(Structure):
632
- _pack_ = 2
633
- _fields_ = [
634
- (
635
- "SetImpedanceMode",
636
- c_ushort,
637
- ), # flag to start and stop, bitmask defined as ImpedanceControlType can be used.
638
- ]
639
-
640
-
641
- # ---
642
- # ImpedanceControl, enum for SetImpedanceMode values.
643
- # ---
644
- @unique
645
- class ImpedanceControl(Enum):
646
- ImpedanceStop = 0
647
- ImpedanceStart = 1
648
-
649
-
650
- # ---
651
- # TMSiDevRecList
652
- # ---
653
- class TMSiDevRecList(Structure):
654
- _pack_ = 2
655
- _fields_ = [
656
- ("RecFileID", c_ushort), # Identifier for this file.
657
- ("RecFileName", c_char * 32), # Filename
658
- ("StartTime", TMSiTime), # StartTime of this recording.
659
- ("StopTime", TMSiTime), # StopTime of this recording.
660
- ]
661
-
662
-
663
- # ---
664
- # TMSiDevRecDetails,
665
- # ---
666
- class TMSiDevRecDetails(Structure):
667
- _pack_ = 2
668
- _fields_ = [
669
- ("StructID", c_short),
670
- ("ProtoVer", c_short),
671
- ("RecFileType", c_short),
672
- ("RecFileID", c_short),
673
- ("StorageStatus", c_int),
674
- ("NoOfSamples", c_int),
675
- ("RecFileName", c_char * 32),
676
- ("StartTime", TMSiTime),
677
- ("StopTime", TMSiTime),
678
- ("ImpAvailable", c_short),
679
- ("PatientID", c_char * 128),
680
- ("UserString1", c_char * 64),
681
- ("UserString2", c_char * 64),
682
- ]
683
-
684
-
685
- # ---
686
- # TMSiDevImpReport
687
- # ---
688
- class TMSiDevImpReport(Structure):
689
- _pack_ = 2
690
- _fields_ = [
691
- ("ChanNr", c_ushort), # The channel for which this impedance value is.
692
- ("Impedance", c_float), # The actual impedance value for this channel.
693
- ]
694
-
695
-
696
- # ---
697
- # TMSiDevRecCfg
698
- # ---
699
- class TMSiDevRecCfg(Structure):
700
- _pack_ = 2
701
- _fields_ = [
702
- ("ProtoVer", c_short), # Version of the current spec used.
703
- ("FileType", c_short), # Type of file set by device.
704
- (
705
- "StartControl",
706
- c_short,
707
- ), # Configuration how to start the ambulant recording.
708
- (
709
- "EndControl",
710
- c_int,
711
- ), # Configuration how to stop the amplulant recording.
712
- ("StorageStatus", c_int), # Status of the internal storage.
713
- ("InitIdentifier", c_int), # Identifier can be used by the application.
714
- (
715
- "PrefixFileName",
716
- c_byte * 16,
717
- ), # Prefix for the final recording filename.
718
- ("StartTime", TMSiTime), # The start time for the recording.
719
- ("StopTime", TMSiTime), # The stop time for the recording.
720
- ("IntervalSeconds", c_short), # Recuring start time seconds.
721
- ("IntervalMinutes", c_short), # Recuring start time minutes.
722
- ("IntervalHours", c_short), # Recuring start time hours.
723
- ("IntervalDays", c_short), # Recuring start time days.
724
- ("AlarmTimeCount", c_int), # Amount of recurring cycles.
725
- ("PreImp", c_short), # Pre measurement impedance 0=no, 1=yes.
726
- ("PreImpSec", c_short), # Amount of seconds for impedance.
727
- (
728
- "PatientID",
729
- c_byte * 128,
730
- ), # Freeformat string, can be set by application.
731
- (
732
- "UserString1",
733
- c_byte * 64,
734
- ), # Freeformat string, can be set by application.
735
- (
736
- "UserString2",
737
- c_byte * 64,
738
- ), # Freeformat string, can be set by application.
739
- ]
740
-
741
-
742
- # ---
743
- # TMSiDevRepairReq
744
- # ---
745
- class TMSiDevRepairReq(Structure):
746
- _pack_ = 2
747
- _fields_ = [
748
- ("SampleStartCntr", c_uint), # Sample Saw counter Start.
749
- ("NROfSampleSets", c_uint), # Number of sets to retrieve.
750
- ]
751
-
752
-
753
- # ---
754
- # TMSiDevChCal
755
- # ---
756
- class TMSiDevChCal(Structure):
757
- _pack_ = 2
758
- _fields_ = [
759
- ("ChanNr", c_uint), # Which channel is this configure for.
760
- ("ChanGainCorr", c_float), # A float value for the Gain calibration.
761
- (
762
- "ChanOffsetCorr",
763
- c_float,
764
- ), # A float value for the Offset calibration.
765
- ]
766
-
767
-
768
- # ---
769
- # TMSiDevGetDiagStat
770
- # ---
771
- class TMSiDevGetDiagStat(Structure):
772
- _pack_ = 2
773
- _fields_ = [
774
- (
775
- "DRHealthState",
776
- c_ushort,
777
- ), # Current state of device since last boot, 0 = OK, 1 = Error.
778
- (
779
- "DRErrors",
780
- c_short,
781
- ), # Nr of Errors logged since logging was started, -1 logging disabled.
782
- ("DRLogSize", c_uint), # DR Log size in Bytes.
783
- (
784
- "DSHealthState",
785
- c_ushort,
786
- ), # Current state of device since last boot, 0 = OK, 1 = Error.
787
- (
788
- "DSErrors",
789
- c_short,
790
- ), # Nr of Errors logged since logging was started, -1 logging disabled.
791
- ("DSLogSize", c_uint), # DS Log size in Bytes.
792
- ]
793
-
794
-
795
- # ---
796
- # TMSiDevSetDiagStat
797
- # ---
798
- class TMSiDevSetDiagStat(Structure):
799
- _pack_ = 2
800
- _fields_ = [
801
- (
802
- "DRLoggingState",
803
- c_ushort,
804
- ), # Set logging state of device, 0=disable, 1= enable.
805
- ("DRResetLog", c_ushort), # Reset the logfile, old loggings are erased.
806
- (
807
- "DSLoggingState",
808
- c_ushort,
809
- ), # Set logging state of device, 0=disable, 1= enable.
810
- ("DSResetLog", c_ushort), # Reset the logfile, old loggings are erased.
811
- ]
812
-
813
-
814
- # ---
815
- # FWStatus, enum for FWStatus values.
816
- # ---
817
- @unique
818
- class FirmwareStatus(Enum):
819
- FWStatus_Unknown = -1
820
- All_OK = 0
821
- Upgrading = 1
822
- Verify_OK = 2
823
- Verify_Fail = 3
824
-
825
-
826
- # ---
827
- # TMSiDevFWStatusReport
828
- # ---
829
- class TMSiDevFWStatusReport(Structure):
830
- _pack_ = 2
831
- _fields_ = [
832
- ("FWVersion", c_short), # -1 N.A., Vaa.bb -> 0xaabb
833
- ("AppVersion", c_short), # -1 N.A., Vaa.bb -> 0xaabb
834
- (
835
- "FWStatus",
836
- c_int,
837
- ), # -1 Unknown, All_OK, Upgrading, Verify_OK, Verify_Fail,
838
- (
839
- "MaxPushSize",
840
- c_uint,
841
- ), # max allowed block size in bytes when sending firmware to device.
842
- ]
843
-
844
-
845
- # ---
846
- # TMSiFWHeaderFile
847
- # ---
848
- class TMSiFWHeaderFile(Structure):
849
- _pack_ = 2
850
- _fields_ = [
851
- ("FWVersion", c_short), # The Firmware version of this file.
852
- (
853
- "FWHardwareVersion",
854
- c_short,
855
- ), # The hardware version for this firmware 0xVVRR.
856
- ("DevID", c_short), # The DevID for which this firmware is intended.
857
- ("FWSize", c_uint), # The total size in bytes of the firmware to flash.
858
- ("Checksum", c_int), # Integrity check type t.b.d.
859
- ]
860
-
861
-
862
- # ---
863
- # TMSiDevProductConfig
864
- # ---
865
- class TMSiDevProductConfig(Structure):
866
- _pack_ = 2
867
- _fields_ = [
868
- ("DRSerialNumber", c_uint), # The DR serial number.
869
- ("DSSerialNumber", c_uint), # The DS serial number.
870
- ("DRDevID", c_ushort), # DR Device ID
871
- ("DSDevID", c_ushort), # DS Device ID
872
- ("NrOfHWChannels", c_ushort), # total nr of UNI, Bip, Aux channels.
873
- ("NrOfChannels", c_ushort), # Total number of channels.
874
- ]
875
-
876
-
877
- # ---
878
- # TMSiDevProductChCfg
879
- # ---
880
- class TMSiDevProductChCfg(Structure):
881
- _pack_ = 2
882
- _fields_ = [
883
- (
884
- "ChannelType",
885
- c_ushort,
886
- ), # 0=Unknown, 1=UNI, 2=BIP, 3=AUX, 4=DIGRAW/Sensor,5=DIGSTAT, 6=SAW.
887
- (
888
- "ChannelFormat",
889
- c_ushort,
890
- ), # 0x00xx Usigned xx bits, 0x01xx signed xx bits
891
- (
892
- "Unitconva",
893
- c_float,
894
- ), # Unit = a*Bits + b used for bits -> unit, IEEE 754
895
- ("Unitconvb", c_float),
896
- ("Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
897
- ("UnitName", c_byte * 10), # Channel Unit, 9 char zero terminated.
898
- (
899
- "DefChanName",
900
- c_byte * 10,
901
- ), # Default channel name 9 char zero terminated.
902
- ]
903
-
904
-
905
- # ---
906
- # TMSiDevNetworkConfig
907
- # ---
908
- class TMSiDevNetworkConfig(Structure):
909
- _pack_ = 2
910
- _fields_ = [
911
- (
912
- "NetworkMode",
913
- c_ushort,
914
- ), # 0 = Network disabled, 1 = Use DHCP, 2 = Use config as below.
915
- ("DSIPAddress", c_byte * 16), # Static DS IP Address.
916
- ("DSNetmask", c_byte * 16), # Static DS Netmask.
917
- ("DSGateway", c_byte * 16), # Static DS Gateway Address.
918
- ]
919
-
920
-
921
- # ---
922
- # TMSiDevice enum used to specify the DS or DR in API calls.
923
- # ---
924
- @unique
925
- class TMSiDevice(Enum):
926
- Dev_Unknown = 0
927
- Dev_DS = 1
928
- Dev_DR = 2
929
-
930
-
931
- # ---
932
- # FWAction enum used to specify the action to perform during FWupdate.
933
- # ---
934
- @unique
935
- class FWAction(Enum):
936
- FWAct_Unknown = 0
937
- FWAct_Flash_Reboot = 1
938
- FWAct_ABORT = 2
939
-
940
-
941
- if SagaDllAvailable and not SagaDllLocked:
942
- # DLL interface
943
-
944
- # ---
945
- # @details This command is used to retrieve a list of available TMSi devices
946
- # connected to the PC. This query is performed on the "DSInterfaceType" specified
947
- # by the user. All other interface types are ignored. For each device found on
948
- # the PC matching "DSInterfaceType" the appropriate low level command is send with
949
- # "DRInterfaceType" set.
950
- #
951
- # @Pre \ref No device should have been opened. Device is in Close state.
952
- #
953
- # @Post No device change.
954
- #
955
- # @depends Low level call 0x0101.
956
- #
957
- # @param[out] TMSiDeviceList List of found devices.
958
- # @param[in] DSInterfaceType Interface to DS to query. 0 = Unknown,1=USB,
959
- # 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
960
- #
961
- # @param[in] DRInterfaceType Interface to DR to query. 0 = Unknown,1=USB,
962
- # 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
963
- #
964
- # @return
965
- # @li TMSI_OK Ok, if response received successful.
966
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
967
- # ---
968
- TMSiGetDeviceList = SagaSDK.TMSiGetDeviceList
969
- TMSiGetDeviceList.restype = TMSiDeviceRetVal
970
- TMSiGetDeviceList.argtype = [POINTER(TMSiDevList), c_int, c_uint, c_uint]
971
-
972
- # ---
973
- # @details This command is used to open a device. This will create a connection
974
- # between API and DS and "lock" the interface between DR and DS.
975
- #
976
- # @Pre @li No device should have been openend.
977
- # @li TMSiGetDeviceList should have been called to obtain valid
978
- # TMSiDeviceID
979
- #
980
- # @Post After TMSI_OK device is in "Device_Open".
981
- #
982
- # @depends Low level call 0x0102.
983
- #
984
- # @param[out] TMSiDeviceHandle Handle to device use for further API calls.
985
- # @param[in] DeviceID Device to open, retrieved by "TMSiGetDeviceList".
986
- # @param[in] DRInterfaceType Interface to DR to use and lock. 0 = Unknown,1=USB, 2=Network, 3=WiFi, 4=Electrical, 5=Optical, 6=Bluetooth.
987
- #
988
- # @return
989
- # @li TMSI_OK Ok, if response received successful.
990
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
991
- # ---
992
- TMSiOpenDevice = SagaSDK.TMSiOpenDevice
993
- TMSiOpenDevice.restype = TMSiDeviceRetVal
994
- TMSiOpenDevice.argtype = [POINTER(c_void_p), c_uint, c_uint]
995
-
996
- # ---
997
- # @details This command is used to Close a device.
998
- #
999
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1000
- # TMSIDeviceHandle.
1001
- # @li The device STATEMACHINE shall be in "Device_Open".
1002
- #
1003
- # @Post After TMSI_OK the device STATEMACHINE is in "Device_Close" state.
1004
- #
1005
- # @depends Low level call 0x0103.
1006
- #
1007
- # @param[out] TMSiDeviceHandle Handle of device to close.
1008
- #
1009
- # @return
1010
- # @li TMSI_OK Ok, if response received successful.
1011
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1012
- # ---
1013
- TMSiCloseDevice = SagaSDK.TMSiCloseDevice
1014
- TMSiCloseDevice.restype = TMSiDeviceRetVal
1015
- TMSiCloseDevice.argtype = [c_void_p]
1016
-
1017
- # ---
1018
- # @details This command is used to retrieve a status report from a TMSi device.
1019
- #
1020
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1021
- # TMSIDeviceHandle.
1022
- # @li The device STATEMACHINE shall be in "Device_Open".
1023
- # @Post No device change.
1024
- #
1025
- # @depends Low level call 0x0201.
1026
- #
1027
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1028
- # @param[out] DeviceStatus Status report of the connected device.
1029
- #
1030
- # @return
1031
- # @li TMSI_OK Ok, if response received successful.
1032
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1033
- # ---
1034
- TMSiGetDeviceStatus = SagaSDK.TMSiGetDeviceStatus
1035
- TMSiGetDeviceStatus.restype = TMSiDeviceRetVal
1036
- TMSiGetDeviceStatus.argtype = [c_void_p, POINTER(TMSiDevStatReport)]
1037
-
1038
- # ---
1039
- # @details This command is used to retrieve a full status report from a TMSi
1040
- # device.
1041
- #
1042
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1043
- # TMSIDeviceHandle.
1044
- # @li The device STATEMACHINE shall be in "Device_Open".
1045
- #
1046
- # @Post No device change.
1047
- #
1048
- # @depends Low level call 0x0202.
1049
- #
1050
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1051
- # @param[out] FullDeviceStatus Status report.
1052
- # @param[out] DeviceBatteryReportList list of BatteryReport(s).
1053
- # @param[in] BatteryStatusListLen Nr of BatteryReportLists allocated.
1054
- #
1055
- # @param[out] DeviceTime Device time report.
1056
- # @param[out] StorageReport Device storage report.
1057
- # @return
1058
- # @li TMSI_OK Ok, if response received successful.
1059
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1060
- # ---
1061
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetFullDeviceStatus(void* TMSiDeviceHandle, TMSiDevFullStatReportType* FullDeviceStatus, TMSiDevBatReportType* DeviceBatteryStatusList, int32_t BatteryStatusListLen, TMSiTimeType* DeviceTime, TMSiDevStorageReportType* StorageReport);
1062
- TMSiGetDeviceConfig = SagaSDK.TMSiGetFullDeviceStatus
1063
- TMSiGetDeviceConfig.restype = TMSiDeviceRetVal
1064
- TMSiGetDeviceConfig.argtype = [
1065
- c_void_p,
1066
- POINTER(TMSiDevFullStatReport),
1067
- POINTER(TMSiDevBatReport),
1068
- c_int,
1069
- POINTER(TMSiTime),
1070
- POINTER(TMSiDevStorageReport),
1071
- ]
1072
-
1073
- # ---
1074
- # @details This command is used to retrieve the current configuration from a
1075
- # TMSi device. The response can be used to calculate the expected data streams
1076
- # from the device. If a channel is enabled for sampling the "ChanDivider > -1".
1077
- # If a channel will send its impedance data during an impedance measurement is
1078
- # determined by the "ImpDivider". The last channel in the device list (after
1079
- # the SAW channel) is the PGND, this channel is included only for use during
1080
- # impedance mode. Therefore the ChanDivider = -1 and the ImpDivider is > -1 for
1081
- # this channel. To calculate the expected data stream in a certain mode multiply
1082
- # all enabled channels with the sample frequency and int32_t.
1083
- #
1084
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1085
- # TMSIDeviceHandle.
1086
- # @li The device STATEMACHINE shall be in "Device_Open".
1087
- #
1088
- # @Post No device change.
1089
- #
1090
- # @depends Low level call 0x0203.
1091
- #
1092
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1093
- # @param[out] RecorderConfiguration Device configuration.
1094
- # @param[out] ChannelsList Channel(s) configuration.
1095
- # @param[in] ChannelsListLen Allocated nr of ChannelList items,
1096
- # should be atleast NrOfChannels as mentioned in TMSiDevStatReportType
1097
- # @return
1098
- # @li TMSI_OK Ok, if response received successful.
1099
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1100
- # ---
1101
- TMSiGetDeviceConfig = SagaSDK.TMSiGetDeviceConfig
1102
- TMSiGetDeviceConfig.restype = TMSiDeviceRetVal
1103
- TMSiGetDeviceConfig.argtype = [
1104
- c_void_p,
1105
- POINTER(TMSiDevGetConfig),
1106
- POINTER(TMSiDevChDesc),
1107
- c_int,
1108
- ]
1109
-
1110
- # ---
1111
- # @details This command is used to set a new configuration on a TMSi
1112
- # device.
1113
- #
1114
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1115
- # TMSIDeviceHandle.
1116
- # @li The device STATEMACHINE shall be in "Device_Open".
1117
- #
1118
- # @Post When a TMSI_OK is returned the Device configuration is updated. When an # error is returned the device configuration might not be updated. This should
1119
- # be checked by requesting the current configuration \ref TMSiGetDeviceConfig.
1120
- #
1121
- # @depends Low level call 0x0204.
1122
- #
1123
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1124
- # @param[in] RecorderConfiguration Buffer with new configuration.
1125
- # @param[in] ChannelConfigList Buffer with ChannelConfigList items.
1126
- # @param[in] ChannelConfigListLen Nr of ChannelConfigList items.
1127
- #
1128
- # @return
1129
- # @li TMSI_OK Ok, if response received successful.
1130
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1131
- # ---
1132
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceConfig(void* TMSiDeviceHandle, TMSiDevSetConfigType* RecorderConfiguration, TMSiDevSetChCfgType* ChannelConfigList, int32_t ChannelConfigListLen);
1133
- TMSiSetDeviceConfig = SagaSDK.TMSiSetDeviceConfig
1134
- TMSiSetDeviceConfig.restype = TMSiDeviceRetVal
1135
- TMSiSetDeviceConfig.argtype = [
1136
- c_void_p,
1137
- POINTER(TMSiDevSetConfig),
1138
- POINTER(TMSiDevSetChCfg),
1139
- c_int,
1140
- ]
1141
-
1142
- # ---
1143
- # @details This command is used to set the time on a TMSi device.
1144
- #
1145
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1146
- # TMSIDeviceHandle.
1147
- # @li The device STATEMACHINE shall be in "Device_Open".
1148
- #
1149
- # @Post When a TMSI_OK is returned the internal time has been updated.
1150
- #
1151
- # @depends Low level call 0x0205.
1152
- #
1153
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1154
- # @param[in] NewTime Buffer with new time information.
1155
- #
1156
- # @return
1157
- # @li TMSI_OK Ok, if response received successful.
1158
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1159
- # ---
1160
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceRTC(void* TMSiDeviceHandle, TMSiTimeType* NewTime);
1161
- TMSiSetDeviceRTC = SagaSDK.TMSiSetDeviceRTC
1162
- TMSiSetDeviceRTC.restype = TMSiDeviceRetVal
1163
- TMSiSetDeviceRTC.argtype = [c_void_p, POINTER(TMSiTime)]
1164
-
1165
- # ---
1166
- # @details This command is used to get sensor information from channels which
1167
- # support this feature.
1168
- #
1169
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1170
- # TMSIDeviceHandle.
1171
- # @li The device STATEMACHINE shall be in "Device_Open".
1172
- #
1173
- # @Post No change in device state.
1174
- #
1175
- # @depends Low level call 0x0206.
1176
- #
1177
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1178
- # @param[out] SensorList Channel(s) configuration.
1179
- #
1180
- # @param[in] SensorsListLen Nr of SensorList elements allocated, should be
1181
- # atleast NrOfSensors from TMSiDevGetConfigType.
1182
- # @param[out] RetSensorsListLen Nr of Sensor lists returned.
1183
- # .
1184
- # @return
1185
- # @li TMSI_OK Ok, if response received successful.
1186
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1187
- # ---
1188
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceSensor(void* TMSiDeviceHandle, TMSiDevGetSensType* SensorsList, uint32_t SensorsListLen, uint32_t* RetSensorsListLen);
1189
- TMSiGetDeviceSensor = SagaSDK.TMSiGetDeviceSensor
1190
- TMSiGetDeviceSensor.restype = TMSiDeviceRetVal
1191
- TMSiGetDeviceSensor.argtype = [
1192
- c_void_p,
1193
- POINTER(TMSiDevGetSens),
1194
- c_uint,
1195
- POINTER(c_uint),
1196
- ]
1197
-
1198
- # ---
1199
- # @details This command is used to set sensor options for channels which
1200
- # support this feature.
1201
- #
1202
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1203
- # TMSIDeviceHandle.
1204
- # @li The device STATEMACHINE shall be in "Device_Open".
1205
- #
1206
- # @Post When TMSI_OK returned the device sensor configuration is as requested,
1207
- # else the previous configuration is still valid.
1208
- #
1209
- # @depends Low level call 0x0207.
1210
- #
1211
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1212
- # @param[out] SensorList List of sensor configuration(s).
1213
- # @param[out] SensorsListLen Nr of SensorList items.
1214
- #
1215
- # @return
1216
- # @li TMSI_OK Ok, if response received successful.
1217
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1218
- # ---
1219
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceSensor(void* TMSiDeviceHandle, TMSiSetDevSensType* SensorList, int32_t SensorsListLen);
1220
-
1221
- # ---
1222
- # @details This command is used to control the sampling mode on a TMSi
1223
- # device.
1224
- #
1225
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1226
- # TMSIDeviceHandle.
1227
- # @li The device STATEMACHINE shall be in "Device_Open" or "Device_Sampling".
1228
- #
1229
- # @Post When TMSI_OK is returned the device is in the "Device_Sampling" or
1230
- # "Device_Open" state depending on the requested StartStop flag.
1231
- # Sampling data should be retrieved by calling TMSiGetDeviceData.
1232
- # STOPWiFiStream will result in a stop of datastream the device will go to
1233
- # ambulant recording mode, the connection to TMSiDevice shall be closed by the
1234
- # application.
1235
- #
1236
- # @depends Low level call 0x0301.
1237
- #
1238
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1239
- # @param[in] DeviceSamplingMode New device sampling configuration.
1240
- # @return
1241
- # @li TMSI_OK Ok, if response received successful.
1242
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1243
- # ---
1244
- TMSiSetDeviceSampling = SagaSDK.TMSiSetDeviceSampling
1245
- TMSiSetDeviceSampling.restype = TMSiDeviceRetVal
1246
- TMSiSetDeviceSampling.argtype = [c_void_p, POINTER(TMSiDevSampleReq)]
1247
-
1248
- # ---
1249
- # @details This command is used to set the device impedance mode.
1250
- #
1251
- # @Pre \ref TMSiOpenDevice should have been called and returned a valid
1252
- # TMSIDeviceHandle.
1253
- # @li The device STATEMACHINE shall be in "Device_Open" or "Device_Impedance".
1254
- #
1255
- # @Post When TMSI_OK is returned the device is in the "Device_Impedance" or
1256
- # "Device_Open" state depending on the requested StartStop flag.
1257
- # Impedance data should be retrieved by calling TMSiGetDeviceData.
1258
- #
1259
- # @depends Low level call 0x0302.
1260
- #
1261
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1262
- # @param[in] DeviceImpedanceMode New device impedance configuration.
1263
- #
1264
- # @return
1265
- # @li TMSI_OK Ok, if response received successful.
1266
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1267
- # ---
1268
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceImpedance(void* TMSiDeviceHandle, TMSiDevImpReqType* DeviceImpedanceMode);
1269
- TMSiSetDeviceImpedance = SagaSDK.TMSiSetDeviceImpedance
1270
- TMSiSetDeviceImpedance.restype = TMSiDeviceRetVal
1271
- TMSiSetDeviceImpedance.argtype = [c_void_p, POINTER(TMSiDevImpReq)]
1272
-
1273
- # ---
1274
- # @details This command is used to get the device streaming data. The
1275
- # application can retrieve sampledata/impdata from the device. It returns data
1276
- # as 32-bit float values, all data is already processed, meaning it is converted
1277
- # from bits to units (as specified in the channel descriptor). The function will # return a buffer with a NrOfSets of samples, for each ENABLED channel one
1278
- # sample per set. The application should match each sample with the
1279
- # corresponding channel. All samples are in order of enabled channels starting
1280
- # at the first channel.
1281
- # The DataType indicates if the data is Sampledata DataType = 1, ImpedanceData
1282
- # DataType = 2, Sampledata Recording = 3.
1283
- # In case of impedance data only Channels with "ImpDivider" > -1 are transmitted.
1284
- # The buffer retured is a multiple of Samplesets.
1285
- #
1286
- #
1287
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1288
- # TMSIDeviceHandle. The device shall be in "Device_Sampling" or
1289
- # "Device_Impedance" state.
1290
- #
1291
- # @Post No change in device state.
1292
- #
1293
- # @depends Low level call 0x0303.
1294
- #
1295
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1296
- # @param[out] DeviceData Received device Data.
1297
- # @param[in] DeviceDataBufferSize Buffersize for device Data;
1298
- # @param[out] NrOfSets The returned samplesets in this buffer
1299
- # @param[out] DataType The returned data type.
1300
- #
1301
- # @return
1302
- # @li TMSI_OK Ok, if response received successful.
1303
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1304
- # ---
1305
- TMSiGetDeviceData = SagaSDK.TMSiGetDeviceData
1306
- TMSiGetDeviceData.restype = TMSiDeviceRetVal
1307
- TMSiGetDeviceData.argtype = [
1308
- c_void_p,
1309
- POINTER(c_float),
1310
- c_uint,
1311
- POINTER(c_uint),
1312
- POINTER(c_int),
1313
- ]
1314
-
1315
- # ---
1316
- # @details This command is used to get the current status of the streaming
1317
- # databuffer. It returns the current value of the amount of data waiting in the
1318
- # buffer.
1319
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1320
- # TMSIDeviceHandle. The device shall be in "Device_Sampling" or
1321
- # "Device_Impedance" state.
1322
- #
1323
- # @Post No change in device state.
1324
- #
1325
- # @depends None, API call only.
1326
- #
1327
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1328
- # @param[out] DeviceDataBuffered The amount of data buffered for this device in
1329
- # Bytes.
1330
- #
1331
- # @return
1332
- # @li TMSI_OK Ok, if response received successful.
1333
- # @li Any TMSI_DLL error received.
1334
- # ---
1335
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceDataBuffered(void* TMSiDeviceHandle, int32_t* DeviceDataBuffered);
1336
-
1337
- # ---
1338
- # @details This command is used to reset the internal data buffer thread for the
1339
- # specified device after it has been stopped sampling.
1340
- #
1341
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1342
- # TMSIDeviceHandle.
1343
- # @li The device STATEMACHINE shall be in "Device_Open".
1344
- #
1345
- # @Post No change in device state.
1346
- #
1347
- # @depends None, API call only.
1348
- #
1349
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1350
- #
1351
- # @return
1352
- # @li TMSI_OK Ok, if response received successful.
1353
- # @li Any TMSI_DLL error received.
1354
- # ---
1355
- TMSiResetDeviceDataBuffer = SagaSDK.TMSiResetDeviceDataBuffer
1356
- TMSiResetDeviceDataBuffer.restype = TMSiDeviceRetVal
1357
- TMSiResetDeviceDataBuffer.argtype = [c_void_p]
1358
-
1359
- # ---
1360
- # @details This command is used to get the device storage list.
1361
- #
1362
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1363
- # TMSIDeviceHandle.
1364
- # @li The device STATEMACHINE shall be in "Device_Open".
1365
- #
1366
- # @Post No change in device state.
1367
- #
1368
- # @depends Low level call 0x0304.
1369
- #
1370
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1371
- # @param[out] RecordingsList List of available recordings on data recorder.
1372
- # @param[in] RecordingsListLen Buffersize for RecordingsList
1373
- # @param[out] RetRecordingListLen The amount of returned recordings in the list.
1374
- #
1375
- # @return
1376
- # @li TMSI_OK Ok, if response received successful.
1377
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1378
- # ---
1379
-
1380
- TMSiGetDeviceStorageList = SagaSDK.TMSiGetDeviceStorageList
1381
- TMSiGetDeviceStorageList.restype = TMSiDeviceRetVal
1382
- TMSiGetDeviceStorageList.argtype = [
1383
- c_void_p,
1384
- POINTER(TMSiDevRecList),
1385
- c_uint,
1386
- POINTER(c_uint),
1387
- ]
1388
-
1389
- # ---
1390
- # @details This command is used to get a recorded file from the data recorder
1391
- # device. The file is selected by using the "RecFileID" as returned by
1392
- # "TMSiGetDeviceStorageList". After a successful return from this call the file
1393
- # sample data can be retrieved by calling the "TMSiGetDeviceData" where the
1394
- # "DataType" flag will be 3. To Stop / abort the file transfer this call can be
1395
- # used with the apropriate StartStop flag.
1396
- #
1397
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1398
- # TMSIDeviceHandle.
1399
- # @li The device STATEMACHINE shall be in "Device_Open" or "Device_Amb_Data".
1400
- #
1401
- # @Post If TMSI_OK the device STATEMACHINE shall be in "Device_Open" or
1402
- # "Device_Amb_Data".
1403
- #
1404
- # @depends Low level call 0x0305.
1405
- #
1406
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1407
- # @param[in] RecFileID The file ID which should be retrieved.
1408
- # @param[in] StartStop; flag to start (1) and stop (0) the file transfer.
1409
- # @param[out] RecordingMetaData Metadata of requested recording file.
1410
- # @param[out] ImpedanceReportList An impedance value for each impedance
1411
- # enabled channel.
1412
- # @param[in] ImpedanceReportListLen Size of mpedanceReportListshould be
1413
- # atleast the size of all channels with ImpDivider > -1 * int32_t. ImpDivider is
1414
- # found in TMSiDevChDescType.
1415
- #
1416
- # @return
1417
- # @li TMSI_OK Ok, if response received successful.
1418
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1419
- # ---
1420
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetRecordingFile(void* TMSiDeviceHandle, uint16_t RecFileID, uint16_t StartStop, TMSiDevRecDetailsType* RecordingMetaData, TMSiDevImpReportType* ImpedanceReportList, int32_t ImpedanceReportListLen);
1421
-
1422
- # ---
1423
- # @details This command is used to get a ambulant recording configuration from
1424
- # the data recorder device.
1425
- #
1426
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1427
- # TMSIDeviceHandle.
1428
- # @li The device STATEMACHINE shall be in "Device_Open".
1429
- # *
1430
- # @Post No change in device state.
1431
- #
1432
- # @depends Low level call 0x0306.
1433
- #
1434
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1435
- # @param[out] AmbulantConfiguration The current ambulant configuration.
1436
- #
1437
- # @return
1438
- # @li TMSI_OK Ok, if response received successful.
1439
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1440
- # ---
1441
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceAmbConfig(void* TMSiDeviceHandle, TMSiDevRecCfgType* AmbulantConfiguration);
1442
-
1443
- # ---
1444
- # @details This command is used to set a new ambulant recording configuration
1445
- # from the data recorder device.
1446
- #
1447
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1448
- # TMSIDeviceHandle.
1449
- # @li device STATEMACHINE shall be in "Device_Open".
1450
- #
1451
- # @Post No change in device state.
1452
- #
1453
- # @depends Low level call 0x0307.
1454
- #
1455
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1456
- # @param[out] AmbulantConfiguration The new ambulant configuration.
1457
- #
1458
- # @return
1459
- # @li TMSI_OK Ok, if response received successful.
1460
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1461
- # ---
1462
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceAmbConfig(void* TMSiDeviceHandle, TMSiDevRecCfgType* AmbulantConfiguration);
1463
-
1464
- # ---
1465
- # @details This command is used to get repair data from a device after a measurement.
1466
- #
1467
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1468
- # TMSIDeviceHandle.
1469
- # @li The device STATEMACHINE shall be in "Device_Open" or "Device_Repair".
1470
- # @Post No change in device state.
1471
- #
1472
- # @depends Low level call 0x0308.
1473
- #
1474
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1475
- # @param[out] RepairDataBuffer Buffer to copy the requested repairdata into.
1476
- # @param[in] RepairDataBufferSize The available buffersize in bytes.
1477
- # @param[out] NrOfSamples The returned number of samples.
1478
- # @param[in] RepairInfo The repair request
1479
- #
1480
- # @return
1481
- # @li TMSI_OK Ok, if response received successful.
1482
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1483
- # ---
1484
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceRepairData(void* TMSiDeviceHandle, float* RepairDataBuffer, int32_t RepairDataBufferSize, int32_t* NrOfSamples, TMSiDevRepairReqType* RepairInfo);
1485
-
1486
- # ---
1487
- # @details This command is used to get calibration data from a device. All
1488
- # available channels will be returned.
1489
- #
1490
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1491
- # TMSIDeviceHandle.
1492
- # @li device STATEMACHINE shall be in "Device_Open".
1493
- # @Post No change in device state.
1494
- #
1495
- # @depends Low level call 0x0601.
1496
- #
1497
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1498
- # @param[out] ChCalValuesList The list of calibration data.
1499
- # @param[in] ChCalValuesListLen The amount of allocatedlist items.
1500
- # @param[out] RetChCalValuesListLen The returned list size.
1501
- #
1502
- # @return
1503
- # @li TMSI_OK Ok, if response received successful.
1504
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1505
- # ---
1506
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceCalibration(void* TMSiDeviceHandle, TMSiDevChCalType* ChCalValuesList, int32_t ChCalValuesListLen, int32_t* RetChCalValuesListLen);
1507
-
1508
- # ---
1509
- # @details This command is used to set calibration data for a device.
1510
- #
1511
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1512
- # TMSIDeviceHandle.
1513
- # @li device STATEMACHINE shall be in "Device_Open".
1514
- #
1515
- # @Post No change in device state.
1516
- #
1517
- # @depends Low level call 0x0602.
1518
- #
1519
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1520
- # @param[in] ChCalValuesList The list of new calibration data.
1521
- # @param[in] ChCalValuesListLen The size of ChCalValueList.
1522
- #
1523
- #
1524
- # @return
1525
- # @li TMSI_OK Ok, if response received successful.
1526
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1527
- # ---
1528
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceCalibration(void* TMSiDeviceHandle, TMSiDevChCalType* ChCalValuesList, int32_t ChCalValuesListLen);
1529
-
1530
- # ---
1531
- # @details This command is used to set calibration mode for a device.
1532
- #
1533
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1534
- # TMSIDeviceHandle.
1535
- # @li device STATEMACHINE shall be in "Device_Open".
1536
- #
1537
- # @Post Device is in "Device_Calibration".
1538
- #
1539
- # @depends Low level call 0x0603.
1540
- #
1541
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1542
- # @param[in] SetCalibrationMode The Calibration mode setting.
1543
- #
1544
- # @return
1545
- # @li TMSI_OK Ok, if response received successful.
1546
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1547
- # ---
1548
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceCalibrationMode(void* TMSiDeviceHandle, int32_t SetCalibrationMode);
1549
-
1550
- # ---
1551
- # @details This command is used to get the current logging activity and health state of the device.
1552
- #
1553
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1554
- # TMSIDeviceHandle.
1555
- # @li device STATEMACHINE shall be in "Device_Open".
1556
- #
1557
- # @Post No change in device state.
1558
- #
1559
- # @depends Low level call 0x0604.
1560
- #
1561
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1562
- # @param[out] DeviceDiagnostics The short health status report and current logging settings of the device.
1563
- #
1564
- # @return
1565
- # @li TMSI_OK Ok, if response received successful.
1566
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1567
- # ---
1568
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceDiagnostics(void* TMSiDeviceHandle, TMSiDevGetDiagStatType* DeviceDiagnostics);
1569
-
1570
- # ---
1571
- # @details This command is used to set the logging options for a device. When
1572
- # logging is enabled without a logfile reset, the device will append to an
1573
- # existing log file.
1574
- #
1575
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1576
- # TMSIDeviceHandle.
1577
- # @li device STATEMACHINE shall be in "Device_Open".
1578
- #
1579
- # @Post No change in device state.
1580
- #
1581
- # @depends Low level call 0x0605.
1582
- #
1583
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1584
- # @param[in] DeviceDiagnosticsCfg The short health status report of the device.
1585
- #
1586
- # @return
1587
- # @li TMSI_OK Ok, if response received successful.
1588
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1589
- # ---
1590
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceDiagnostics(void* TMSiDeviceHandle, TMSiDevSetDiagStatType* DeviceDiagnosticsCfg);
1591
-
1592
- # ---
1593
- # @details This command is used to get the current logfile of a device.
1594
- #
1595
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1596
- # TMSIDeviceHandle.
1597
- # @li device STATEMACHINE shall be in "Device_Open".
1598
- #
1599
- # @Post No change in device state.
1600
- #
1601
- # @depends Low level call 0x0606.
1602
- #
1603
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1604
- # @param[in] TMSiDevice The device of which the log file is requested.
1605
- # @param[in] DeviceLogBufferSize The size of the DeviceLogData buffer;
1606
- # @param[out] RetDeviceLogBufferSize The size of the returned log
1607
- # @param[out] DeviceLogData The logdata from the device.
1608
- #
1609
- # @return
1610
- # @li TMSI_OK Ok, if response received successful.
1611
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1612
- # ---
1613
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceLog(void* TMSiDeviceHandle, uint32_t TMSiDevice, uint32_t DeviceLogBufferSize, uint32_t* RetDeviceLogBufferSize, uint8_t* DeviceLogData);
1614
-
1615
- # ---
1616
- # @details This command is used to get the current firmware status of a device.
1617
- #
1618
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1619
- # TMSIDeviceHandle.
1620
- # @li device STATEMACHINE shall be in "Device_Open".
1621
- #
1622
- # @Post No change in device state.
1623
- #
1624
- # @depends Low level call 0x0607.
1625
- #
1626
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1627
- # @param[in] TMSiDevice The device of which the firmware status is requested.
1628
- # @param[out] FWReport The current firmware status report.
1629
- #
1630
- # @return
1631
- # @li TMSI_OK Ok, if response received successful.
1632
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1633
- # ---
1634
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDeviceFWStatus(void* TMSiDeviceHandle, uint32_t TMSiDevice, TMSiDevFWStatusReportType* FWReport);
1635
-
1636
- # ---
1637
- # @details This command is used to prepare a device for a firmware update. This
1638
- # call sends the firmware header which is checked for compatibility.
1639
- #
1640
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1641
- # TMSIDeviceHandle.
1642
- # @li device STATEMACHINE shall be in "Device_Open".
1643
- #
1644
- # @Post No change in device state.
1645
- #
1646
- # @depends Low level call 0x0608.
1647
- #
1648
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1649
- # @param[in] TMSiDevice The device which needs to prepare for a firmware update.
1650
- # @param[in] NewFWHeader The new firmware header for the firmware.
1651
- #
1652
- # @return
1653
- # @li TMSI_OK Ok, if response received successful, firmware header is accepted.
1654
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1655
- # ---
1656
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDeviceFWUpdate(void* TMSiDeviceHandle, uint32_t TMSiDevice, TMSiFWHeaderFileType* NewFWHeader);
1657
-
1658
- # ---
1659
- # @details This command is used to send the firmware data to a device.
1660
- #
1661
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1662
- # TMSIDeviceHandle.
1663
- # @li device STATEMACHINE shall be in "Device_Open".
1664
- #
1665
- # @Post No change in device state.
1666
- #
1667
- # @depends Low level call 0x0609.
1668
- #
1669
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1670
- # @param[in] TMSiDevice The destination device for the firmware update.
1671
- # @param[in] FWDataSize The size of the firmware data in bytes.
1672
- # @param[in] FWData The new firmware data.
1673
- #
1674
- # @return
1675
- # @li TMSI_OK Ok, if response received successful.
1676
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1677
- # ---
1678
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiPushFWUpdate(void* TMSiDeviceHandle, uint32_t TMSiDevice, uint32_t FWDataSize, uint8_t* FWData);
1679
-
1680
- # ---
1681
- # @details This command is used to initiate or abort a firmware update.
1682
- #
1683
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1684
- # TMSIDeviceHandle.
1685
- # @li device STATEMACHINE shall be in "Device_Open".
1686
- #
1687
- # @Post No change in device state.
1688
- #
1689
- # @depends Low level call 0x060A.
1690
- #
1691
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1692
- # @param[in] TMSiDevice The device which is being updated.
1693
- # @param[in] FWAction The action to perform on the device.
1694
- #
1695
- # @return
1696
- # @li TMSI_OK Ok, if response received successful.
1697
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1698
- # ---
1699
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiDoneFWUpdate(void* TMSiDeviceHandle, uint32_t TMSiDevice, int32_t FWAction);
1700
-
1701
- # ---
1702
- # @details This command is used to program production information during
1703
- # manufacturing.
1704
- #
1705
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1706
- # TMSIDeviceHandle.
1707
- # @li device STATEMACHINE shall be in "Device_Open".
1708
- #
1709
- # @Post No change in device state.
1710
- #
1711
- # @depends Low level call 0x060B.
1712
- #
1713
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1714
- # @param[in] ProductConfig The device which is being configured.
1715
- # @param[in] ChannelConfigList The list of channels to configure.
1716
- # @param[in] ChannelConfigListLen The size of the ChannelConfigList.
1717
- #
1718
- # @return
1719
- # @li TMSI_OK Ok, if response received successful.
1720
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1721
- # ---
1722
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetProductConfig(void* TMSiDeviceHandle, TMSiDevProductConfigType* ProductConfig, TMSiDevProductChCfgType* ChannelConfigList, uint32_t ChannelConfigListLen);
1723
-
1724
- # ---
1725
- # @details This command is used to set the network configuration for the DS.
1726
- #
1727
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1728
- # TMSIDeviceHandle.
1729
- # @li device STATEMACHINE shall be in "Device_Open".
1730
- #
1731
- # @Post No change in device state.
1732
- #
1733
- # @depends Low level call 0x060C.
1734
- #
1735
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1736
- # @param[out] GetDSNetworkConig The current network configuration of the DS.
1737
- #
1738
- # @return
1739
- # @li TMSI_OK Ok, if response received successful.
1740
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1741
- # ---
1742
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiGetDevNetworkConfig(void* TMSiDeviceHandle, TMSiDevNetworkConfigType* GetDSNetworkConig);
1743
-
1744
- # ---
1745
- # @details This command is used to set the network configuration for the DS.
1746
- #
1747
- # @Pre @li \ref TMSiOpenDevice should have been called and returned a valid
1748
- # TMSIDeviceHandle.
1749
- # @li device STATEMACHINE shall be in "Device_Open".
1750
- #
1751
- # @Post No change in device state.
1752
- #
1753
- # @depends Low level call 0x060D.
1754
- #
1755
- # @param[in] TMSiDeviceHandle Handle to the current open device.
1756
- # @param[in] SetDSNetworkConig The new network configuration for the DS.
1757
- #
1758
- # @return
1759
- # @li TMSI_OK Ok, if response received successful.
1760
- # @li Any TMSI_DS*, TMSI_DR*, TMSI_DLL error received.
1761
- # ---
1762
- # TMSIDEVICEDLL_API TMSiDeviceRetVal TMSiSetDevNetworkConfig(void* TMSiDeviceHandle, TMSiDevNetworkConfigType* SetDSNetworkConig);
1763
-
1764
- # endif