From 19a41ec25b79163f345a9f0d0494da74666be3c9 Mon Sep 17 00:00:00 2001 From: Asbelos Date: Thu, 13 Feb 2025 11:28:09 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20DCC-EX/C?= =?UTF-8?q?ommandStation-EX@1c7865a01405ab6657c4e45dd3ca83b9259d145f=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 120 ++++++++++++++++++++++++++++--------------------- objects.inv | Bin 4680 -> 4684 bytes searchindex.js | 2 +- 3 files changed, 71 insertions(+), 51 deletions(-) diff --git a/index.html b/index.html index f1d3f8b..f3aa655 100644 --- a/index.html +++ b/index.html @@ -426,14 +426,14 @@
-DCC_TURNTABLE(tuirntable_id, home, description...)
+DCC_TURNTABLE(turntable_id, home, description...)

defines a Turntable device

Parameters:
    -
  • turntable_id – ??? TODO ???

  • -
  • home – ??? TODO ???

  • -
  • description... – Quotyed text description of turntable

  • +
  • turntable_id

  • +
  • homeAngle – the angle of the home position, valid angles are 0 - 3600

  • +
  • description... – Quoted text description of turntable

@@ -567,13 +567,13 @@
EXTT_TURNTABLE(id, vpin, home, description...)
-

??????????????????????

+

This statement will create the EX‑Turntable turntable/traverser object only, so you will need a separate HAL() statement for an EX‑Turntable device driver.

Parameters:
    -
  • id

  • +
  • turntable_id

  • vpin

  • -
  • home

  • +
  • homeAngle – the angle of the home position, valid angles are 0 - 3600

  • description...

@@ -972,12 +972,12 @@
-IFRE(sensor_id, value)
-

????????????????????????????????????????

+IFRE(vpin, value)
+

Checks external rotary encoder value.

Parameters:
    -
  • sensor_id

  • +
  • vpin – of device driver for rotary encoder

  • value

@@ -1118,14 +1118,19 @@
-MOVETT(id, steps, activity)
-

???????????????????

+MOVETT(turntable_id, steps, activity)
+

Move Turntable to specific position.

+

+

See also

+

ROTATE

+
+

Parameters:
    -
  • id

  • -
  • steps

  • -
  • activity

  • +
  • turntable_id

  • +
  • steps – position to move to

  • +
  • activity – see ROTATE

@@ -1422,8 +1427,8 @@
-ONCHANGE(sensor_id)
-

??? something strange in RotaryEncoder HAL…

+ONCHANGE(vpin)
+

Toratry encoder change starts task here (This is obscurely different from ONSENSOR which will be merged in a later release.)

Parameters:
    @@ -1435,12 +1440,12 @@
    -ONSENSOR(sensor_id)
    +ONSENSOR(vpin)

    Start task here when sensor changes state (debounced)

    Parameters:
      -
    • sensor_id

    • +
    • vpin

    @@ -1448,12 +1453,12 @@
    -ONBUTTON(sensor_id)
    +ONBUTTON(vpin)

    Start task here when sensor changes HIGH to LOW.

    Parameters:
      -
    • sensor_id

    • +
    • vpin

    @@ -1472,8 +1477,8 @@
    Parameters:
      -
    • id

    • -
    • pin

    • +
    • turnout_id

    • +
    • vpin

    • description... – Quoted text (shown to throttles) or HIDDEN

    @@ -1508,12 +1513,17 @@
    -PICKUP_STASH(id)
    +PICKUP_STASH(stash_id)

    Loads stashed value into current task loco.

    +

    +

    See also

    +

    STASH

    +
    +

    Parameters:
      -
    • id – position in stash where a loco id was previously saved.

    • +
    • stash_id – position in stash where a loco id was previously saved.

    @@ -1639,13 +1649,13 @@
    ROTATE(turntable_id, position, activity)
    -

    ????

    +

    Rotates a turntavble top a given position.

    Parameters:
    • turntable_id

    • -
    • position

    • -
    • activity

    • +
    • position_id

    • +
    • activity – Turn // Rotate turntable, maintain phase Turn_PInvert // Rotate turntable, invert phase Home // Initiate homing Calibrate // Initiate calibration sequence LED_On // Turn LED on LED_Slow // Set LED to a slow blink LED_Fast // Set LED to a fast blink LED_Off // Turn LED off Acc_On // Turn accessory pin on Acc_Off // Turn accessory pin off

    @@ -1653,13 +1663,13 @@
    -ROTATE_DCC(turntable_id, position)
    -

    ????

    +ROTATE_DCC(turntable_id, position_id)
    +

    Rotates turntable to given position using DCC commands.

    Parameters:
    • turntable_id

    • -
    • position

    • +
    • position_id

    @@ -1899,7 +1909,7 @@
    Parameters:
    • vpin – of servo

    • -
    • position – servo poisition (values are hardware dependent)

    • +
    • position – servo position (values are hardware dependent)

    • profile – movement profile (Instant, Fast, Medium, Slow, Bounce)

    @@ -1914,7 +1924,7 @@
    Parameters:
    • vpin – of servo

    • -
    • position – servo poisition (values are hardware dependent)

    • +
    • position – servo position (values are hardware dependent)

    • duration – mS

    @@ -1929,9 +1939,9 @@
    Parameters:
    • vpin – of servo, acts as signal_id

    • -
    • redpos – servo poisition (values are hardware dependent)

    • -
    • amberpos – servo poisition (values are hardware dependent)

    • -
    • greenpos – servo poisition (values are hardware dependent)

    • +
    • redpos – servo position (values are hardware dependent)

    • +
    • amberpos – servo position (values are hardware dependent)

    • +
    • greenpos – servo position (values are hardware dependent)

    @@ -1946,8 +1956,8 @@
    • turnout_id – used by THROW/CLOSE

    • vpin – for servo

    • -
    • activeAngle – servo poisition (values are hardware dependent)

    • -
    • inactiveAngle – servo poisition (values are hardware dependent)

    • +
    • activeAngle – servo position (values are hardware dependent)

    • +
    • inactiveAngle – servo position (values are hardware dependent)

    • profile – movement profile (Instant, Fast, Medium, Slow, Bounce)

    • description... – Quoted text shown to throttles or HIDDEN keyword to hide turnout button

    @@ -1982,7 +1992,7 @@
    Parameters:
    • track – A..H

    • -
    • mode – ???names???

    • +
    • mode – NONE, MAIN, PROG, DC, EXT, BOOST, BOOST_INV, BOOST_AUTO, MAIN_INV, MAIN_AUTO, DC_INV, DCX

    @@ -1996,7 +2006,7 @@
    Parameters:
    • track – A..H

    • -
    • onoff – ??? values ???

    • +
    • onoff – ON or OFF

    @@ -2022,7 +2032,7 @@
    Parameters:
      -
    • freq – ??????????? values ??????

    • +
    • freq – Frequency is default 0, or 1..3

    @@ -2031,7 +2041,7 @@
    SIGNAL(redpin, amberpin, greenpin)
    -

    Define a Signal with LOW=on leds (is that common annode???)

    +

    Define a Signal with LOW=on leds.

    See also

    SIGNALH

    @@ -2172,16 +2182,16 @@
    -TT_ADDPOSITION(turntable_id, position, value, angle, description...)
    +TT_ADDPOSITION(turntable_id, position_id, value, angle, description...)

    Defines a turntable track position.

    Parameters:
    • turntable_id

    • -
    • position – ??????????

    • -
    • value

    • -
    • angle

    • -
    • description...

    • +
    • position_id – each position is given an id

    • +
    • address – DCC accessory address

    • +
    • angle – Used only for throttles that may draw a visual representation of the turntable

    • +
    • description... – quoted text or HIDDEN

    @@ -2255,7 +2265,12 @@
    VIRTUAL_SIGNAL(signal_id)
    -

    Defines a virtual (no hardware) signal.

    +

    Defines a virtual (no hardware) signal, use ONhandlers to simulate hardware.

    +

    +

    See also

    +

    SIGNAL ONRED ONAMBER ONGREEN

    +
    +

    Parameters:
      @@ -2268,12 +2283,17 @@
      VIRTUAL_TURNOUT(id, description...)
      -

      Defines a virtual (no hardware) turnout.

      +

      Defines a virtual (no hardware) turnout, use ONhandlers to simulate hardware.

      +

      +

      See also

      +

      TURNOUT ONCLOSE ONTHROW

      +
      +

      Parameters:
      • turnout_id

      • -
      • description...

      • +
      • description... – quoted text or HIDDEN

      diff --git a/objects.inv b/objects.inv index 44c60c37f5bedf3dcfacc066790f77333e43e1e9..396d1e1558f7a35452071091ee7f8eb81653553d 100644 GIT binary patch delta 4597 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 delta 4593 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