Firmware-830 Command-049

From I-CubeX Wiki
Jump to: navigation, search

SET OUTPUT INIT (49, 31h)

The SET OUTPUT INIT command sets the output status at power-up of the WiDig. Enabling continuous control overrides the output on/off setting. The command can be used in both host and stand-alone modes of operation. All output settings are stored in both volatile and non-volatile memory. After a RESET of the WiDig, all outputs’ pulse statuses are retrieved from non-volatile memory whether in stand-alone mode or in host mode. Upon completion of the command the digitizer sends out the same command. To get the values stored in non-volatile memory, use the DUMP OUTPUT INIT command.

The [BODY] of the SET OUTPUT INIT command consists of two 7-bit bytes with the following format:

0xp00yyy: x = 1; output on
x = 0; output off
p = 1; enable continuous control, in the form of actuator method or repeating pulse width variation, and disable threshold control
p = 0; disable continuous control, in the form of actuator method or repeating pulse width variation, and enable threshold control, and use zzzzzzz as single pulse duration if it is greater than zero
yyy = [0..7]; actuator output number, where the first actuator output number = 0, and the last (8th) actuator output number = 7
0zzzzzzz: zzzzzzz = [0..127]; actuator method MSB or repeating pulse width, or single pulse duration

If the actuator is an I2C device, zzzzzzz is the actuator method MSB. The actuator method LSB value cannot be stored in non-volatile memory. If the actuator is a PWM device, zzzzzzz represents the repeating pulse width and wwwwwww is ignored. If the actuator is a binary DC device, zzzzzzz (if it is greater than zero) represents the single pulse duration.

When disabling continuous control and enable threshold control, the actuator method MSB value or repeating pulse width value is, if greater than zero, used to set the single pulse duration, ie. the delay after which to switch the actuator output status. The single pulse duration range is 0.1-12.7 s (ie. in steps of approx. 0.1 s)

If the actuator is not an I2C device, the repeating pulse width range is 1-2 ms (ie. steps of approx. 8 microseconds) by default. Use the SET OUTPUT PULSE command to configure a repeating pulse with a different interval and pulse width range.

Example:

In order to set the 2nd actuator output repeating pulse width at power-up to 1.5ms, the following message is sent:

240, 125, 0 {DEV}, 49 {SET OUTPUT INIT}, 97 {x = 1, p = 1, yyy = 1}, 64 {pulse width}, 247 (F0h, 7Dh, 00h, 31h, 61h, 40h, F7h)

The pulse width is 1 + 64*0.008 = 1.5ms

In order to turn the same actuator output off and disable continuous control and enable threshold control, the following message is sent:

240, 125, 0 {DEV}, 49 {SET OUTPUT INIT}, 1 {x = 0, p = 0, yyy = 1}, 0 {pulse width}, 247 (F0h, 7Dh, 00h, 31h, 01h, 00h, F7h)