@zaber/motion 5.2.1 → 5.2.2
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.
|
Binary file
|
|
@@ -120,7 +120,7 @@ export declare class Trigger {
|
|
|
120
120
|
* Must have either integer or boolean type.
|
|
121
121
|
* @param operation The operation to apply to the setting.
|
|
122
122
|
* @param fromAxis The axis from which to read the setting.
|
|
123
|
-
* Set to 0 to read the setting
|
|
123
|
+
* Set to 0 to read the setting from the device.
|
|
124
124
|
* @param fromSetting The name of the setting to read.
|
|
125
125
|
* Must have either integer or boolean type.
|
|
126
126
|
*/
|
|
@@ -267,7 +267,7 @@ class Trigger {
|
|
|
267
267
|
* Must have either integer or boolean type.
|
|
268
268
|
* @param operation The operation to apply to the setting.
|
|
269
269
|
* @param fromAxis The axis from which to read the setting.
|
|
270
|
-
* Set to 0 to read the setting
|
|
270
|
+
* Set to 0 to read the setting from the device.
|
|
271
271
|
* @param fromSetting The name of the setting to read.
|
|
272
272
|
* Must have either integer or boolean type.
|
|
273
273
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/ascii/trigger.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 { Native, Units, Length, Angle, Time } from '../units';\nimport { Device } from './device';\nimport { TriggerState } from './trigger_state';\nimport { TriggerEnabledState } from './trigger_enabled_state';\nimport { IoPortType } from './io_port_type';\nimport { TriggerCondition } from './trigger_condition';\nimport { TriggerAction } from './trigger_action';\nimport { TriggerOperation } from './trigger_operation';\n\n/**\n * A handle for a trigger with this number on the device.\n * Triggers allow setting up actions that occur when a certain condition has been met or an event has occurred.\n * Please note that the Triggers API is currently an experimental feature.\n * Requires at least Firmware 7.06.\n */\nexport class Trigger {\n /**\n * Device that this trigger belongs to.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * Number of this trigger.\n */\n public get triggerNumber(): number {\n return this._triggerNumber;\n }\n private _triggerNumber: number;\n\n constructor(device: Device, triggerNumber: number) {\n this._device = device;\n this._triggerNumber = triggerNumber;\n }\n\n /**\n * Enables the trigger.\n * Once a trigger is enabled, it will fire whenever its condition transitions from false to true.\n * If a trigger condition is true when a disabled trigger is enabled, the trigger will fire immediately.\n * @param [count=0] Number of times the trigger will fire before disabling itself.\n * If count is not specified, or 0, the trigger will fire indefinitely.\n */\n public async enable(\n count: number = 0\n ): Promise<void> {\n if (count < 0) {\n throw new TypeError('Invalid value; count must be 0 or positive.');\n }\n const request = new gateway.TriggerEnableRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setCount(count);\n\n await gateway.callAsync('trigger/enable', request);\n }\n\n /**\n * Disables the trigger.\n * Once disabled, the trigger will not fire and trigger actions will not run, even if trigger conditions are met.\n */\n public async disable(): Promise<void> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n await gateway.callAsync('trigger/disable', request);\n }\n\n /**\n * Gets the state of the trigger.\n * @returns Complete state of the trigger.\n */\n public async getState(): Promise<TriggerState> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n const response = await gateway.callAsync<gateway.TriggerState>(\n 'trigger/get_state',\n request,\n gateway.TriggerState);\n return TriggerState.fromProtobuf(response.toObject());\n }\n\n /**\n * Gets the enabled state of the trigger.\n * @returns Whether the trigger is enabled and the number of times it will fire.\n */\n public async getEnabledState(): Promise<TriggerEnabledState> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n const response = await gateway.callAsync<gateway.TriggerEnabledState>(\n 'trigger/get_enabled_state',\n request,\n gateway.TriggerEnabledState);\n return TriggerEnabledState.fromProtobuf(response.toObject());\n }\n\n /**\n * Set a generic trigger condition.\n * @param condition The condition to set for this trigger.\n */\n public async fireWhen(\n condition: string\n ): Promise<void> {\n const request = new gateway.TriggerFireWhenRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setCondition(condition);\n\n await gateway.callAsync('trigger/fire_when', request);\n }\n\n /**\n * Set a trigger condition for when an encoder position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured encoder distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenEncoderDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; encoder distance must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenDistanceTravelledRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setDistance(distance);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_encoder_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition for when an axis position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; distance must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenDistanceTravelledRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setDistance(distance);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition based on an IO channel value.\n * @param portType The type of IO channel to monitor.\n * @param channel The IO channel to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n */\n public async fireWhenIo(\n portType: IoPortType,\n channel: number,\n triggerCondition: TriggerCondition,\n value: number\n ): Promise<void> {\n if (channel <= 0) {\n throw new TypeError('Invalid value; channel must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenIoRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setPortType(portType as any);\n request.setChannel(channel);\n request.setTriggerCondition(triggerCondition as any);\n request.setValue(value);\n\n await gateway.callAsync('trigger/fire_when_io', request);\n }\n\n /**\n * Set a trigger condition based on a setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.TriggerFireWhenSettingRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setTriggerCondition(triggerCondition as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_setting', request);\n }\n\n /**\n * Set a trigger condition based on a time interval.\n * @param interval The time interval between trigger fires.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async fireAtInterval(\n interval: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (interval <= 0) {\n throw new TypeError('Invalid value; interval must be a positive value.');\n }\n const request = new gateway.TriggerFireAtIntervalRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setInterval(interval);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_at_interval', request);\n }\n\n /**\n * Set a command to be a trigger action.\n * @param action The action number to assign the command to.\n * @param axis The axis to on which to run this command.\n * Set to 0 for device-scope settings or to run command on all axes.\n * @param command The command to run when the action is triggered.\n */\n public async onFire(\n action: TriggerAction,\n axis: number,\n command: string\n ): Promise<void> {\n const request = new gateway.TriggerOnFireRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setCommand(command);\n\n await gateway.callAsync('trigger/on_fire', request);\n }\n\n /**\n * Set a trigger action to update a setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * @param operation The operation to apply to the setting.\n * @param value Operation value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async onFireSet(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.TriggerOnFireSetRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setOperation(operation as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/on_fire_set', request);\n }\n\n /**\n * Set a trigger action to update a setting with the value of another setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * Must have either integer or boolean type.\n * @param operation The operation to apply to the setting.\n * @param fromAxis The axis from which to read the setting.\n * Set to 0 to read the setting for the device.\n * @param fromSetting The name of the setting to read.\n * Must have either integer or boolean type.\n */\n public async onFireSetToSetting(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n fromAxis: number,\n fromSetting: string\n ): Promise<void> {\n const request = new gateway.TriggerOnFireSetToSettingRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setOperation(operation as any);\n request.setFromAxis(fromAxis);\n request.setFromSetting(fromSetting);\n\n await gateway.callAsync('trigger/on_fire_set_to_setting', request);\n }\n\n /**\n * Clear a trigger action.\n * @param [action=TriggerAction.ALL] The action number to clear.\n * The default option is to clear all actions.\n */\n public async clearAction(\n action: TriggerAction = TriggerAction.ALL\n ): Promise<void> {\n const request = new gateway.TriggerClearActionRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n\n await gateway.callAsync('trigger/clear_action', request);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/ascii/trigger.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 { Native, Units, Length, Angle, Time } from '../units';\nimport { Device } from './device';\nimport { TriggerState } from './trigger_state';\nimport { TriggerEnabledState } from './trigger_enabled_state';\nimport { IoPortType } from './io_port_type';\nimport { TriggerCondition } from './trigger_condition';\nimport { TriggerAction } from './trigger_action';\nimport { TriggerOperation } from './trigger_operation';\n\n/**\n * A handle for a trigger with this number on the device.\n * Triggers allow setting up actions that occur when a certain condition has been met or an event has occurred.\n * Please note that the Triggers API is currently an experimental feature.\n * Requires at least Firmware 7.06.\n */\nexport class Trigger {\n /**\n * Device that this trigger belongs to.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * Number of this trigger.\n */\n public get triggerNumber(): number {\n return this._triggerNumber;\n }\n private _triggerNumber: number;\n\n constructor(device: Device, triggerNumber: number) {\n this._device = device;\n this._triggerNumber = triggerNumber;\n }\n\n /**\n * Enables the trigger.\n * Once a trigger is enabled, it will fire whenever its condition transitions from false to true.\n * If a trigger condition is true when a disabled trigger is enabled, the trigger will fire immediately.\n * @param [count=0] Number of times the trigger will fire before disabling itself.\n * If count is not specified, or 0, the trigger will fire indefinitely.\n */\n public async enable(\n count: number = 0\n ): Promise<void> {\n if (count < 0) {\n throw new TypeError('Invalid value; count must be 0 or positive.');\n }\n const request = new gateway.TriggerEnableRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setCount(count);\n\n await gateway.callAsync('trigger/enable', request);\n }\n\n /**\n * Disables the trigger.\n * Once disabled, the trigger will not fire and trigger actions will not run, even if trigger conditions are met.\n */\n public async disable(): Promise<void> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n await gateway.callAsync('trigger/disable', request);\n }\n\n /**\n * Gets the state of the trigger.\n * @returns Complete state of the trigger.\n */\n public async getState(): Promise<TriggerState> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n const response = await gateway.callAsync<gateway.TriggerState>(\n 'trigger/get_state',\n request,\n gateway.TriggerState);\n return TriggerState.fromProtobuf(response.toObject());\n }\n\n /**\n * Gets the enabled state of the trigger.\n * @returns Whether the trigger is enabled and the number of times it will fire.\n */\n public async getEnabledState(): Promise<TriggerEnabledState> {\n const request = new gateway.TriggerEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n\n const response = await gateway.callAsync<gateway.TriggerEnabledState>(\n 'trigger/get_enabled_state',\n request,\n gateway.TriggerEnabledState);\n return TriggerEnabledState.fromProtobuf(response.toObject());\n }\n\n /**\n * Set a generic trigger condition.\n * @param condition The condition to set for this trigger.\n */\n public async fireWhen(\n condition: string\n ): Promise<void> {\n const request = new gateway.TriggerFireWhenRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setCondition(condition);\n\n await gateway.callAsync('trigger/fire_when', request);\n }\n\n /**\n * Set a trigger condition for when an encoder position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured encoder distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenEncoderDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; encoder distance must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenDistanceTravelledRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setDistance(distance);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_encoder_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition for when an axis position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; distance must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenDistanceTravelledRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setDistance(distance);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition based on an IO channel value.\n * @param portType The type of IO channel to monitor.\n * @param channel The IO channel to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n */\n public async fireWhenIo(\n portType: IoPortType,\n channel: number,\n triggerCondition: TriggerCondition,\n value: number\n ): Promise<void> {\n if (channel <= 0) {\n throw new TypeError('Invalid value; channel must be a positive value.');\n }\n const request = new gateway.TriggerFireWhenIoRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setPortType(portType as any);\n request.setChannel(channel);\n request.setTriggerCondition(triggerCondition as any);\n request.setValue(value);\n\n await gateway.callAsync('trigger/fire_when_io', request);\n }\n\n /**\n * Set a trigger condition based on a setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.TriggerFireWhenSettingRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setTriggerCondition(triggerCondition as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_when_setting', request);\n }\n\n /**\n * Set a trigger condition based on a time interval.\n * @param interval The time interval between trigger fires.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async fireAtInterval(\n interval: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (interval <= 0) {\n throw new TypeError('Invalid value; interval must be a positive value.');\n }\n const request = new gateway.TriggerFireAtIntervalRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setInterval(interval);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/fire_at_interval', request);\n }\n\n /**\n * Set a command to be a trigger action.\n * @param action The action number to assign the command to.\n * @param axis The axis to on which to run this command.\n * Set to 0 for device-scope settings or to run command on all axes.\n * @param command The command to run when the action is triggered.\n */\n public async onFire(\n action: TriggerAction,\n axis: number,\n command: string\n ): Promise<void> {\n const request = new gateway.TriggerOnFireRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setCommand(command);\n\n await gateway.callAsync('trigger/on_fire', request);\n }\n\n /**\n * Set a trigger action to update a setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * @param operation The operation to apply to the setting.\n * @param value Operation value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async onFireSet(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.TriggerOnFireSetRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setOperation(operation as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('trigger/on_fire_set', request);\n }\n\n /**\n * Set a trigger action to update a setting with the value of another setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * Must have either integer or boolean type.\n * @param operation The operation to apply to the setting.\n * @param fromAxis The axis from which to read the setting.\n * Set to 0 to read the setting from the device.\n * @param fromSetting The name of the setting to read.\n * Must have either integer or boolean type.\n */\n public async onFireSetToSetting(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n fromAxis: number,\n fromSetting: string\n ): Promise<void> {\n const request = new gateway.TriggerOnFireSetToSettingRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n request.setAxis(axis);\n request.setSetting(setting);\n request.setOperation(operation as any);\n request.setFromAxis(fromAxis);\n request.setFromSetting(fromSetting);\n\n await gateway.callAsync('trigger/on_fire_set_to_setting', request);\n }\n\n /**\n * Clear a trigger action.\n * @param [action=TriggerAction.ALL] The action number to clear.\n * The default option is to clear all actions.\n */\n public async clearAction(\n action: TriggerAction = TriggerAction.ALL\n ): Promise<void> {\n const request = new gateway.TriggerClearActionRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setTriggerNumber(this.triggerNumber);\n request.setAction(action as any);\n\n await gateway.callAsync('trigger/clear_action', request);\n }\n}\n"]}
|