/**
 * 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
 */
import "tutorial.machine" // <1>

Robot1.M { // <2>
  Timings { // <3>
      apply_brake = 100e-3
  }
  Axis X {
    Profiles { // <4>
      slow (V = 0.5, A = 0.5, J = 0.5, S = 0.1)
      normal (V = 1, A = 1, J = 1)
    }
    Positions { // <5>
      Left (min = -100, max = -200, default = -150)
      Right = 300.0
    }
  }
  Axis Y {
    Profiles {
      slow (V = 0.5, A = 0.5, J = 0.5, S = 0.1)
      normal (V = 1.0, A = 1.0, J = 1.0, S = 0.1)
    }
    Positions {
      Above = 150.0
      Below_Left = -160.0
      Below_Right = -150.0
    }
  }
}

Robot1.C { 
  Timings { // <3>
    clamp = Normal(mean = 1.1, sd = 0.1)
    unclamp = 0.9
  }
}

Robot2.M {
  Timings {
      apply_brake = 100e-3
  }
  Axis X {
    Profiles {
      slow (V = 0.5, A = 1, J = 2)
      normal (V = 1, A = 1, J = 2)
    }
    Positions {
      Left = -150
      Center_Below_Left = -75
      Center = 0
      Right = 150.0
    }
  }
  Axis Y {
    Profiles {
      slow (V = 0.5, A = 1, J = 2)
      normal (V = 1, A = 1, J = 2)
    }
    Positions {
      Above = 150.0
      Center = 0
      Center_Below_Left = -75
      Below = -150.0
    }
  }
}

Robot2.C { 
  Timings {
    clamp = Normal(mean = 1.1, sd = 0.1)
    unclamp = 0.9
  }
}