SimpleMotion parameter valid value range

From Granite Devices Knowledge Wiki
Revision as of 14:11, 6 March 2018 by Tero K (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Jump to: navigation, search

Each writable SimpleMotion parameter has a value range that is accepted. In most cases the value range is just linear range between minimum and maximum values. In some cases value might have special binary format and valid values are more complexly defined.

Linear value range[edit | edit source]

There are two types of linear range parameters

  • parameters with no upper/lower bounds, except the bit length of the transmittable value
  • parameters with defined upper/lower bounds

To identify the limits of the parameter, one can use following method with SimpleMotion API:

  1. //read the actual value, minimum valid value and maximum valid value of SMP_TRAJ_PLANNER_VEL parameter
  2. smint32 value, min, max;
  3. smRead3Parameters( busHandle, deviceAddress, 
  4.     SMP_TRAJ_PLANNER_VEL ,&value, 
  5.     SMP_TRAJ_PLANNER_VEL|SMP_MIN_VALUE_MASK,&min, 
  6.     SMP_TRAJ_PLANNER_VEL|SMP_MAX_VALUE_MASK, &max);
The technique here is to read parameter value where address of parameter has been masked with SMP_MIN_VALUE_MASK or SMP_MAX_VALUE_MASK. Masked parameter addresses will return the minimum or maximum value that the parameter accepts.

Complex value range[edit | edit source]

Some parameters, such as SMP_SERIAL_ENC_BITS accepts a special binary format as value thus the valid range can't be defined with min-max method. In these cases, refer to simplemotion_defs.h for valid input values.


In no event the Product Information or parts hereof shall be regarded as guarantee of conditions or characteristics. The Product Information or any part thereof may also not be regarded as a warranty of any kind. No liability of any kind shall be assumed by Author with respect to Product Information or any use made by you thereof, nor shall Author indemnify you against or be liable for any third party claims with respect to such information or any use thereof.

As content of this Wiki may be edited by user community, Granite Devices Oy or it's affiliates do not take any responsibility of the contents of this Wiki. Use information at your own risk. However, Granite Devices staff attempts to review all changes made to this Wiki and keep information trustworthy.

Without written consent, Granite Devices' Products or Intellectual Property shall not be used in situations or installations where living beings, material property, or immaterial property could be harmed by the operation, features or failures of Product. Products may only be used in a way where hazards like moving parts, electric shock, laser radiation, or fire can't be realized even if the content of this Wiki would suggest otherwise.