libximc 2.14.30__tar.gz → 3.0.2__tar.gz

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 (74) hide show
  1. {libximc-2.14.30 → libximc-3.0.2}/PKG-INFO +2 -3
  2. {libximc-2.14.30 → libximc-3.0.2}/README.md +1 -1
  3. {libximc-2.14.30 → libximc-3.0.2}/pyproject.toml +1 -1
  4. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/highlevel/__init__.py +2 -2
  5. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/highlevel/_flag_enumerations.py +8 -2
  6. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/highlevel/_highlevel.py +21 -34
  7. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/highlevel/_structure_types.py +12 -12
  8. libximc-3.0.2/src/libximc/library-files/debian-amd64/libbindy.so +0 -0
  9. libximc-3.0.2/src/libximc/library-files/debian-amd64/libjximc.so +0 -0
  10. libximc-3.0.2/src/libximc/library-files/debian-amd64/libjximc.so.7 +0 -0
  11. libximc-3.0.2/src/libximc/library-files/debian-amd64/libjximc.so.7.0.0 +0 -0
  12. libximc-3.0.2/src/libximc/library-files/debian-amd64/libximc.so +0 -0
  13. libximc-3.0.2/src/libximc/library-files/debian-amd64/libximc.so.7 +0 -0
  14. libximc-3.0.2/src/libximc/library-files/debian-amd64/libximc.so.7.0.0 +0 -0
  15. libximc-3.0.2/src/libximc/library-files/debian-amd64/libxiwrapper.so +0 -0
  16. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Headers/ximc.h +5604 -0
  17. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Resources/Info.plist +50 -0
  18. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/7/Frameworks/libbindy.dylib +0 -0
  19. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/7/Frameworks/libxiwrapper.dylib +0 -0
  20. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/7/Headers/ximc.h +5604 -0
  21. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/7/Resources/Info.plist +50 -0
  22. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/7/libximc +0 -0
  23. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/Current/Frameworks/libbindy.dylib +0 -0
  24. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/Current/Frameworks/libxiwrapper.dylib +0 -0
  25. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/Current/Headers/ximc.h +5604 -0
  26. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/Current/Resources/Info.plist +50 -0
  27. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/Versions/Current/libximc +0 -0
  28. libximc-3.0.2/src/libximc/library-files/macosx/libximc.framework/libximc +0 -0
  29. libximc-3.0.2/src/libximc/library-files/win32/bindy.dll +0 -0
  30. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/library-files/win32/bindy.lib +0 -0
  31. libximc-3.0.2/src/libximc/library-files/win32/libjximc.dll +0 -0
  32. libximc-3.0.2/src/libximc/library-files/win32/libximc.dll +0 -0
  33. libximc-3.0.2/src/libximc/library-files/win32/libximc.lib +0 -0
  34. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/library-files/win32/xiwrapper.dll +0 -0
  35. libximc-3.0.2/src/libximc/library-files/win64/bindy.dll +0 -0
  36. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/library-files/win64/bindy.lib +0 -0
  37. libximc-3.0.2/src/libximc/library-files/win64/libjximc.dll +0 -0
  38. libximc-3.0.2/src/libximc/library-files/win64/libximc.dll +0 -0
  39. libximc-3.0.2/src/libximc/library-files/win64/libximc.lib +0 -0
  40. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/library-files/win64/xiwrapper.dll +0 -0
  41. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/lowlevel/_lowlevel.py +24 -10
  42. libximc-2.14.30/.gitignore +0 -16
  43. libximc-2.14.30/src/libximc/library-files/debian-amd64/libbindy.so +0 -0
  44. libximc-2.14.30/src/libximc/library-files/debian-amd64/libjximc.so +0 -0
  45. libximc-2.14.30/src/libximc/library-files/debian-amd64/libjximc.so.7 +0 -0
  46. libximc-2.14.30/src/libximc/library-files/debian-amd64/libjximc.so.7.0.0 +0 -0
  47. libximc-2.14.30/src/libximc/library-files/debian-amd64/libximc.a +0 -0
  48. libximc-2.14.30/src/libximc/library-files/debian-amd64/libximc.so +0 -0
  49. libximc-2.14.30/src/libximc/library-files/debian-amd64/libximc.so.7 +0 -0
  50. libximc-2.14.30/src/libximc/library-files/debian-amd64/libximc.so.7.0.0 +0 -0
  51. libximc-2.14.30/src/libximc/library-files/debian-amd64/libxiwrapper.so +0 -0
  52. libximc-2.14.30/src/libximc/library-files/debian-i386/libbindy.so +0 -0
  53. libximc-2.14.30/src/libximc/library-files/debian-i386/libjximc.so +0 -0
  54. libximc-2.14.30/src/libximc/library-files/debian-i386/libjximc.so.7 +0 -0
  55. libximc-2.14.30/src/libximc/library-files/debian-i386/libjximc.so.7.0.0 +0 -0
  56. libximc-2.14.30/src/libximc/library-files/debian-i386/libximc.a +0 -0
  57. libximc-2.14.30/src/libximc/library-files/debian-i386/libximc.so +0 -0
  58. libximc-2.14.30/src/libximc/library-files/debian-i386/libximc.so.7 +0 -0
  59. libximc-2.14.30/src/libximc/library-files/debian-i386/libximc.so.7.0.0 +0 -0
  60. libximc-2.14.30/src/libximc/library-files/debian-i386/libxiwrapper.so +0 -0
  61. libximc-2.14.30/src/libximc/library-files/win32/bindy.dll +0 -0
  62. libximc-2.14.30/src/libximc/library-files/win32/libjximc.dll +0 -0
  63. libximc-2.14.30/src/libximc/library-files/win32/libximc.dll +0 -0
  64. libximc-2.14.30/src/libximc/library-files/win32/libximc.lib +0 -0
  65. libximc-2.14.30/src/libximc/library-files/win32/ximcnet.dll +0 -0
  66. libximc-2.14.30/src/libximc/library-files/win64/bindy.dll +0 -0
  67. libximc-2.14.30/src/libximc/library-files/win64/libjximc.dll +0 -0
  68. libximc-2.14.30/src/libximc/library-files/win64/libximc.dll +0 -0
  69. libximc-2.14.30/src/libximc/library-files/win64/libximc.lib +0 -0
  70. libximc-2.14.30/src/libximc/library-files/win64/ximcnet.dll +0 -0
  71. {libximc-2.14.30 → libximc-3.0.2}/.flake8 +0 -0
  72. {libximc-2.14.30 → libximc-3.0.2}/LICENSE +0 -0
  73. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/__init__.py +0 -0
  74. {libximc-2.14.30 → libximc-3.0.2}/src/libximc/lowlevel/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: libximc
3
- Version: 2.14.30
3
+ Version: 3.0.2
4
4
  Summary: Package for operating STANDA 8SMC5 controllers
5
5
  Author-email: STANDA LTD <8smc4@standa.lt>
6
6
  License: Copyright (c) 2023 STANDA LTD
@@ -22,7 +22,6 @@ License: Copyright (c) 2023 STANDA LTD
22
22
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
23
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
24
  SOFTWARE.
25
- License-File: LICENSE
26
25
  Classifier: License :: OSI Approved :: MIT License
27
26
  Classifier: Operating System :: OS Independent
28
27
  Classifier: Programming Language :: Python :: 3
@@ -35,7 +34,7 @@ This is a python binding for libximc - cross-platform library for [Standa 8SMC5
35
34
 
36
35
  ![8SMC5-based devices](https://raw.githubusercontent.com/Standa-Optomechanics/libximc/dev-2.14/libximc/docs/8SMC5_based_devices.png)
37
36
 
38
- Libximc manages hardware using interfaces: USB 2.0, RS232 and Ethernet, also uses a common and proven virtual serial port interface, so you can work with motor control modules through this library under Windows and Linux. MacOS X isn't supported yet.
37
+ Libximc manages hardware using interfaces: USB 2.0, RS232 and Ethernet, also uses a common and proven virtual serial port interface, so you can work with motor control modules through this library under Windows and Linux. macOS isn't supported yet.
39
38
 
40
39
  This library also supports virtual devices. So you can make some tests without real hardware.
41
40
 
@@ -4,7 +4,7 @@ This is a python binding for libximc - cross-platform library for [Standa 8SMC5
4
4
 
5
5
  ![8SMC5-based devices](https://raw.githubusercontent.com/Standa-Optomechanics/libximc/dev-2.14/libximc/docs/8SMC5_based_devices.png)
6
6
 
7
- Libximc manages hardware using interfaces: USB 2.0, RS232 and Ethernet, also uses a common and proven virtual serial port interface, so you can work with motor control modules through this library under Windows and Linux. MacOS X isn't supported yet.
7
+ Libximc manages hardware using interfaces: USB 2.0, RS232 and Ethernet, also uses a common and proven virtual serial port interface, so you can work with motor control modules through this library under Windows and Linux. macOS isn't supported yet.
8
8
 
9
9
  This library also supports virtual devices. So you can make some tests without real hardware.
10
10
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "libximc"
7
- version = "2.14.30"
7
+ version = "3.0.2"
8
8
  authors = [
9
9
  { name="STANDA LTD", email="8smc4@standa.lt" },
10
10
  ]
@@ -65,7 +65,7 @@ from libximc.highlevel._structure_types import (feedback_settings_t,
65
65
  controller_name_t,
66
66
  nonvolatile_memory_t,
67
67
  emf_settings_t,
68
- engine_advansed_setup_t,
68
+ engine_advanced_setup_t,
69
69
  engine_advanced_setup_t,
70
70
  get_position_t,
71
71
  get_position_calb_t,
@@ -147,7 +147,7 @@ __all__ = [
147
147
  controller_name_t,
148
148
  nonvolatile_memory_t,
149
149
  emf_settings_t,
150
- engine_advansed_setup_t,
150
+ engine_advanced_setup_t,
151
151
  engine_advanced_setup_t,
152
152
  get_position_t,
153
153
  get_position_calb_t,
@@ -204,7 +204,7 @@ class SecureFlags(StrictIntFlag):
204
204
  H_BRIDGE_ALERT = 0x04
205
205
  ALARM_ON_BORDERS_SWAP_MISSET = 0x08
206
206
  ALARM_FLAGS_STICKING = 0x10
207
- USB_BREAK_RECONNECT = 0x20
207
+ BRAKING_OVERVOLTAGE_PROTECTION = 0x20
208
208
  ALARM_WINDING_MISMATCH = 0x40
209
209
  ALARM_ENGINE_RESPONSE = 0x80
210
210
 
@@ -223,10 +223,16 @@ class FeedbackType(StrictIntFlag):
223
223
 
224
224
  class FeedbackFlags(StrictIntFlag):
225
225
  FEEDBACK_ENC_REVERSE = 0x01
226
- FEEDBACK_ENC_TYPE_BITS = 0xC0
226
+ FEEDBACK_ENC_ADAPTIVE_HOLDING = 0x02
227
+ FEEDBACK_ENC_FILTER_NONE = 0x00
228
+ FEEDBACK_ENC_FILTER_WEAK = 0x10
229
+ FEEDBACK_ENC_FILTER_MEDIUM = 0x20
230
+ FEEDBACK_ENC_FILTER_STRONG = 0x30
231
+ FEEDBACK_ENC_FILTER_BITS = 0x30
227
232
  FEEDBACK_ENC_TYPE_AUTO = 0x00
228
233
  FEEDBACK_ENC_TYPE_SINGLE_ENDED = 0x40
229
234
  FEEDBACK_ENC_TYPE_DIFFERENTIAL = 0x80
235
+ FEEDBACK_ENC_TYPE_BITS = 0xC0
230
236
 
231
237
 
232
238
  class SyncInFlags(StrictIntFlag):
@@ -48,7 +48,7 @@ from libximc.highlevel._structure_types import (feedback_settings_t,
48
48
  controller_name_t,
49
49
  nonvolatile_memory_t,
50
50
  emf_settings_t,
51
- engine_advansed_setup_t,
51
+ engine_advanced_setup_t,
52
52
  engine_advanced_setup_t,
53
53
  get_position_t,
54
54
  get_position_calb_t,
@@ -121,10 +121,9 @@ class Axis:
121
121
  "xi-com:/dev/tty.s123" in Linux/Mac. In case of network device the "host" is an IPv4 address or fully
122
122
  qualified domain uri (FQDN), "serial" is the device serial number in hexadecimal system. For example
123
123
  "xi-net://192.168.0.1/00001234" or "xi-net://hostname.com/89ABCDEF". In case of UDP protocol, use
124
- "xi-udp://<ip/host>:<port>. For example, "xi-udp://192.168.0.1:1818". Note: to open network device you
125
- must call set_bindy_key first. In case of virtual device the "file" is the full filename with device
126
- memory state, if it doesn't exist then it is initialized with default values. For example
127
- "xi-emu:///C:/dir/file.bin" in Windows or "xi-emu:///home/user/file.bin" in Linux/Mac.
124
+ "xi-udp://<ip/host>:<port>. For example, "xi-udp://192.168.0.1:1818". In case of virtual device the "file"
125
+ is the full filename with device memory state, if it doesn't exist then it is initialized with default values.
126
+ For example "xi-emu:///C:/dir/file.bin" in Windows or "xi-emu:///home/user/file.bin" in Linux/Mac.
128
127
  :type uri: str
129
128
  """
130
129
  def __init__(self, uri: str) -> None:
@@ -295,7 +294,7 @@ class Axis:
295
294
  """
296
295
  self._check_device_opened()
297
296
  if not isinstance(settings, move_settings_t):
298
- raise TypeError("settings must be of type MoveSettings. {} was MoveSettings.".format(type(settings)))
297
+ raise TypeError("settings must be of type MoveSettings. {} was got.".format(type(settings)))
299
298
  _check_fullness(settings)
300
299
  move_settings = ll.move_settings_t(settings.Speed,
301
300
  settings.uSpeed,
@@ -1178,21 +1177,21 @@ class Axis:
1178
1177
  return nonvolatile_memory_t(list(nonvolatile_memory.UserData))
1179
1178
 
1180
1179
  # Legacy
1181
- def set_engine_advansed_setup(self, setup: engine_advansed_setup_t) -> None:
1180
+ def set_engine_advanced_setup(self, setup: engine_advanced_setup_t) -> None:
1182
1181
  """Set engine advanced settings.
1183
1182
 
1184
1183
  :param setup: EAS settings
1185
- :type setup: engine_advansed_setup_t
1184
+ :type setup: engine_advanced_setup_t
1186
1185
  """
1187
1186
  self._check_device_opened()
1188
- if not isinstance(setup, engine_advansed_setup_t):
1189
- raise TypeError("setup must be of type engine_advansed_setup_t. {} was got.".format(type(setup)))
1187
+ if not isinstance(setup, engine_advanced_setup_t):
1188
+ raise TypeError("setup must be of type engine_advanced_setup_t. {} was got.".format(type(setup)))
1190
1189
  _check_fullness(setup)
1191
- engine_advanced_setup = ll.engine_advansed_setup_t(
1190
+ engine_advanced_setup = ll.engine_advanced_setup_t(
1192
1191
  setup.stepcloseloop_Kw,
1193
1192
  setup.stepcloseloop_Kp_low,
1194
1193
  setup.stepcloseloop_Kp_high)
1195
- _check_result(lib.set_engine_advansed_setup(self._device_id, byref(engine_advanced_setup)))
1194
+ _check_result(lib.set_engine_advanced_setup(self._device_id, byref(engine_advanced_setup)))
1196
1195
 
1197
1196
  def set_engine_advanced_setup(self, setup: engine_advanced_setup_t) -> None:
1198
1197
  """Set engine advanced settings.
@@ -1204,23 +1203,23 @@ class Axis:
1204
1203
  if not isinstance(setup, engine_advanced_setup_t):
1205
1204
  raise TypeError("setup must be of type engine_advanced_setup_t. {} was got.".format(type(setup)))
1206
1205
  _check_fullness(setup)
1207
- engine_advanced_setup = ll.engine_advansed_setup_t(
1206
+ engine_advanced_setup = ll.engine_advanced_setup_t(
1208
1207
  setup.stepcloseloop_Kw,
1209
1208
  setup.stepcloseloop_Kp_low,
1210
1209
  setup.stepcloseloop_Kp_high)
1211
- _check_result(lib.set_engine_advansed_setup(self._device_id, byref(engine_advanced_setup)))
1210
+ _check_result(lib.set_engine_advanced_setup(self._device_id, byref(engine_advanced_setup)))
1212
1211
 
1213
1212
  # Legacy
1214
- def get_engine_advansed_setup(self) -> engine_advansed_setup_t:
1213
+ def get_engine_advanced_setup(self) -> engine_advanced_setup_t:
1215
1214
  """Read engine advanced settings.
1216
1215
 
1217
1216
  :return: EAS settings
1218
- :rtype: engine_advansed_setup_t
1217
+ :rtype: engine_advanced_setup_t
1219
1218
  """
1220
1219
  self._check_device_opened()
1221
- engine_advanced_setup = ll.engine_advansed_setup_t()
1222
- _check_result(lib.get_engine_advansed_setup(self._device_id, byref(engine_advanced_setup)))
1223
- return engine_advansed_setup_t(engine_advanced_setup.stepcloseloop_Kw,
1220
+ engine_advanced_setup = ll.engine_advanced_setup_t()
1221
+ _check_result(lib.get_engine_advanced_setup(self._device_id, byref(engine_advanced_setup)))
1222
+ return engine_advanced_setup_t(engine_advanced_setup.stepcloseloop_Kw,
1224
1223
  engine_advanced_setup.stepcloseloop_Kp_low,
1225
1224
  engine_advanced_setup.stepcloseloop_Kp_high)
1226
1225
 
@@ -1231,8 +1230,8 @@ class Axis:
1231
1230
  :rtype: engine_advanced_setup_t
1232
1231
  """
1233
1232
  self._check_device_opened()
1234
- engine_advanced_setup = ll.engine_advansed_setup_t()
1235
- _check_result(lib.get_engine_advansed_setup(self._device_id, byref(engine_advanced_setup)))
1233
+ engine_advanced_setup = ll.engine_advanced_setup_t()
1234
+ _check_result(lib.get_engine_advanced_setup(self._device_id, byref(engine_advanced_setup)))
1236
1235
  return engine_advanced_setup_t(engine_advanced_setup.stepcloseloop_Kw,
1237
1236
  engine_advanced_setup.stepcloseloop_Kp_low,
1238
1237
  engine_advanced_setup.stepcloseloop_Kp_high)
@@ -1447,7 +1446,7 @@ class Axis:
1447
1446
  chart_data.WindingCurrentC,
1448
1447
  chart_data.Pot,
1449
1448
  chart_data.Joy,
1450
- chart_data.DutyCycle)
1449
+ chart_data.AveragedPowerRatio)
1451
1450
 
1452
1451
  def get_serial_number(self) -> int:
1453
1452
  """Read device serial number.
@@ -1632,18 +1631,6 @@ class Axis:
1632
1631
  self._check_device_opened()
1633
1632
  _check_result(lib.command_homezero(self._device_id))
1634
1633
 
1635
- def set_bindy_key(self, keyfilepath: str) -> None:
1636
- """Set network encryption layer (bindy) key.
1637
-
1638
- :param keyfilepath: full path to the bindy keyfile When using network-attached devices this function must be
1639
- called before enumerate_devices and open_device functions.
1640
- :type keyfilepath: str
1641
- """
1642
- self._check_device_opened()
1643
- if not isinstance(keyfilepath, str):
1644
- raise TypeError("keyfilepath must be of type str. {} was got.".format(type(keyfilepath)))
1645
- _check_result(lib.set_bindy_key(keyfilepath.encode()))
1646
-
1647
1634
  def open_device(self) -> None:
1648
1635
  """Open a device"""
1649
1636
  device_id = lib.open_device(self.uri.encode())
@@ -2651,7 +2651,7 @@ class emf_settings_t:
2651
2651
 
2652
2652
 
2653
2653
  # Legacy
2654
- class engine_advansed_setup_t:
2654
+ class engine_advanced_setup_t:
2655
2655
  def __init__(
2656
2656
  self,
2657
2657
  stepcloseloop_Kw: int = NOT_INITIALIZED,
@@ -2709,7 +2709,7 @@ class engine_advansed_setup_t:
2709
2709
  return result
2710
2710
 
2711
2711
 
2712
- class engine_advanced_setup_t(engine_advansed_setup_t):
2712
+ class engine_advanced_setup_t(engine_advanced_setup_t):
2713
2713
  pass
2714
2714
 
2715
2715
 
@@ -3595,7 +3595,7 @@ class chart_data_t:
3595
3595
  WindingCurrentC: int = NOT_INITIALIZED,
3596
3596
  Pot: int = NOT_INITIALIZED,
3597
3597
  Joy: int = NOT_INITIALIZED,
3598
- DutyCycle: int = NOT_INITIALIZED):
3598
+ AveragedPowerRatio: int = NOT_INITIALIZED):
3599
3599
  """Additional device state.
3600
3600
 
3601
3601
  This structure contains additional values such as winding's voltages, currents and temperature.
@@ -3625,8 +3625,8 @@ class chart_data_t:
3625
3625
  :type Pot: int
3626
3626
  :param Joy: The joystick position, dimensionless. Range: 0..10000
3627
3627
  :type Joy: int
3628
- :param DutyCycle: PWM duty cycle.
3629
- :type DutyCycle: int
3628
+ :param AveragedPowerRatio: averaged power ratio.
3629
+ :type AveragedPowerRatio: int
3630
3630
  """
3631
3631
  self.WindingVoltageA = WindingVoltageA
3632
3632
  self.WindingVoltageB = WindingVoltageB
@@ -3636,7 +3636,7 @@ class chart_data_t:
3636
3636
  self.WindingCurrentC = WindingCurrentC
3637
3637
  self.Pot = Pot
3638
3638
  self.Joy = Joy
3639
- self.DutyCycle = DutyCycle
3639
+ self.AveragedPowerRatio = AveragedPowerRatio
3640
3640
 
3641
3641
  # getters
3642
3642
  @property
@@ -3672,8 +3672,8 @@ class chart_data_t:
3672
3672
  return self._Joy
3673
3673
 
3674
3674
  @property
3675
- def DutyCycle(self) -> int:
3676
- return self._DutyCycle
3675
+ def AveragedPowerRatio(self) -> int:
3676
+ return self._AveragedPowerRatio
3677
3677
 
3678
3678
  # setters
3679
3679
  @WindingVoltageA.setter
@@ -3716,10 +3716,10 @@ class chart_data_t:
3716
3716
  _check_noncontainer_castability(val, c_uint16, varname="Joy")
3717
3717
  self._Joy = val
3718
3718
 
3719
- @DutyCycle.setter
3720
- def DutyCycle(self, val):
3721
- _check_noncontainer_castability(val, c_int16, varname="DutyCycle")
3722
- self._DutyCycle = val
3719
+ @AveragedPowerRatio.setter
3720
+ def AveragedPowerRatio(self, val):
3721
+ _check_noncontainer_castability(val, c_int16, varname="AveragedPowerRatio")
3722
+ self._AveragedPowerRatio = val
3723
3723
 
3724
3724
  def __repr__(self) -> str:
3725
3725
  result = ""