@zaber/motion 9.0.1 → 9.2.0

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 (288) hide show
  1. package/LICENSE +6 -6
  2. package/dist/binding/wasm/zaber-motion-core.wasm +0 -0
  3. package/dist/lib/ascii/axis_settings.d.ts +22 -1
  4. package/dist/lib/ascii/axis_settings.d.ts.map +1 -1
  5. package/dist/lib/ascii/axis_settings.js +48 -1
  6. package/dist/lib/ascii/axis_settings.js.map +1 -1
  7. package/dist/lib/ascii/device_settings.d.ts +55 -1
  8. package/dist/lib/ascii/device_settings.d.ts.map +1 -1
  9. package/dist/lib/ascii/device_settings.js +74 -1
  10. package/dist/lib/ascii/device_settings.js.map +1 -1
  11. package/dist/lib/ascii/get_axis_setting_typed_result.d.ts +29 -0
  12. package/dist/lib/ascii/get_axis_setting_typed_result.d.ts.map +1 -0
  13. package/dist/lib/ascii/get_axis_setting_typed_result.js +52 -0
  14. package/dist/lib/ascii/get_axis_setting_typed_result.js.map +1 -0
  15. package/dist/lib/ascii/get_setting_bool_result.d.ts +23 -0
  16. package/dist/lib/ascii/get_setting_bool_result.d.ts.map +1 -0
  17. package/dist/lib/ascii/get_setting_bool_result.js +39 -0
  18. package/dist/lib/ascii/get_setting_bool_result.js.map +1 -0
  19. package/dist/lib/ascii/get_setting_int_result.d.ts +23 -0
  20. package/dist/lib/ascii/get_setting_int_result.d.ts.map +1 -0
  21. package/dist/lib/ascii/get_setting_int_result.js +39 -0
  22. package/dist/lib/ascii/get_setting_int_result.js.map +1 -0
  23. package/dist/lib/ascii/get_setting_string_result.d.ts +23 -0
  24. package/dist/lib/ascii/get_setting_string_result.d.ts.map +1 -0
  25. package/dist/lib/ascii/get_setting_string_result.js +39 -0
  26. package/dist/lib/ascii/get_setting_string_result.js.map +1 -0
  27. package/dist/lib/ascii/get_setting_typed_result.d.ts +29 -0
  28. package/dist/lib/ascii/get_setting_typed_result.d.ts.map +1 -0
  29. package/dist/lib/ascii/get_setting_typed_result.js +52 -0
  30. package/dist/lib/ascii/get_setting_typed_result.js.map +1 -0
  31. package/dist/lib/ascii/get_settings_by_type_result.d.ts +35 -0
  32. package/dist/lib/ascii/get_settings_by_type_result.d.ts.map +1 -0
  33. package/dist/lib/ascii/get_settings_by_type_result.js +50 -0
  34. package/dist/lib/ascii/get_settings_by_type_result.js.map +1 -0
  35. package/dist/lib/ascii/index.d.ts +8 -0
  36. package/dist/lib/ascii/index.d.ts.map +1 -1
  37. package/dist/lib/ascii/index.js +8 -0
  38. package/dist/lib/ascii/index.js.map +1 -1
  39. package/dist/lib/ascii/pvt_buffer.d.ts +22 -1
  40. package/dist/lib/ascii/pvt_buffer.d.ts.map +1 -1
  41. package/dist/lib/ascii/pvt_buffer.js +9 -1
  42. package/dist/lib/ascii/pvt_buffer.js.map +1 -1
  43. package/dist/lib/ascii/pvt_buffer_axis_units.d.ts +29 -0
  44. package/dist/lib/ascii/pvt_buffer_axis_units.d.ts.map +1 -0
  45. package/dist/lib/ascii/pvt_buffer_axis_units.js +44 -0
  46. package/dist/lib/ascii/pvt_buffer_axis_units.js.map +1 -0
  47. package/dist/lib/ascii/pvt_csv_data.js.map +1 -1
  48. package/dist/lib/ascii/pvt_partial_csv_data.js.map +1 -1
  49. package/dist/lib/ascii/setting_constants.d.ts +12 -0
  50. package/dist/lib/ascii/setting_constants.d.ts.map +1 -1
  51. package/dist/lib/ascii/setting_constants.js +12 -0
  52. package/dist/lib/ascii/setting_constants.js.map +1 -1
  53. package/dist/lib/ascii/simple_tuning.d.ts +4 -0
  54. package/dist/lib/ascii/simple_tuning.d.ts.map +1 -1
  55. package/dist/lib/ascii/simple_tuning.js +5 -1
  56. package/dist/lib/ascii/simple_tuning.js.map +1 -1
  57. package/dist/lib/ascii/typed_setting.d.ts +20 -0
  58. package/dist/lib/ascii/typed_setting.d.ts.map +1 -0
  59. package/dist/lib/ascii/typed_setting.js +84 -0
  60. package/dist/lib/ascii/typed_setting.js.map +1 -0
  61. package/dist/lib/exceptions/{ge_1_gripper_movement_failed_exception.d.ts → ge_1_x_gripper_movement_failed_exception.d.ts} +2 -2
  62. package/dist/lib/exceptions/ge_1_x_gripper_movement_failed_exception.d.ts.map +1 -0
  63. package/dist/lib/exceptions/{ge_1_gripper_movement_failed_exception.js → ge_1_x_gripper_movement_failed_exception.js} +5 -5
  64. package/dist/lib/exceptions/ge_1_x_gripper_movement_failed_exception.js.map +1 -0
  65. package/dist/lib/exceptions/index.d.ts +1 -1
  66. package/dist/lib/exceptions/index.d.ts.map +1 -1
  67. package/dist/lib/exceptions/index.js +1 -1
  68. package/dist/lib/exceptions/index.js.map +1 -1
  69. package/dist/lib/gateway/constants.js +1 -1
  70. package/dist/lib/gateway/constants.js.map +1 -1
  71. package/dist/lib/gateway/convert_exceptions.js +1 -1
  72. package/dist/lib/gateway/convert_exceptions.js.map +1 -1
  73. package/dist/lib/product/{ge_1_gripper.d.ts → ge_1_x_gripper.d.ts} +27 -25
  74. package/dist/lib/product/ge_1_x_gripper.d.ts.map +1 -0
  75. package/dist/lib/product/{ge_1_gripper.js → ge_1_x_gripper.js} +102 -100
  76. package/dist/lib/product/ge_1_x_gripper.js.map +1 -0
  77. package/dist/lib/product/{ge_1_gripper_direction.d.ts → ge_1_x_gripper_direction.d.ts} +4 -4
  78. package/dist/lib/product/ge_1_x_gripper_direction.d.ts.map +1 -0
  79. package/dist/lib/product/ge_1_x_gripper_direction.js +24 -0
  80. package/dist/lib/product/ge_1_x_gripper_direction.js.map +1 -0
  81. package/dist/lib/product/{ge_1_gripper_error.d.ts → ge_1_x_gripper_error.d.ts} +4 -4
  82. package/dist/lib/product/ge_1_x_gripper_error.d.ts.map +1 -0
  83. package/dist/lib/product/ge_1_x_gripper_error.js +46 -0
  84. package/dist/lib/product/ge_1_x_gripper_error.js.map +1 -0
  85. package/dist/lib/product/{ge_1_gripper_state.d.ts → ge_1_x_gripper_state.d.ts} +4 -4
  86. package/dist/lib/product/ge_1_x_gripper_state.d.ts.map +1 -0
  87. package/dist/lib/product/ge_1_x_gripper_state.js +32 -0
  88. package/dist/lib/product/ge_1_x_gripper_state.js.map +1 -0
  89. package/dist/lib/product/index.d.ts +4 -4
  90. package/dist/lib/product/index.d.ts.map +1 -1
  91. package/dist/lib/product/index.js +4 -4
  92. package/dist/lib/product/index.js.map +1 -1
  93. package/dist/lib/requests/device_convert_setting_request.d.ts +1 -0
  94. package/dist/lib/requests/device_convert_setting_request.d.ts.map +1 -1
  95. package/dist/lib/requests/device_convert_setting_request.js +5 -1
  96. package/dist/lib/requests/device_convert_setting_request.js.map +1 -1
  97. package/dist/lib/requests/device_get_many_by_type_request.d.ts +19 -0
  98. package/dist/lib/requests/device_get_many_by_type_request.d.ts.map +1 -0
  99. package/dist/lib/requests/device_get_many_by_type_request.js +56 -0
  100. package/dist/lib/requests/device_get_many_by_type_request.js.map +1 -0
  101. package/dist/lib/requests/errors.d.ts +2 -2
  102. package/dist/lib/requests/errors.d.ts.map +1 -1
  103. package/dist/lib/requests/errors.js +2 -2
  104. package/dist/lib/requests/errors.js.map +1 -1
  105. package/dist/lib/requests/ge_1_x_gripper_activate_preset_request.d.ts +15 -0
  106. package/dist/lib/requests/ge_1_x_gripper_activate_preset_request.d.ts.map +1 -0
  107. package/dist/lib/requests/{ge_1_gripper_activate_preset_request.js → ge_1_x_gripper_activate_preset_request.js} +7 -7
  108. package/dist/lib/requests/ge_1_x_gripper_activate_preset_request.js.map +1 -0
  109. package/dist/lib/requests/ge_1_x_gripper_calibrate_request.d.ts +14 -0
  110. package/dist/lib/requests/ge_1_x_gripper_calibrate_request.d.ts.map +1 -0
  111. package/dist/lib/requests/{ge_1_gripper_calibrate_request.js → ge_1_x_gripper_calibrate_request.js} +7 -7
  112. package/dist/lib/requests/ge_1_x_gripper_calibrate_request.js.map +1 -0
  113. package/dist/lib/requests/ge_1_x_gripper_empty_request.d.ts +13 -0
  114. package/dist/lib/requests/ge_1_x_gripper_empty_request.d.ts.map +1 -0
  115. package/dist/lib/requests/{ge_1_gripper_empty_request.js → ge_1_x_gripper_empty_request.js} +7 -7
  116. package/dist/lib/requests/ge_1_x_gripper_empty_request.js.map +1 -0
  117. package/dist/lib/requests/ge_1_x_gripper_get_error_response.d.ts +14 -0
  118. package/dist/lib/requests/ge_1_x_gripper_get_error_response.d.ts.map +1 -0
  119. package/dist/lib/requests/ge_1_x_gripper_get_error_response.js +36 -0
  120. package/dist/lib/requests/ge_1_x_gripper_get_error_response.js.map +1 -0
  121. package/dist/lib/requests/ge_1_x_gripper_get_state_response.d.ts +14 -0
  122. package/dist/lib/requests/ge_1_x_gripper_get_state_response.d.ts.map +1 -0
  123. package/dist/lib/requests/ge_1_x_gripper_get_state_response.js +36 -0
  124. package/dist/lib/requests/ge_1_x_gripper_get_state_response.js.map +1 -0
  125. package/dist/lib/requests/ge_1_x_gripper_move_request.d.ts +15 -0
  126. package/dist/lib/requests/ge_1_x_gripper_move_request.d.ts.map +1 -0
  127. package/dist/lib/requests/{ge_1_gripper_move_request.js → ge_1_x_gripper_move_request.js} +7 -7
  128. package/dist/lib/requests/ge_1_x_gripper_move_request.js.map +1 -0
  129. package/dist/lib/requests/ge_1_x_gripper_open_connection_request.d.ts +15 -0
  130. package/dist/lib/requests/ge_1_x_gripper_open_connection_request.d.ts.map +1 -0
  131. package/dist/lib/requests/{ge_1_gripper_open_connection_request.js → ge_1_x_gripper_open_connection_request.js} +7 -7
  132. package/dist/lib/requests/ge_1_x_gripper_open_connection_request.js.map +1 -0
  133. package/dist/lib/requests/ge_1_x_gripper_read_register_request.d.ts +14 -0
  134. package/dist/lib/requests/ge_1_x_gripper_read_register_request.d.ts.map +1 -0
  135. package/dist/lib/requests/{ge_1_gripper_read_register_request.js → ge_1_x_gripper_read_register_request.js} +7 -7
  136. package/dist/lib/requests/ge_1_x_gripper_read_register_request.js.map +1 -0
  137. package/dist/lib/requests/ge_1_x_gripper_set_auto_home_request.d.ts +15 -0
  138. package/dist/lib/requests/ge_1_x_gripper_set_auto_home_request.d.ts.map +1 -0
  139. package/dist/lib/requests/{ge_1_gripper_set_io_enabled_request.js → ge_1_x_gripper_set_auto_home_request.js} +7 -7
  140. package/dist/lib/requests/ge_1_x_gripper_set_auto_home_request.js.map +1 -0
  141. package/dist/lib/requests/ge_1_x_gripper_set_force_request.d.ts +14 -0
  142. package/dist/lib/requests/ge_1_x_gripper_set_force_request.d.ts.map +1 -0
  143. package/dist/lib/requests/{ge_1_gripper_set_force_request.js → ge_1_x_gripper_set_force_request.js} +7 -7
  144. package/dist/lib/requests/ge_1_x_gripper_set_force_request.js.map +1 -0
  145. package/dist/lib/requests/ge_1_x_gripper_set_home_direction_request.d.ts +16 -0
  146. package/dist/lib/requests/ge_1_x_gripper_set_home_direction_request.d.ts.map +1 -0
  147. package/dist/lib/requests/{ge_1_gripper_set_home_direction_request.js → ge_1_x_gripper_set_home_direction_request.js} +10 -10
  148. package/dist/lib/requests/ge_1_x_gripper_set_home_direction_request.js.map +1 -0
  149. package/dist/lib/requests/ge_1_x_gripper_set_io_enabled_request.d.ts +15 -0
  150. package/dist/lib/requests/ge_1_x_gripper_set_io_enabled_request.d.ts.map +1 -0
  151. package/dist/lib/requests/{ge_1_gripper_set_auto_home_request.js → ge_1_x_gripper_set_io_enabled_request.js} +7 -7
  152. package/dist/lib/requests/ge_1_x_gripper_set_io_enabled_request.js.map +1 -0
  153. package/dist/lib/requests/ge_1_x_gripper_set_io_input_filter_request.d.ts +15 -0
  154. package/dist/lib/requests/ge_1_x_gripper_set_io_input_filter_request.d.ts.map +1 -0
  155. package/dist/lib/requests/{ge_1_gripper_set_io_input_filter_request.js → ge_1_x_gripper_set_io_input_filter_request.js} +7 -7
  156. package/dist/lib/requests/ge_1_x_gripper_set_io_input_filter_request.js.map +1 -0
  157. package/dist/lib/requests/ge_1_x_gripper_set_preset_request.d.ts +18 -0
  158. package/dist/lib/requests/ge_1_x_gripper_set_preset_request.d.ts.map +1 -0
  159. package/dist/lib/requests/{ge_1_gripper_set_preset_request.js → ge_1_x_gripper_set_preset_request.js} +7 -7
  160. package/dist/lib/requests/ge_1_x_gripper_set_preset_request.js.map +1 -0
  161. package/dist/lib/requests/ge_1_x_gripper_set_speed_request.d.ts +14 -0
  162. package/dist/lib/requests/ge_1_x_gripper_set_speed_request.d.ts.map +1 -0
  163. package/dist/lib/requests/{ge_1_gripper_set_speed_request.js → ge_1_x_gripper_set_speed_request.js} +7 -7
  164. package/dist/lib/requests/ge_1_x_gripper_set_speed_request.js.map +1 -0
  165. package/dist/lib/requests/ge_1_x_gripper_wait_until_idle_request.d.ts +14 -0
  166. package/dist/lib/requests/ge_1_x_gripper_wait_until_idle_request.d.ts.map +1 -0
  167. package/dist/lib/requests/{ge_1_gripper_wait_until_idle_request.js → ge_1_x_gripper_wait_until_idle_request.js} +7 -7
  168. package/dist/lib/requests/ge_1_x_gripper_wait_until_idle_request.js.map +1 -0
  169. package/dist/lib/requests/ge_1_x_gripper_write_register_request.d.ts +15 -0
  170. package/dist/lib/requests/ge_1_x_gripper_write_register_request.d.ts.map +1 -0
  171. package/dist/lib/requests/{ge_1_gripper_write_register_request.js → ge_1_x_gripper_write_register_request.js} +7 -7
  172. package/dist/lib/requests/ge_1_x_gripper_write_register_request.js.map +1 -0
  173. package/dist/lib/requests/get_axis_settings_typed_response.d.ts +14 -0
  174. package/dist/lib/requests/get_axis_settings_typed_response.d.ts.map +1 -0
  175. package/dist/lib/requests/get_axis_settings_typed_response.js +35 -0
  176. package/dist/lib/requests/get_axis_settings_typed_response.js.map +1 -0
  177. package/dist/lib/requests/get_settings_typed_response.d.ts +14 -0
  178. package/dist/lib/requests/get_settings_typed_response.d.ts.map +1 -0
  179. package/dist/lib/requests/get_settings_typed_response.js +35 -0
  180. package/dist/lib/requests/get_settings_typed_response.js.map +1 -0
  181. package/dist/lib/requests/index.d.ts +21 -17
  182. package/dist/lib/requests/index.d.ts.map +1 -1
  183. package/dist/lib/requests/index.js +21 -17
  184. package/dist/lib/requests/index.js.map +1 -1
  185. package/dist/lib/requests/pvt_buffer_get_sequence_data_request.d.ts +4 -0
  186. package/dist/lib/requests/pvt_buffer_get_sequence_data_request.d.ts.map +1 -1
  187. package/dist/lib/requests/pvt_buffer_get_sequence_data_request.js +11 -1
  188. package/dist/lib/requests/pvt_buffer_get_sequence_data_request.js.map +1 -1
  189. package/dist/lib/requests/pvt_buffer_get_sequence_data_response.js.map +1 -1
  190. package/dist/lib/requests/pvt_convert_time_request.js.map +1 -1
  191. package/dist/lib/requests/pvt_convert_time_response.js.map +1 -1
  192. package/dist/lib/requests/pvt_generate_positions_request.js.map +1 -1
  193. package/dist/lib/requests/pvt_generate_sequence_response.js.map +1 -1
  194. package/dist/lib/requests/pvt_generate_velocities_and_times_request.js.map +1 -1
  195. package/dist/lib/requests/pvt_generate_velocities_request.js.map +1 -1
  196. package/dist/lib/requests/pvt_items_request.js.map +1 -1
  197. package/dist/lib/requests/pvt_partial_convert_time_request.js.map +1 -1
  198. package/dist/lib/requests/pvt_partial_convert_time_response.js.map +1 -1
  199. package/dist/lib/requests/pvt_save_csv_request.js.map +1 -1
  200. package/dist/lib/requests/pvt_submit_sequence_data_request.js.map +1 -1
  201. package/dist/lib/requests/test_dto_with_variants.js.map +1 -1
  202. package/dist/lib/requests/test_request_complex.d.ts +2 -0
  203. package/dist/lib/requests/test_request_complex.d.ts.map +1 -1
  204. package/dist/lib/requests/test_request_complex.js +13 -2
  205. package/dist/lib/requests/test_request_complex.js.map +1 -1
  206. package/dist/lib/requests/typed_setting_response.d.ts +14 -0
  207. package/dist/lib/requests/typed_setting_response.d.ts.map +1 -0
  208. package/dist/lib/requests/typed_setting_response.js +40 -0
  209. package/dist/lib/requests/typed_setting_response.js.map +1 -0
  210. package/dist/lib/requests/unit_convert_native_request.d.ts +1 -0
  211. package/dist/lib/requests/unit_convert_native_request.d.ts.map +1 -1
  212. package/dist/lib/requests/unit_convert_native_request.js +5 -1
  213. package/dist/lib/requests/unit_convert_native_request.js.map +1 -1
  214. package/dist/lib/unit_conversion_descriptor.d.ts +4 -0
  215. package/dist/lib/unit_conversion_descriptor.d.ts.map +1 -1
  216. package/dist/lib/unit_conversion_descriptor.js +5 -1
  217. package/dist/lib/unit_conversion_descriptor.js.map +1 -1
  218. package/dist/lib/unit_table.d.ts +4 -2
  219. package/dist/lib/unit_table.d.ts.map +1 -1
  220. package/dist/lib/unit_table.js +6 -2
  221. package/dist/lib/unit_table.js.map +1 -1
  222. package/package.json +1 -1
  223. package/dist/lib/exceptions/ge_1_gripper_movement_failed_exception.d.ts.map +0 -1
  224. package/dist/lib/exceptions/ge_1_gripper_movement_failed_exception.js.map +0 -1
  225. package/dist/lib/product/ge_1_gripper.d.ts.map +0 -1
  226. package/dist/lib/product/ge_1_gripper.js.map +0 -1
  227. package/dist/lib/product/ge_1_gripper_direction.d.ts.map +0 -1
  228. package/dist/lib/product/ge_1_gripper_direction.js +0 -24
  229. package/dist/lib/product/ge_1_gripper_direction.js.map +0 -1
  230. package/dist/lib/product/ge_1_gripper_error.d.ts.map +0 -1
  231. package/dist/lib/product/ge_1_gripper_error.js +0 -46
  232. package/dist/lib/product/ge_1_gripper_error.js.map +0 -1
  233. package/dist/lib/product/ge_1_gripper_state.d.ts.map +0 -1
  234. package/dist/lib/product/ge_1_gripper_state.js +0 -32
  235. package/dist/lib/product/ge_1_gripper_state.js.map +0 -1
  236. package/dist/lib/requests/ge_1_gripper_activate_preset_request.d.ts +0 -15
  237. package/dist/lib/requests/ge_1_gripper_activate_preset_request.d.ts.map +0 -1
  238. package/dist/lib/requests/ge_1_gripper_activate_preset_request.js.map +0 -1
  239. package/dist/lib/requests/ge_1_gripper_calibrate_request.d.ts +0 -14
  240. package/dist/lib/requests/ge_1_gripper_calibrate_request.d.ts.map +0 -1
  241. package/dist/lib/requests/ge_1_gripper_calibrate_request.js.map +0 -1
  242. package/dist/lib/requests/ge_1_gripper_empty_request.d.ts +0 -13
  243. package/dist/lib/requests/ge_1_gripper_empty_request.d.ts.map +0 -1
  244. package/dist/lib/requests/ge_1_gripper_empty_request.js.map +0 -1
  245. package/dist/lib/requests/ge_1_gripper_get_error_response.d.ts +0 -14
  246. package/dist/lib/requests/ge_1_gripper_get_error_response.d.ts.map +0 -1
  247. package/dist/lib/requests/ge_1_gripper_get_error_response.js +0 -36
  248. package/dist/lib/requests/ge_1_gripper_get_error_response.js.map +0 -1
  249. package/dist/lib/requests/ge_1_gripper_get_state_response.d.ts +0 -14
  250. package/dist/lib/requests/ge_1_gripper_get_state_response.d.ts.map +0 -1
  251. package/dist/lib/requests/ge_1_gripper_get_state_response.js +0 -36
  252. package/dist/lib/requests/ge_1_gripper_get_state_response.js.map +0 -1
  253. package/dist/lib/requests/ge_1_gripper_move_request.d.ts +0 -15
  254. package/dist/lib/requests/ge_1_gripper_move_request.d.ts.map +0 -1
  255. package/dist/lib/requests/ge_1_gripper_move_request.js.map +0 -1
  256. package/dist/lib/requests/ge_1_gripper_open_connection_request.d.ts +0 -15
  257. package/dist/lib/requests/ge_1_gripper_open_connection_request.d.ts.map +0 -1
  258. package/dist/lib/requests/ge_1_gripper_open_connection_request.js.map +0 -1
  259. package/dist/lib/requests/ge_1_gripper_read_register_request.d.ts +0 -14
  260. package/dist/lib/requests/ge_1_gripper_read_register_request.d.ts.map +0 -1
  261. package/dist/lib/requests/ge_1_gripper_read_register_request.js.map +0 -1
  262. package/dist/lib/requests/ge_1_gripper_set_auto_home_request.d.ts +0 -15
  263. package/dist/lib/requests/ge_1_gripper_set_auto_home_request.d.ts.map +0 -1
  264. package/dist/lib/requests/ge_1_gripper_set_auto_home_request.js.map +0 -1
  265. package/dist/lib/requests/ge_1_gripper_set_force_request.d.ts +0 -14
  266. package/dist/lib/requests/ge_1_gripper_set_force_request.d.ts.map +0 -1
  267. package/dist/lib/requests/ge_1_gripper_set_force_request.js.map +0 -1
  268. package/dist/lib/requests/ge_1_gripper_set_home_direction_request.d.ts +0 -16
  269. package/dist/lib/requests/ge_1_gripper_set_home_direction_request.d.ts.map +0 -1
  270. package/dist/lib/requests/ge_1_gripper_set_home_direction_request.js.map +0 -1
  271. package/dist/lib/requests/ge_1_gripper_set_io_enabled_request.d.ts +0 -15
  272. package/dist/lib/requests/ge_1_gripper_set_io_enabled_request.d.ts.map +0 -1
  273. package/dist/lib/requests/ge_1_gripper_set_io_enabled_request.js.map +0 -1
  274. package/dist/lib/requests/ge_1_gripper_set_io_input_filter_request.d.ts +0 -15
  275. package/dist/lib/requests/ge_1_gripper_set_io_input_filter_request.d.ts.map +0 -1
  276. package/dist/lib/requests/ge_1_gripper_set_io_input_filter_request.js.map +0 -1
  277. package/dist/lib/requests/ge_1_gripper_set_preset_request.d.ts +0 -18
  278. package/dist/lib/requests/ge_1_gripper_set_preset_request.d.ts.map +0 -1
  279. package/dist/lib/requests/ge_1_gripper_set_preset_request.js.map +0 -1
  280. package/dist/lib/requests/ge_1_gripper_set_speed_request.d.ts +0 -14
  281. package/dist/lib/requests/ge_1_gripper_set_speed_request.d.ts.map +0 -1
  282. package/dist/lib/requests/ge_1_gripper_set_speed_request.js.map +0 -1
  283. package/dist/lib/requests/ge_1_gripper_wait_until_idle_request.d.ts +0 -14
  284. package/dist/lib/requests/ge_1_gripper_wait_until_idle_request.d.ts.map +0 -1
  285. package/dist/lib/requests/ge_1_gripper_wait_until_idle_request.js.map +0 -1
  286. package/dist/lib/requests/ge_1_gripper_write_register_request.d.ts +0 -15
  287. package/dist/lib/requests/ge_1_gripper_write_register_request.d.ts.map +0 -1
  288. package/dist/lib/requests/ge_1_gripper_write_register_request.js.map +0 -1
package/LICENSE CHANGED
@@ -2188,9 +2188,9 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2188
2188
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2189
2189
 
2190
2190
  ------------------
2191
- golang.org/x/mod v0.34.0
2191
+ golang.org/x/mod v0.12.0
2192
2192
  ------------------
2193
- Copyright 2009 The Go Authors.
2193
+ Copyright (c) 2009 The Go Authors. All rights reserved.
2194
2194
 
2195
2195
  Redistribution and use in source and binary forms, with or without
2196
2196
  modification, are permitted provided that the following conditions are
@@ -2202,7 +2202,7 @@ notice, this list of conditions and the following disclaimer.
2202
2202
  copyright notice, this list of conditions and the following disclaimer
2203
2203
  in the documentation and/or other materials provided with the
2204
2204
  distribution.
2205
- * Neither the name of Google LLC nor the names of its
2205
+ * Neither the name of Google Inc. nor the names of its
2206
2206
  contributors may be used to endorse or promote products derived from
2207
2207
  this software without specific prior written permission.
2208
2208
 
@@ -2250,9 +2250,9 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2250
2250
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2251
2251
 
2252
2252
  ------------------
2253
- golang.org/x/sync v0.10.0
2253
+ golang.org/x/sync v0.3.0
2254
2254
  ------------------
2255
- Copyright 2009 The Go Authors.
2255
+ Copyright (c) 2009 The Go Authors. All rights reserved.
2256
2256
 
2257
2257
  Redistribution and use in source and binary forms, with or without
2258
2258
  modification, are permitted provided that the following conditions are
@@ -2264,7 +2264,7 @@ notice, this list of conditions and the following disclaimer.
2264
2264
  copyright notice, this list of conditions and the following disclaimer
2265
2265
  in the documentation and/or other materials provided with the
2266
2266
  distribution.
2267
- * Neither the name of Google LLC nor the names of its
2267
+ * Neither the name of Google Inc. nor the names of its
2268
2268
  contributors may be used to endorse or promote products derived from
2269
2269
  this software without specific prior written permission.
2270
2270
 
@@ -4,6 +4,8 @@ import { Axis } from './axis';
4
4
  import { ConversionFactor } from './conversion_factor';
5
5
  import { GetAxisSetting } from './get_axis_setting';
6
6
  import { GetAxisSettingResult } from './get_axis_setting_result';
7
+ import { GetAxisSettingTypedResult } from './get_axis_setting_typed_result';
8
+ import { TypedSetting } from './typed_setting';
7
9
  /**
8
10
  * Class providing access to various axis settings and properties.
9
11
  */
@@ -18,6 +20,15 @@ export declare class AxisSettings {
18
20
  * @returns Setting value.
19
21
  */
20
22
  get(setting: string, unit?: Units): Promise<number>;
23
+ /**
24
+ * Returns any axis setting or property in its native type.
25
+ * Note that specifying units will cause settings that are otherwise integers to be returned as floats.
26
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
27
+ * @param setting Name of the setting.
28
+ * @param [unit=Units.NATIVE] Units of setting to convert result to.
29
+ * @returns Setting value.
30
+ */
31
+ getTyped(setting: string, unit?: Units): Promise<TypedSetting>;
21
32
  /**
22
33
  * Sets any axis setting.
23
34
  * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
@@ -73,9 +84,10 @@ export declare class AxisSettings {
73
84
  * @param setting Name of the setting.
74
85
  * @param value Value of the setting in units specified by following argument.
75
86
  * @param unit Units of the value.
87
+ * @param [round=false] If true, round the result to the device's native decimal places.
76
88
  * @returns Setting value.
77
89
  */
78
- convertToNativeUnits(setting: string, value: number, unit: Units): number;
90
+ convertToNativeUnits(setting: string, value: number, unit: Units, round?: boolean): number;
79
91
  /**
80
92
  * Convert arbitrary setting value from Zaber native units.
81
93
  * @param setting Name of the setting.
@@ -135,6 +147,15 @@ export declare class AxisSettings {
135
147
  * @returns The setting values read.
136
148
  */
137
149
  getMany(...axisSettings: GetAxisSetting[]): Promise<GetAxisSettingResult[]>;
150
+ /**
151
+ * Returns many axis settings or properties in their native types in as few requests as possible.
152
+ * Note that specifying units will always return floating point values,
153
+ * even for settings that are natively integers.
154
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
155
+ * @param axisSettings The settings to read.
156
+ * @returns The setting values read.
157
+ */
158
+ getManyTyped(...axisSettings: GetAxisSetting[]): Promise<GetAxisSettingTypedResult[]>;
138
159
  /**
139
160
  * Gets many setting values in the same tick, ensuring their values are synchronized.
140
161
  * Requires at least Firmware 7.35.
@@ -1 +1 @@
1
- {"version":3,"file":"axis_settings.d.ts","sourceRoot":"","sources":["../../../src/ascii/axis_settings.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAO;gBAER,IAAI,EAAE,IAAI;IAItB;;;;;;OAMG;IACU,GAAG,CACd,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAoB,GACzB,OAAO,CAAC,MAAM,CAAC;IAoBlB;;;;;;OAMG;IACU,GAAG,CACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,KAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;OAKG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;OAKG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;OAKG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;OAKG;IACU,OAAO,CAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;;OAKG;IACU,OAAO,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;;OAMG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,GACV,MAAM;IAqBT;;;;;;OAMG;IACI,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,GACV,MAAM;IAsBT;;;;;OAKG;IACI,UAAU,CACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAoB,GACzB,MAAM;IAoBT;;;;OAIG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,GACd,MAAM;IAmBT;;;;OAIG;IACI,aAAa,CAClB,OAAO,EAAE,MAAM,GACd,MAAM;IAmBT;;;;OAIG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,GACd,OAAO;IAmBV;;;;OAIG;IACI,qBAAqB,CAC1B,OAAO,EAAE,MAAM,GACd,OAAO;IAmBV;;;;;OAKG;IACI,2BAA2B,CAChC,OAAO,EAAE,MAAM,GACd,wBAAwB;IAmB3B;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,gBAAgB,EAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;IAehB;;;;OAIG;IACU,OAAO,CAClB,GAAG,YAAY,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmBlC;;;;;OAKG;IACU,eAAe,CAC1B,GAAG,YAAY,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAkBnC"}
1
+ {"version":3,"file":"axis_settings.d.ts","sourceRoot":"","sources":["../../../src/ascii/axis_settings.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,29 @@ class AxisSettings {
59
59
  const response = await gateway.callAsync('device/get_setting', request, requests.DoubleResponse.fromBinary);
60
60
  return response.value;
61
61
  }
62
+ /**
63
+ * Returns any axis setting or property in its native type.
64
+ * Note that specifying units will cause settings that are otherwise integers to be returned as floats.
65
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
66
+ * @param setting Name of the setting.
67
+ * @param [unit=Units.NATIVE] Units of setting to convert result to.
68
+ * @returns Setting value.
69
+ */
70
+ async getTyped(setting, unit = units_1.Units.NATIVE) {
71
+ const request = {
72
+ ...requests.DeviceGetSettingRequest.DEFAULT,
73
+ interfaceId: this._axis.device.connection.interfaceId,
74
+ device: this._axis.device.deviceAddress,
75
+ axis: this._axis.axisNumber,
76
+ setting: setting,
77
+ unit: unit,
78
+ toBinary() {
79
+ return requests.DeviceGetSettingRequest.toBinary(this);
80
+ },
81
+ };
82
+ const response = await gateway.callAsync('device/get_setting_typed', request, requests.TypedSettingResponse.fromBinary);
83
+ return response.value;
84
+ }
62
85
  /**
63
86
  * Sets any axis setting.
64
87
  * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
@@ -206,9 +229,10 @@ class AxisSettings {
206
229
  * @param setting Name of the setting.
207
230
  * @param value Value of the setting in units specified by following argument.
208
231
  * @param unit Units of the value.
232
+ * @param [round=false] If true, round the result to the device's native decimal places.
209
233
  * @returns Setting value.
210
234
  */
211
- convertToNativeUnits(setting, value, unit) {
235
+ convertToNativeUnits(setting, value, unit, round = false) {
212
236
  const request = {
213
237
  ...requests.DeviceConvertSettingRequest.DEFAULT,
214
238
  interfaceId: this._axis.device.connection.interfaceId,
@@ -217,6 +241,7 @@ class AxisSettings {
217
241
  setting: setting,
218
242
  value: value,
219
243
  unit: unit,
244
+ round: round,
220
245
  toBinary() {
221
246
  return requests.DeviceConvertSettingRequest.toBinary(this);
222
247
  },
@@ -403,6 +428,28 @@ class AxisSettings {
403
428
  const response = await gateway.callAsync('device/get_many_axis_settings', request, requests.GetAxisSettingResults.fromBinary);
404
429
  return response.results;
405
430
  }
431
+ /**
432
+ * Returns many axis settings or properties in their native types in as few requests as possible.
433
+ * Note that specifying units will always return floating point values,
434
+ * even for settings that are natively integers.
435
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
436
+ * @param axisSettings The settings to read.
437
+ * @returns The setting values read.
438
+ */
439
+ async getManyTyped(...axisSettings) {
440
+ const request = {
441
+ ...requests.DeviceMultiGetSettingRequest.DEFAULT,
442
+ interfaceId: this._axis.device.connection.interfaceId,
443
+ device: this._axis.device.deviceAddress,
444
+ axis: this._axis.axisNumber,
445
+ axisSettings: axisSettings,
446
+ toBinary() {
447
+ return requests.DeviceMultiGetSettingRequest.toBinary(this);
448
+ },
449
+ };
450
+ const response = await gateway.callAsync('device/get_many_axis_settings_typed', request, requests.GetAxisSettingsTypedResponse.fromBinary);
451
+ return response.values;
452
+ }
406
453
  /**
407
454
  * Gets many setting values in the same tick, ensuring their values are synchronized.
408
455
  * Requires at least Firmware 7.35.
@@ -1 +1 @@
1
- {"version":3,"file":"axis_settings.js","sourceRoot":"","sources":["../../../src/ascii/axis_settings.ts"],"names":[],"mappings":"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","sourcesContent":["// ===== THIS FILE IS GENERATED FROM A TEMPLATE ===== //\n// ============== DO NOT EDIT DIRECTLY ============== //\n\nimport * as gateway from '../gateway';\nimport * as requests from '../requests';\nimport { UnitConversionDescriptor } from '../unit_conversion_descriptor';\nimport { Units } from '../units';\nimport { Axis } from './axis';\nimport { ConversionFactor } from './conversion_factor';\nimport { GetAxisSetting } from './get_axis_setting';\nimport { GetAxisSettingResult } from './get_axis_setting_result';\n\n/**\n * Class providing access to various axis settings and properties.\n */\nexport class AxisSettings {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Returns any axis setting or property.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n * @returns Setting value.\n */\n public async get(\n setting: string,\n unit: Units = Units.NATIVE\n ): Promise<number> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n unit: unit,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DoubleResponse>(\n 'device/get_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n */\n public async set(\n setting: string,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.DeviceSetSettingRequest & gateway.Message = {\n ...requests.DeviceSetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n unit: unit,\n toBinary() {\n return requests.DeviceSetSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting', request);\n }\n\n /**\n * Returns any axis setting or property as a string.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getString(\n setting: string\n ): Promise<string> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.StringResponse>(\n 'device/get_setting_str',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting as a string.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setString(\n setting: string,\n value: string\n ): Promise<void> {\n const request: requests.DeviceSetSettingStrRequest & gateway.Message = {\n ...requests.DeviceSetSettingStrRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingStrRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_str', request);\n }\n\n /**\n * Returns any axis setting or property as an integer.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getInt(\n setting: string\n ): Promise<bigint> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.Int64Response>(\n 'device/get_setting_int',\n request,\n requests.Int64Response.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting or property as an integer.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setInt(\n setting: string,\n value: bigint\n ): Promise<void> {\n const request: requests.DeviceSetSettingIntRequest & gateway.Message = {\n ...requests.DeviceSetSettingIntRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingIntRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_int', request);\n }\n\n /**\n * Returns any axis setting or property as a boolean.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getBool(\n setting: string\n ): Promise<boolean> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.BoolResponse>(\n 'device/get_setting_bool',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting as a boolean.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setBool(\n setting: string,\n value: boolean\n ): Promise<void> {\n const request: requests.DeviceSetSettingBoolRequest & gateway.Message = {\n ...requests.DeviceSetSettingBoolRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingBoolRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_bool', request);\n }\n\n /**\n * Convert arbitrary setting value to Zaber native units.\n * @param setting Name of the setting.\n * @param value Value of the setting in units specified by following argument.\n * @param unit Units of the value.\n * @returns Setting value.\n */\n public convertToNativeUnits(\n setting: string,\n value: number,\n unit: Units\n ): number {\n const request: requests.DeviceConvertSettingRequest & gateway.Message = {\n ...requests.DeviceConvertSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n unit: unit,\n toBinary() {\n return requests.DeviceConvertSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/convert_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Convert arbitrary setting value from Zaber native units.\n * @param setting Name of the setting.\n * @param value Value of the setting in Zaber native units.\n * @param unit Units to convert value to.\n * @returns Setting value.\n */\n public convertFromNativeUnits(\n setting: string,\n value: number,\n unit: Units\n ): number {\n const request: requests.DeviceConvertSettingRequest & gateway.Message = {\n ...requests.DeviceConvertSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n fromNative: true,\n setting: setting,\n value: value,\n unit: unit,\n toBinary() {\n return requests.DeviceConvertSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/convert_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting.\n * @param setting Name of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n * @returns Default setting value.\n */\n public getDefault(\n setting: string,\n unit: Units = Units.NATIVE\n ): number {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n unit: unit,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/get_setting_default',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as a string.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultString(\n setting: string\n ): string {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.StringResponse>(\n 'device/get_setting_default_str',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as an integer.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultInt(\n setting: string\n ): bigint {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.Int64Response>(\n 'device/get_setting_default_int',\n request,\n requests.Int64Response.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as a boolean.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultBool(\n setting: string\n ): boolean {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'device/get_setting_default_bool',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Indicates if given setting can be converted from and to native units.\n * @param setting Name of the setting.\n * @returns True if unit conversion can be performed.\n */\n public canConvertNativeUnits(\n setting: string\n ): boolean {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'device/can_convert_setting',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Retrieves unit conversion descriptor for a setting, allowing unit conversion without a device.\n * The descriptor can be used with the ConvertTo/FromNativeUnits methods of the UnitTable class.\n * @param setting Name of the setting.\n * @returns The unit conversion descriptor for the setting.\n */\n public getUnitConversionDescriptor(\n setting: string\n ): UnitConversionDescriptor {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<UnitConversionDescriptor>(\n 'device/get_setting_unit_conversion',\n request,\n UnitConversionDescriptor.fromBinary);\n return response;\n }\n\n /**\n * Overrides default unit conversions.\n * Conversion factors are specified by setting names representing underlying dimensions.\n * Requires at least Firmware 7.30.\n * @param conversions Factors of all conversions to override.\n */\n public async setCustomUnitConversions(\n conversions: ConversionFactor[]\n ): Promise<void> {\n const request: requests.DeviceSetUnitConversionsRequest & gateway.Message = {\n ...requests.DeviceSetUnitConversionsRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n conversions: conversions,\n toBinary() {\n return requests.DeviceSetUnitConversionsRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_unit_conversions', request);\n }\n\n /**\n * Gets many setting values in as few requests as possible.\n * @param axisSettings The settings to read.\n * @returns The setting values read.\n */\n public async getMany(\n ...axisSettings: GetAxisSetting[]\n ): Promise<GetAxisSettingResult[]> {\n const request: requests.DeviceMultiGetSettingRequest & gateway.Message = {\n ...requests.DeviceMultiGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n axisSettings: axisSettings,\n toBinary() {\n return requests.DeviceMultiGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GetAxisSettingResults>(\n 'device/get_many_axis_settings',\n request,\n requests.GetAxisSettingResults.fromBinary);\n return response.results;\n }\n\n /**\n * Gets many setting values in the same tick, ensuring their values are synchronized.\n * Requires at least Firmware 7.35.\n * @param axisSettings The settings to read.\n * @returns The setting values read.\n */\n public async getSynchronized(\n ...axisSettings: GetAxisSetting[]\n ): Promise<GetAxisSettingResult[]> {\n const request: requests.DeviceMultiGetSettingRequest & gateway.Message = {\n ...requests.DeviceMultiGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n axisSettings: axisSettings,\n toBinary() {\n return requests.DeviceMultiGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GetAxisSettingResults>(\n 'device/get_sync_axis_settings',\n request,\n requests.GetAxisSettingResults.fromBinary);\n return response.results;\n }\n}\n"]}
1
+ {"version":3,"file":"axis_settings.js","sourceRoot":"","sources":["../../../src/ascii/axis_settings.ts"],"names":[],"mappings":"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","sourcesContent":["// ===== THIS FILE IS GENERATED FROM A TEMPLATE ===== //\n// ============== DO NOT EDIT DIRECTLY ============== //\n\nimport * as gateway from '../gateway';\nimport * as requests from '../requests';\nimport { UnitConversionDescriptor } from '../unit_conversion_descriptor';\nimport { Units } from '../units';\nimport { Axis } from './axis';\nimport { ConversionFactor } from './conversion_factor';\nimport { GetAxisSetting } from './get_axis_setting';\nimport { GetAxisSettingResult } from './get_axis_setting_result';\nimport { GetAxisSettingTypedResult } from './get_axis_setting_typed_result';\nimport { TypedSetting } from './typed_setting';\n\n/**\n * Class providing access to various axis settings and properties.\n */\nexport class AxisSettings {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Returns any axis setting or property.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n * @returns Setting value.\n */\n public async get(\n setting: string,\n unit: Units = Units.NATIVE\n ): Promise<number> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n unit: unit,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DoubleResponse>(\n 'device/get_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns any axis setting or property in its native type.\n * Note that specifying units will cause settings that are otherwise integers to be returned as floats.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param [unit=Units.NATIVE] Units of setting to convert result to.\n * @returns Setting value.\n */\n public async getTyped(\n setting: string,\n unit: Units = Units.NATIVE\n ): Promise<TypedSetting> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n unit: unit,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.TypedSettingResponse>(\n 'device/get_setting_typed',\n request,\n requests.TypedSettingResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n */\n public async set(\n setting: string,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.DeviceSetSettingRequest & gateway.Message = {\n ...requests.DeviceSetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n unit: unit,\n toBinary() {\n return requests.DeviceSetSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting', request);\n }\n\n /**\n * Returns any axis setting or property as a string.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getString(\n setting: string\n ): Promise<string> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.StringResponse>(\n 'device/get_setting_str',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting as a string.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setString(\n setting: string,\n value: string\n ): Promise<void> {\n const request: requests.DeviceSetSettingStrRequest & gateway.Message = {\n ...requests.DeviceSetSettingStrRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingStrRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_str', request);\n }\n\n /**\n * Returns any axis setting or property as an integer.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getInt(\n setting: string\n ): Promise<bigint> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.Int64Response>(\n 'device/get_setting_int',\n request,\n requests.Int64Response.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting or property as an integer.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setInt(\n setting: string,\n value: bigint\n ): Promise<void> {\n const request: requests.DeviceSetSettingIntRequest & gateway.Message = {\n ...requests.DeviceSetSettingIntRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingIntRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_int', request);\n }\n\n /**\n * Returns any axis setting or property as a boolean.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @returns Setting value.\n */\n public async getBool(\n setting: string\n ): Promise<boolean> {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.BoolResponse>(\n 'device/get_setting_bool',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets any axis setting as a boolean.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param setting Name of the setting.\n * @param value Value of the setting.\n */\n public async setBool(\n setting: string,\n value: boolean\n ): Promise<void> {\n const request: requests.DeviceSetSettingBoolRequest & gateway.Message = {\n ...requests.DeviceSetSettingBoolRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n toBinary() {\n return requests.DeviceSetSettingBoolRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_setting_bool', request);\n }\n\n /**\n * Convert arbitrary setting value to Zaber native units.\n * @param setting Name of the setting.\n * @param value Value of the setting in units specified by following argument.\n * @param unit Units of the value.\n * @param [round=false] If true, round the result to the device's native decimal places.\n * @returns Setting value.\n */\n public convertToNativeUnits(\n setting: string,\n value: number,\n unit: Units,\n round: boolean = false\n ): number {\n const request: requests.DeviceConvertSettingRequest & gateway.Message = {\n ...requests.DeviceConvertSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n value: value,\n unit: unit,\n round: round,\n toBinary() {\n return requests.DeviceConvertSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/convert_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Convert arbitrary setting value from Zaber native units.\n * @param setting Name of the setting.\n * @param value Value of the setting in Zaber native units.\n * @param unit Units to convert value to.\n * @returns Setting value.\n */\n public convertFromNativeUnits(\n setting: string,\n value: number,\n unit: Units\n ): number {\n const request: requests.DeviceConvertSettingRequest & gateway.Message = {\n ...requests.DeviceConvertSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n fromNative: true,\n setting: setting,\n value: value,\n unit: unit,\n toBinary() {\n return requests.DeviceConvertSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/convert_setting',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting.\n * @param setting Name of the setting.\n * @param [unit=Units.NATIVE] Units of setting.\n * @returns Default setting value.\n */\n public getDefault(\n setting: string,\n unit: Units = Units.NATIVE\n ): number {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n unit: unit,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.DoubleResponse>(\n 'device/get_setting_default',\n request,\n requests.DoubleResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as a string.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultString(\n setting: string\n ): string {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.StringResponse>(\n 'device/get_setting_default_str',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as an integer.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultInt(\n setting: string\n ): bigint {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.Int64Response>(\n 'device/get_setting_default_int',\n request,\n requests.Int64Response.fromBinary);\n return response.value;\n }\n\n /**\n * Returns the default value of a setting as a boolean.\n * @param setting Name of the setting.\n * @returns Default setting value.\n */\n public getDefaultBool(\n setting: string\n ): boolean {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'device/get_setting_default_bool',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Indicates if given setting can be converted from and to native units.\n * @param setting Name of the setting.\n * @returns True if unit conversion can be performed.\n */\n public canConvertNativeUnits(\n setting: string\n ): boolean {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'device/can_convert_setting',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Retrieves unit conversion descriptor for a setting, allowing unit conversion without a device.\n * The descriptor can be used with the ConvertTo/FromNativeUnits methods of the UnitTable class.\n * @param setting Name of the setting.\n * @returns The unit conversion descriptor for the setting.\n */\n public getUnitConversionDescriptor(\n setting: string\n ): UnitConversionDescriptor {\n const request: requests.DeviceGetSettingRequest & gateway.Message = {\n ...requests.DeviceGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n setting: setting,\n toBinary() {\n return requests.DeviceGetSettingRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<UnitConversionDescriptor>(\n 'device/get_setting_unit_conversion',\n request,\n UnitConversionDescriptor.fromBinary);\n return response;\n }\n\n /**\n * Overrides default unit conversions.\n * Conversion factors are specified by setting names representing underlying dimensions.\n * Requires at least Firmware 7.30.\n * @param conversions Factors of all conversions to override.\n */\n public async setCustomUnitConversions(\n conversions: ConversionFactor[]\n ): Promise<void> {\n const request: requests.DeviceSetUnitConversionsRequest & gateway.Message = {\n ...requests.DeviceSetUnitConversionsRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n conversions: conversions,\n toBinary() {\n return requests.DeviceSetUnitConversionsRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/set_unit_conversions', request);\n }\n\n /**\n * Gets many setting values in as few requests as possible.\n * @param axisSettings The settings to read.\n * @returns The setting values read.\n */\n public async getMany(\n ...axisSettings: GetAxisSetting[]\n ): Promise<GetAxisSettingResult[]> {\n const request: requests.DeviceMultiGetSettingRequest & gateway.Message = {\n ...requests.DeviceMultiGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n axisSettings: axisSettings,\n toBinary() {\n return requests.DeviceMultiGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GetAxisSettingResults>(\n 'device/get_many_axis_settings',\n request,\n requests.GetAxisSettingResults.fromBinary);\n return response.results;\n }\n\n /**\n * Returns many axis settings or properties in their native types in as few requests as possible.\n * Note that specifying units will always return floating point values,\n * even for settings that are natively integers.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).\n * @param axisSettings The settings to read.\n * @returns The setting values read.\n */\n public async getManyTyped(\n ...axisSettings: GetAxisSetting[]\n ): Promise<GetAxisSettingTypedResult[]> {\n const request: requests.DeviceMultiGetSettingRequest & gateway.Message = {\n ...requests.DeviceMultiGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n axisSettings: axisSettings,\n toBinary() {\n return requests.DeviceMultiGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GetAxisSettingsTypedResponse>(\n 'device/get_many_axis_settings_typed',\n request,\n requests.GetAxisSettingsTypedResponse.fromBinary);\n return response.values;\n }\n\n /**\n * Gets many setting values in the same tick, ensuring their values are synchronized.\n * Requires at least Firmware 7.35.\n * @param axisSettings The settings to read.\n * @returns The setting values read.\n */\n public async getSynchronized(\n ...axisSettings: GetAxisSetting[]\n ): Promise<GetAxisSettingResult[]> {\n const request: requests.DeviceMultiGetSettingRequest & gateway.Message = {\n ...requests.DeviceMultiGetSettingRequest.DEFAULT,\n interfaceId: this._axis.device.connection.interfaceId,\n device: this._axis.device.deviceAddress,\n axis: this._axis.axisNumber,\n axisSettings: axisSettings,\n toBinary() {\n return requests.DeviceMultiGetSettingRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GetAxisSettingResults>(\n 'device/get_sync_axis_settings',\n request,\n requests.GetAxisSettingResults.fromBinary);\n return response.results;\n }\n}\n"]}
@@ -2,7 +2,10 @@ import { UnitConversionDescriptor } from '../unit_conversion_descriptor';
2
2
  import { Units } from '../units';
3
3
  import { Device } from './device';
4
4
  import { GetSetting } from './get_setting';
5
+ import { GetSettingsByTypeResult } from './get_settings_by_type_result';
5
6
  import { GetSettingResult } from './get_setting_result';
7
+ import { GetSettingTypedResult } from './get_setting_typed_result';
8
+ import { TypedSetting } from './typed_setting';
6
9
  /**
7
10
  * Class providing access to various device settings and properties.
8
11
  */
@@ -17,6 +20,15 @@ export declare class DeviceSettings {
17
20
  * @returns Setting value.
18
21
  */
19
22
  get(setting: string, unit?: Units): Promise<number>;
23
+ /**
24
+ * Returns any device setting or property in its native type.
25
+ * Note that specifying units will cause settings that are otherwise integers to be returned as floats.
26
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
27
+ * @param setting Name of the setting.
28
+ * @param [unit=Units.NATIVE] Units of setting to convert result to.
29
+ * @returns Setting value.
30
+ */
31
+ getTyped(setting: string, unit?: Units): Promise<TypedSetting>;
20
32
  /**
21
33
  * Sets any device setting.
22
34
  * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
@@ -72,9 +84,10 @@ export declare class DeviceSettings {
72
84
  * @param setting Name of the setting.
73
85
  * @param value Value of the setting in units specified by following argument.
74
86
  * @param unit Units of the value.
87
+ * @param [round=false] If true, round the result to the device's native decimal places.
75
88
  * @returns Setting value.
76
89
  */
77
- convertToNativeUnits(setting: string, value: number, unit: Units): number;
90
+ convertToNativeUnits(setting: string, value: number, unit: Units, round?: boolean): number;
78
91
  /**
79
92
  * Convert arbitrary setting value from Zaber native units.
80
93
  * @param setting Name of the setting.
@@ -134,6 +147,26 @@ export declare class DeviceSettings {
134
147
  * @returns The setting values read.
135
148
  */
136
149
  getMany(...settings: GetSetting[]): Promise<GetSettingResult[]>;
150
+ /**
151
+ * Returns many device settings or properties in their native types in as few requests as possible.
152
+ * Note that specifying units will always return floating point values,
153
+ * even for settings that are natively integers.
154
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
155
+ * @param settings The settings to read.
156
+ * @returns The setting values read.
157
+ */
158
+ getManyTyped(...settings: GetSetting[]): Promise<GetSettingTypedResult[]>;
159
+ /**
160
+ * Gets many settings in as few requests as possible, parsing each as the caller-specified type.
161
+ * Unlike GetManyTyped, the type is determined by the caller, not the device database.
162
+ * If a value cannot be parsed as the requested type, an error is thrown.
163
+ * @param [options.floatSettings=[]] Settings to read as float values. Supports unit conversion.
164
+ * @param [options.intSettings=[]] Settings to read as integer values. Unit conversion is not supported.
165
+ * @param [options.boolSettings=[]] Settings to read as boolean values.
166
+ * @param [options.stringSettings=[]] Settings to read as string values.
167
+ * @returns The setting values grouped by type.
168
+ */
169
+ getManyByType(options?: DeviceSettings.GetManyByTypeOptions): Promise<GetSettingsByTypeResult>;
137
170
  /**
138
171
  * Gets many setting values in the same tick, ensuring their values are synchronized.
139
172
  * Requires at least Firmware 7.35.
@@ -142,4 +175,25 @@ export declare class DeviceSettings {
142
175
  */
143
176
  getSynchronized(...settings: GetSetting[]): Promise<GetSettingResult[]>;
144
177
  }
178
+ declare namespace DeviceSettings {
179
+ interface GetManyByTypeOptions {
180
+ /**
181
+ * Settings to read as float values. Supports unit conversion.
182
+ */
183
+ floatSettings?: GetSetting[];
184
+ /**
185
+ * Settings to read as integer values. Unit conversion is not supported.
186
+ */
187
+ intSettings?: GetSetting[];
188
+ /**
189
+ * Settings to read as boolean values.
190
+ */
191
+ boolSettings?: GetSetting[];
192
+ /**
193
+ * Settings to read as string values.
194
+ */
195
+ stringSettings?: GetSetting[];
196
+ }
197
+ }
198
+ export {};
145
199
  //# sourceMappingURL=device_settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device_settings.d.ts","sourceRoot":"","sources":["../../../src/ascii/device_settings.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM;IAI1B;;;;;;OAMG;IACU,GAAG,CACd,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAoB,GACzB,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;;OAMG;IACU,GAAG,CACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,KAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;OAKG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAkBlB;;;;;OAKG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;OAKG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAkBlB;;;;;OAKG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;OAKG;IACU,OAAO,CAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;OAKG;IACU,OAAO,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;;OAMG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,GACV,MAAM;IAoBT;;;;;;OAMG;IACI,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,GACV,MAAM;IAqBT;;;;;OAKG;IACI,UAAU,CACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAoB,GACzB,MAAM;IAmBT;;;;OAIG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,GACd,MAAM;IAkBT;;;;OAIG;IACI,aAAa,CAClB,OAAO,EAAE,MAAM,GACd,MAAM;IAkBT;;;;OAIG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,GACd,OAAO;IAkBV;;;;OAIG;IACI,qBAAqB,CAC1B,OAAO,EAAE,MAAM,GACd,OAAO;IAkBV;;;;;OAKG;IACI,2BAA2B,CAChC,OAAO,EAAE,MAAM,GACd,wBAAwB;IAkB3B;;;;;OAKG;IACU,cAAc,CACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpB;;;;OAIG;IACU,OAAO,CAClB,GAAG,QAAQ,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkB9B;;;;;OAKG;IACU,eAAe,CAC1B,GAAG,QAAQ,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAiB/B"}
1
+ {"version":3,"file":"device_settings.d.ts","sourceRoot":"","sources":["../../../src/ascii/device_settings.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ const gateway = __importStar(require("../gateway"));
30
30
  const requests = __importStar(require("../requests"));
31
31
  const unit_conversion_descriptor_1 = require("../unit_conversion_descriptor");
32
32
  const units_1 = require("../units");
33
+ const get_settings_by_type_result_1 = require("./get_settings_by_type_result");
33
34
  /**
34
35
  * Class providing access to various device settings and properties.
35
36
  */
@@ -58,6 +59,28 @@ class DeviceSettings {
58
59
  const response = await gateway.callAsync('device/get_setting', request, requests.DoubleResponse.fromBinary);
59
60
  return response.value;
60
61
  }
62
+ /**
63
+ * Returns any device setting or property in its native type.
64
+ * Note that specifying units will cause settings that are otherwise integers to be returned as floats.
65
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
66
+ * @param setting Name of the setting.
67
+ * @param [unit=Units.NATIVE] Units of setting to convert result to.
68
+ * @returns Setting value.
69
+ */
70
+ async getTyped(setting, unit = units_1.Units.NATIVE) {
71
+ const request = {
72
+ ...requests.DeviceGetSettingRequest.DEFAULT,
73
+ interfaceId: this._device.connection.interfaceId,
74
+ device: this._device.deviceAddress,
75
+ setting: setting,
76
+ unit: unit,
77
+ toBinary() {
78
+ return requests.DeviceGetSettingRequest.toBinary(this);
79
+ },
80
+ };
81
+ const response = await gateway.callAsync('device/get_setting_typed', request, requests.TypedSettingResponse.fromBinary);
82
+ return response.value;
83
+ }
61
84
  /**
62
85
  * Sets any device setting.
63
86
  * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
@@ -198,9 +221,10 @@ class DeviceSettings {
198
221
  * @param setting Name of the setting.
199
222
  * @param value Value of the setting in units specified by following argument.
200
223
  * @param unit Units of the value.
224
+ * @param [round=false] If true, round the result to the device's native decimal places.
201
225
  * @returns Setting value.
202
226
  */
203
- convertToNativeUnits(setting, value, unit) {
227
+ convertToNativeUnits(setting, value, unit, round = false) {
204
228
  const request = {
205
229
  ...requests.DeviceConvertSettingRequest.DEFAULT,
206
230
  interfaceId: this._device.connection.interfaceId,
@@ -208,6 +232,7 @@ class DeviceSettings {
208
232
  setting: setting,
209
233
  value: value,
210
234
  unit: unit,
235
+ round: round,
211
236
  toBinary() {
212
237
  return requests.DeviceConvertSettingRequest.toBinary(this);
213
238
  },
@@ -386,6 +411,54 @@ class DeviceSettings {
386
411
  const response = await gateway.callAsync('device/get_many_settings', request, requests.GetSettingResults.fromBinary);
387
412
  return response.results;
388
413
  }
414
+ /**
415
+ * Returns many device settings or properties in their native types in as few requests as possible.
416
+ * Note that specifying units will always return floating point values,
417
+ * even for settings that are natively integers.
418
+ * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
419
+ * @param settings The settings to read.
420
+ * @returns The setting values read.
421
+ */
422
+ async getManyTyped(...settings) {
423
+ const request = {
424
+ ...requests.DeviceMultiGetSettingRequest.DEFAULT,
425
+ interfaceId: this._device.connection.interfaceId,
426
+ device: this._device.deviceAddress,
427
+ settings: settings,
428
+ toBinary() {
429
+ return requests.DeviceMultiGetSettingRequest.toBinary(this);
430
+ },
431
+ };
432
+ const response = await gateway.callAsync('device/get_many_settings_typed', request, requests.GetSettingsTypedResponse.fromBinary);
433
+ return response.values;
434
+ }
435
+ /**
436
+ * Gets many settings in as few requests as possible, parsing each as the caller-specified type.
437
+ * Unlike GetManyTyped, the type is determined by the caller, not the device database.
438
+ * If a value cannot be parsed as the requested type, an error is thrown.
439
+ * @param [options.floatSettings=[]] Settings to read as float values. Supports unit conversion.
440
+ * @param [options.intSettings=[]] Settings to read as integer values. Unit conversion is not supported.
441
+ * @param [options.boolSettings=[]] Settings to read as boolean values.
442
+ * @param [options.stringSettings=[]] Settings to read as string values.
443
+ * @returns The setting values grouped by type.
444
+ */
445
+ async getManyByType(options = {}) {
446
+ const { floatSettings = [], intSettings = [], boolSettings = [], stringSettings = [], } = options;
447
+ const request = {
448
+ ...requests.DeviceGetManyByTypeRequest.DEFAULT,
449
+ interfaceId: this._device.connection.interfaceId,
450
+ device: this._device.deviceAddress,
451
+ floatSettings: floatSettings,
452
+ intSettings: intSettings,
453
+ boolSettings: boolSettings,
454
+ stringSettings: stringSettings,
455
+ toBinary() {
456
+ return requests.DeviceGetManyByTypeRequest.toBinary(this);
457
+ },
458
+ };
459
+ const response = await gateway.callAsync('device/get_many_settings_by_type', request, get_settings_by_type_result_1.GetSettingsByTypeResult.fromBinary);
460
+ return response;
461
+ }
389
462
  /**
390
463
  * Gets many setting values in the same tick, ensuring their values are synchronized.
391
464
  * Requires at least Firmware 7.35.