Versions Compared

Key

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

...

Code Block
languagejs
function execute() {
  switch (trigger) {
    case TRIGGERS.SYSTEM_ASYNC:
    {
      if (context.counter > 0 && context.state) {
        context.counter -= context.segment;
        if (context.counter <= 0) {
          return [0];
        }
        sleep(100, true);
        return [context.counter];
      }
      break;
    }
    case 0:
    {
      cancelSleep();
      context.totalTime = inPorts[1].value;
      context.splitTime = context.totalTime / 100;
      context.segment = 4096 / context.splitTime;
      context.counter = 4096;
      context.state = true;
      sleep(100,true );
      return [context.counter];
    }
    case 2: // reset
    {
      context.state = false;
      cancelSleep();
      context.counter = 4096;
      return [context.counter];
    }
    default: break;
  }
  return [];
}

...

Examples

Example

Initialize

Time (ms)

Step width (s)

1

Trigger

4096

1 for 4096

2

Trigger

8192

0.5 for 4096

3

Trigger

5000

0.8192 for 4096

...

In Ports

Position

Name

Message Type

Description

1

Start

Trigger

This port is being used to start the 'Ramp Down' object.

2

Time (Ms)

Number

This port is being used to receive a time for the 'Ramp Down' object.

3

Reset

Trigger

This port is being used to reset the 'Ramp Down' object.

...

Out Ports

Position

Name

Message Type

Description

1

Out

Analog

This port releases the counting down from the given time in a block of 4096 steps.

...

Properties

Name

Description

Object Name

The name on the object on the canvas.

Show Code View

The switch to turn on code view for the Code Object.

Duplicate Code into custom Code Object

Image Modified