Grow Radius for SineWave: By Name


ASTER::ACTION::MotionControl::Grow Radius for SineWave; ByName

Setting GrowRad Parameters for Sinewave Motion to the Registered Motion Group on the Controller.

SineWave Motion has the following three option settings:

  1. Startup Angle

  2. Sleep Operation

  3. Amplitude Change Command

“Grow Radius for Sinewave” is an optional setting that enables features such as round-trips to the maximum and minimum values of the amplitude.

While the feature name is “Grow Radius,” in the case of SineWave, it is not strictly Radius but rather the “Amplitude.” The names do not distinguish between Radius and Amplitude, and the command name uses the unified name GrowRad.


Example Parameters

First, enter the usual SineWave motion parameters.

"+1.2,   80,   +2.2,    0,   0, false,  -40,  1000"

Next, send the GrowRad parameters to extend the SineWave motion.

"true,  150,  0,  -.5,  60,  -1"

Minion Minion


Parameter.1

Specification of the motion group name.

If there are two or more registered motion groups, you can set the parameter for the corresponding group by specifying the group name.

Parameter Example Description
"ExMotion1" Setting the parameter for a specified group name.
"" Send an empty string, targeting all registered motion groups.

If you send an empty string without specifying the group name, all currently registered motion groups will be targeted.


Parameter.2

Send GrowRad Parameters

Serialize and send the Grow Radius parameters (6 Params).

  • There is syntax checking, and any invalid syntax will result in a runtime error.

  • The numerical type specification is strictly enforced.

"true,  150,  0,  -.5,  60,  -1"
value Type Description
true boolean Grow Radius Flag; true or false
150 unsigned int Max Amplitude
0 int Minimum Amplitude
-.5 float Omega ( ω ); Increase or Decrease with value to the current Amplitude.
60 unsigned int Frame time interval; When arrive at the Max or Minumum Amplitude.
-1 int Repetition value; -1 iz the infinite loop.

The details of individual parameters are listed below.


Show Grow Radius Flag
Grow Radius Flag; Boolean

Boolean value to enable the Grow Radius feature. Use true or false.

  • If true, the feature is enabled.

  • If false, the feature is disabled.

If a repetition value is set to 0, the GrowRad flag is automatically set to false.


Show Max amplitude
Max Amplitude; unsigned int

Set the maximum value of the amplitude.

  • Values are unsigned integers, and using any signed representation is considered a syntax error. Not only negative values, but also positive values are not allowed to use signs.
status value
Error -100
Error +100
No error 100

In many cases, unsigned int is specified to prohibit the use of negative signs for parameters that do not accept negative values. The reason for also prohibiting the use of positive signs is to indicate that the parameter is an absolute value and that signs are meaningless.


Show Minimum amplitude
Minimum Amplitude; int

Specify the minimum amplitude as an integer. A negative value can be used, and it must be smaller than the maximum value (Max Amplitude).


Show Omega
Omega; float

Specify the value to be added or subtracted from the current amplitude value as a signed floating-point number (float).

The initial amplitude value will be incremented or decremented over time until it equals the specified maximum or minimum radius value. The larger the absolute value of Omega, the faster the target value will be reached.

About writing values

float supports implicit fractional representation, .1. This is simply a shorter way to represent floating-point numbers where the leading zero before the decimal point is omitted.

status value
No error +0.1
No error -.1

Regarding the use of signs, positive values are optional, but it is recommended to use signs to improve the readability of the parameters.

If the Omega value is positive, it will aim for the maximum amplitude. If the Omega value is negative, it will aim for the minimum amplitude.


Show Interval frame time
Interval Frame Time; unsigned int

Specify the interval time as an unsigned integer. A value of 1 or greater is required.

If the Repetition value is not 0 when the target value (maximum or minimum amplitude) is reached, the amplitude will be modified again after the interval to reach the next target value.

The time unit is the frame time, which changes according to the application’s frame settings. In an application where the screen updates 60 times per second, if 60 is specified for the interval, the amplitude will remain the same for approximately one second without changing.


Show Repetition numbers
Repetition Numbers; int

Specify the number of repetitions for the maximum and minimum amplitude as a signed integer.

  • If repetitionis set to 0, the Grow Radius Flag will be set to false.

If a value of 1 or more is assigned to “repetition numbers”, the amplitude will be decremented by 1 each time it reaches the maximum or minimum amplitude value. GrowRad will stop operating once the repetition value reaches 0.

If a negative value is assigned, it indicates an infinite loop and will cause the amplitude to repeatedly move back and forth between the maximum and minimum values, with intervals in between.