////
  // Copyright (c) 2021, 2025 Contributors to the Eclipse Foundation
  //
  // This program and the accompanying materials are made
  // available under the terms of the Eclipse Public License 2.0
  // which is available at https://www.eclipse.org/legal/epl-2.0/
  //
  // SPDX-License-Identifier: EPL-2.0
////

include::_initCommon.adoc[]

=== Motion Calculator

A motion calculator is used to calculate the time it takes for a move to complete.
The default _Third order point-to-point_ motion calculator is capable of calculating time for point-to-point moves with a 3^rd^ order motion profile.
It also supports passing moves, with the constraint that  for all sub-moves the motion profile is the same.

{lsat} provides an extensible design for adding custom motion calculators.
Creating a custom motion calculator requires knowledge about Eclipse plug-in development and Java.
As such the instructions can be found in the link:{lsat-website}/development/#motioncalculator[design documentation] of {lsat}.

{lsat} also provides a simple JSON connector to add custom motion calculators written in other languages than Java.
More details are provided in the link:{lsat-website}/development/#motioncalculatorjson[design documentation] of {lsat}.

When a custom motion calculator is installed in the {lsat} environment, it can be selected via the menu:Window[Preferences, Logistics, Motion Calculator] menu.

image::{imgsdir}/motion-calculator-selection.png[]