Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Some properties are known in advance and will not change at run-time. Examples are positionUnits, or resolutionBest. These properties are implemented as regular (non-Dependent) properties, and are given default values directly in the properties block. In some cases, it may make sense to allow these properties to be optionally constructor-initialized, eg if their value depends on a firmware version which can vary from device to device. For the MP285, the positionUnits falls into this "set-it-and-forget-it" category.
  • Some properties do change at runtime, and involve read-only queries to the hardware. An example is positionAbsoluteRaw. These properties are implemented as Dependent properties, with get-methods that send the appropriate query commands to the hardware.
  • Some properties not only change at runtime, but can be set to new values, as well as queried. An example of such a property is velocity, implemented as a Dependent property with both a set-method and a get-method. The set-method sends the appropriate set-command (and value-to-be-set) to the hardware to set the value on the device.

...

Minimal Required Implementation

...

Other notes

...

At the current time, the abstract properties required for ScanImage operation are:

  1. nonblockingMoveCompletedDetectionStrategy
  2. positionAbsoluteRaw (get only)
  3. isMoving (get only)
  4. positionDeviceUnits (get only)
  5. resolution (get only)

...