diff --git a/docs/src/hal/components.adoc b/docs/src/hal/components.adoc index d70f2b649b8..6dcd25b10f5 100644 --- a/docs/src/hal/components.adoc +++ b/docs/src/hal/components.adoc @@ -251,7 +251,7 @@ Limit its slew rate to less than maxv per second. Limit its second derivative to | link:../man/man9/mux2.9.html[mux2] |Select from one of two input values (multiplexer). || | link:../man/man9/mux4.9.html[mux4] |Select from one of four input values (multiplexer). || | link:../man/man9/mux8.9.html[mux8] |Select from one of eight input values (multiplexer). || -| link:../man/man9/mux_generic.9.html[mux_generic] | Select one from several input values (multiplexer). || +| link:../man/man9/mux_generic.9.html[mux_generic] | Select one from several inputs and forwards it to a single output (multiplexer). || | link:../man/man9/near.9.html[near] |Determine whether two values are roughly equal. || | link:../man/man9/offset.9.html[offset] |Adds an offset to an input, and subtracts it from the feedback value. || | link:../man/man9/safety_latch.9.html[safety_latch] |latch for error signals || diff --git a/docs/src/man/man1/halui.1.adoc b/docs/src/man/man1/halui.1.adoc index 986cfdcdcf3..6e84da6e5f2 100644 --- a/docs/src/man/man1/halui.1.adoc +++ b/docs/src/man/man1/halui.1.adoc @@ -271,6 +271,8 @@ _N_ = joint number (0 ... num_joints-1) === Joint jogging (*N* = joint number (0 ... num_joints-1)) +Joint jogging is possible in unhomed state except for joints having a negative HOME_SEQUENCE value. See Section "Homing Configuration" of the documentation. + *halui.joint.jog-deadband* float in:: pin for setting jog analog deadband (jog analog inputs smaller/slower than this (in absolute value) are ignored). *halui.joint.jog-speed* float in:: @@ -325,6 +327,8 @@ _L_ = axis letter (xyzabcuvw) === Axis Jogging +This is only possible in homed state. + _L_ = axis letter (xyzabcuvw) *halui.axis.jog-deadband* float in:: diff --git a/docs/src/man/man9/mux_generic.9.adoc b/docs/src/man/man9/mux_generic.9.adoc index e75fe29fc33..16f28d729c9 100644 --- a/docs/src/man/man9/mux_generic.9.adoc +++ b/docs/src/man/man9/mux_generic.9.adoc @@ -2,11 +2,15 @@ == NAME -mux_generic - choose one from several input values +mux_generic - select one from several inputs and forwards it to a single output == SYNOPSIS -**loadrt mux_generic config="**bb8,fu12....**"** +**loadrt mux_generic config="**____[,____],...**"** + +Types: **b** = bit, **f** = float, **s** = signed integer, **u** = unsigned integer + +Example: **loadrt mux_generic config="**bb8,fu12**"** == FUNCTIONS @@ -14,6 +18,19 @@ mux_generic - choose one from several input values == PINS + mux-gen.NN.sel-bit-00 ───────────────────┐ + ... ─────────────────┐ │ + mux-gen.NN.sel-bit-BB ───────────────┐ │ │ + mux-gen.NN.sel-int ─────────────┐ │ │ │ + ┌───────┴─┴─┴─┴───────┐ +mux-gen.NN.in-[bit/float/s32/u32]-00 ─────┤ ─────o \ │ + ... ─────┤ ─────o o───── ├───── mux-gen.NN.out-[bit/float/s32/u32] +mux-gen.NN.in-[bit/float/s32/u32]-MM ─────┤ ─────o │ + │ │ + mux-gen.NN.suppress-no-input ─────┤ │ + mux-gen.NN.debounce-us ─────┤ │ + └─────────────────────┘ + **mux-gen**.__N__.**suppress-no-input** bit in:: This suppresses changing the output if all select lines are false. This stops unwanted jumps in output between transitions of input but makes in00 unavailable. @@ -21,9 +38,9 @@ mux_generic - choose one from several input values sets debounce time in microseconds, e.g. 100000 = a tenth of a second. The selection inputs must be stable this long before the output changes. This helps to ignore 'noisy' switches. -**mux-gen**.__N__.**sel-bit-**__MM__ bit in (M=0..N):: +**mux-gen**.__N__.**sel-bit-**__BB__ bit in (BB=0..bit width of _size_):: **mux-gen**.__N__.**sel-int** unsigned in:: - Together, these determine which **in**__N__ value is copied to *output*. + Together, these determine which **in**__M__ value is copied to *output*. The bit pins are interpreted as binary bits, and the result is simply added on to the integer pin input. It is expected that either one or the other would normally be used. However, the possibility exists to @@ -32,14 +49,14 @@ mux_generic - choose one from several input values component is an integer power of two. This component (unlike mux16) does not offer the option of decoding Gray-code, however the same effect can be achieved by arranging the order of the input values to suit. +**mux-gen**.__N__.**in-**[**bit**/**float**/**s32**/**u32**]**-**__MM__ variable-type in:: + The possible output values that are selected by the selection pins. **mux-gen**.__N__.**out-**[**bit**/**float**/**s32**/**u32**] variable-type out:: Follows the value of one of the **in**__N__ values according to the selection bits and/or the selection number. Values will be converted/truncated according to standard C rules. This means, for example that a float input greater than 2147483647 will give an S32 output of -2147483648. -**mux-gen**.__N__.**in-**[**bit**/**float**/**s32**/**u32**]**-**__MM__ variable-type in:: - The possible output values that are selected by the selection pins. == PARAMETERS @@ -57,7 +74,7 @@ components. It allows the creation of arbitrary-size multiplexers (up to output pins. The configuration string is a comma-separated list of code-letters and numbers, such as "bb4,fu12". This would create a 4-element bit-to-bit mux and a 12-element float-to-unsigned mux. The -code letters are b = bit, f = float, s = signed integer, u = unsigned +code letters are **b** = bit, **f** = float, **s** = signed integer, **u** = unsigned integer. The first letter code is the input type, the second is the output type. The codes are not case-sensitive. The order of the letters is significant but the position in the string is not. Do not insert any