GET
AllProperties
GET
PropertiesThatChangeOften
GET
id={motorIndex}
GET
ActualPosition?id={motorIndex}
GET
TargetPosition?id={motorIndex}
GET
ActualPositionInUnits?id={motorIndex}
PUT
TargetPosition?id={motorIndex}
PUT
TargetPositionRelative?id={motorIndex}
PUT
TargetPositionInUnits?id={motorIndex}
PUT
TargetPositionInSuperUnits?id={motorIndex}
POST
Stop?id={motorIndex}
POST
StopAll
GET
LastHomingProcedureResult?id={motorIndex}
POST
Home?id={motorIndex}
POST
StopHoming?id={motorIndex}

/AllProperties

Http method: GET

Gets all properties of all motors.

Request body is empty.

Response JSON body example:
{
  "Motors": [
    {
      "Acceleration": 25,
      "ActualPosition": 19,
      "ActualPositionInSuperUnits": 0,
      "ActualPositionInUnits": 0,
      "Affix": 0,
      "Current": 34,
      "Factor": 0,
      "ForbiddenRanges": [
        {
          "From": 0,
          "IsEnabled": true,
          "To": 0
        },
        {
          "From": 0,
          "IsEnabled": true,
          "To": 0
        }
      ],
      "Index": 86,
      "IsHoming": false,
      "IsLeftSwitchPressed": false,
      "IsRightSwitchPressed": false,
      "MaximalPosition": 42,
      "MaximalPositionInUnits": 0,
      "MaximalVelocity": 32,
      "MinimalPositionInUnits": 0,
      "MinimalVelocity": 94,
      "NamedPositions": [
        {
          "Name": "Untitled",
          "Position": 17,
          "ShortName": ""
        },
        {
          "Name": "Untitled",
          "Position": 94,
          "ShortName": ""
        }
      ],
      "PulseDivision": 26,
      "RampDivision": 16,
      "StepDivision": 42,
      "SuperUnitsCalculator": {
        "Expression": "x",
        "ParserType": 0,
        "UnitName": "",
        "ValidUnitsRange": {
          "From": -1E+300,
          "To": 1E+300
        }
      },
      "TargetPosition": 89,
      "TargetPositionInSuperUnits": 0,
      "TargetPositionInUnits": 0,
      "Title": "Local High School Dropouts Cut in Half",
      "UnitName": "year",
      "ZeroOffset": 5
    },
    {
      "Acceleration": 35,
      "ActualPosition": 47,
      "ActualPositionInSuperUnits": 0,
      "ActualPositionInUnits": 0,
      "Affix": 0,
      "Current": 91,
      "Factor": 0,
      "ForbiddenRanges": [
        {
          "From": 0,
          "IsEnabled": true,
          "To": 0
        },
        {
          "From": 0,
          "IsEnabled": true,
          "To": 0
        }
      ],
      "Index": 95,
      "IsHoming": false,
      "IsLeftSwitchPressed": false,
      "IsRightSwitchPressed": false,
      "MaximalPosition": 44,
      "MaximalPositionInUnits": 0,
      "MaximalVelocity": 37,
      "MinimalPositionInUnits": 0,
      "MinimalVelocity": 19,
      "NamedPositions": [
        {
          "Name": "Untitled",
          "Position": 37,
          "ShortName": ""
        },
        {
          "Name": "Untitled",
          "Position": 49,
          "ShortName": ""
        }
      ],
      "PulseDivision": 9,
      "RampDivision": 95,
      "StepDivision": 81,
      "SuperUnitsCalculator": {
        "Expression": "x",
        "ParserType": 0,
        "UnitName": "",
        "ValidUnitsRange": {
          "From": -1E+300,
          "To": 1E+300
        }
      },
      "TargetPosition": 19,
      "TargetPositionInSuperUnits": 0,
      "TargetPositionInUnits": 0,
      "Title": "Officials Determine Crash Occured When Plane Hit the Ground",
      "UnitName": "cosby",
      "ZeroOffset": 53
    }
  ]
}

/PropertiesThatChangeOften

Http method: GET

Gets often-changing properties properties of all motors.

Request body is empty.

Response JSON body example:
[
  {
    "ActualPosition": 75,
    "ActualPositionInSuperUnits": 0,
    "ActualPositionInUnits": 0,
    "Index": 38,
    "IsHoming": false,
    "IsLeftSwitchPressed": false,
    "IsRightSwitchPressed": false,
    "TargetPosition": 69,
    "TargetPositionInSuperUnits": 0,
    "TargetPositionInUnits": 0
  },
  {
    "ActualPosition": 69,
    "ActualPositionInSuperUnits": 0,
    "ActualPositionInUnits": 0,
    "Index": 23,
    "IsHoming": false,
    "IsLeftSwitchPressed": false,
    "IsRightSwitchPressed": false,
    "TargetPosition": 25,
    "TargetPositionInSuperUnits": 0,
    "TargetPositionInUnits": 0
  }
]

?id={motorIndex}

Http method: GET

Gets all properties of specific motor. If requested motor is not found or is not available due hardware failure error code 404 is returned.

Example request Uri: ?id=148

Request body is empty.

Response JSON body example:
{
  "Acceleration": 18,
  "ActualPosition": 97,
  "ActualPositionInSuperUnits": 0,
  "ActualPositionInUnits": 0,
  "Affix": 0,
  "Current": 14,
  "Factor": 0,
  "ForbiddenRanges": [
    {
      "From": 0,
      "IsEnabled": true,
      "To": 0
    },
    {
      "From": 0,
      "IsEnabled": true,
      "To": 0
    }
  ],
  "Index": 57,
  "IsHoming": false,
  "IsLeftSwitchPressed": false,
  "IsRightSwitchPressed": false,
  "MaximalPosition": 64,
  "MaximalPositionInUnits": 0,
  "MaximalVelocity": 92,
  "MinimalPositionInUnits": 0,
  "MinimalVelocity": 4,
  "NamedPositions": [
    {
      "Name": "Untitled",
      "Position": 97,
      "ShortName": ""
    },
    {
      "Name": "Untitled",
      "Position": 59,
      "ShortName": ""
    }
  ],
  "PulseDivision": 52,
  "RampDivision": 68,
  "StepDivision": 31,
  "SuperUnitsCalculator": {
    "Expression": "x",
    "ParserType": 0,
    "UnitName": "",
    "ValidUnitsRange": {
      "From": -1E+300,
      "To": 1E+300
    }
  },
  "TargetPosition": 26,
  "TargetPositionInSuperUnits": 0,
  "TargetPositionInUnits": 0,
  "Title": "Woman Believed to be Alive Hourse Before Found Dead",
  "UnitName": "ennui",
  "ZeroOffset": 16
}

/ActualPosition?id={motorIndex}

Http method: GET

Gets actual position of motor in steps. Position is synced with hardware asynchronously.

Example request Uri: /ActualPosition?id=201

Request body is empty.

Response JSON body example:
202

/TargetPosition?id={motorIndex}

Http method: GET

Gets target position of motor in steps.

Example request Uri: /TargetPosition?id=138

Request body is empty.

Response JSON body example:
9

/ActualPositionInUnits?id={motorIndex}

Http method: GET

Gets actual position of motor in units (typically mm or deg). Position is synced with hardware asynchronously.

Example request Uri: /ActualPositionInUnits?id=263

Request body is empty.

Response JSON body example:
955.7056431452304

/TargetPosition?id={motorIndex}

Http method: PUT

Sets target position in steps and starts moving motor towards it. Invalid positions are silently ignored. See /ActualPosition to know when (and if) motor reaches target position.

Example request Uri: /TargetPosition?id=29

Request JSON body example:
128

Response body is empty.

/TargetPositionRelative?id={motorIndex}

Http method: PUT

Sets target position in steps relative to current target position and starts moving motor towards it. Invalid positions are silently ignored. See /ActualPosition to know when (and if) motor reaches target position.

Example request Uri: /TargetPositionRelative?id=214

Request JSON body example:
282

Response body is empty.

/TargetPositionInUnits?id={motorIndex}

Http method: PUT

Sets target position in units and starts moving motor towards it. Invalid positions are silently ignored. See ActualPositionInUnits to know when (and if) motor reaches target position.

Example request Uri: /TargetPositionInUnits?id=286

Request JSON body example:
531.00597557192941

Response body is empty.

/TargetPositionInSuperUnits?id={motorIndex}

Http method: PUT

Sets target position in super units and starts moving motor towards it. Invalid positions are silently ignored. See ActualPositionInSuperUnits to know when (and if) motor reaches target position.

Example request Uri: /TargetPositionInSuperUnits?id=13

Request JSON body example:
451.33612698471927

Response body is empty.

/Stop?id={motorIndex}

Http method: POST

Stop motor.

Example request Uri: /Stop?id=152

Request body is empty.

Response body is empty.

/StopAll

Http method: POST

Stop all motors.

Request body is empty.

Response body is empty.

/LastHomingProcedureResult?id={motorIndex}

Http method: GET

Returns result of last homing procedure for this motor. Results are not saved to persistent storage. If no reset procedures were performed for this motor or motor index is invalid error code 404 (Not found) is returned.

Example request Uri: /LastHomingProcedureResult?id=244

Request body is empty.

Response JSON body example:
{
  "FailureDescription": "",
  "IsSuccessful": false,
  "LatchedPositionDifference": 46
}

/Home?id={motorIndex}

Http method: POST

Start motor homing procedure. See /GetMotorLastHomingResult for result after homing has finished. Check IsHoming motor property to know when homing procedure has ended.

Example request Uri: /Home?id=218

Request body is empty.

Response body is empty.

/StopHoming?id={motorIndex}

Http method: POST

Stops homing procedure command.

Example request Uri: /StopHoming?id=273

Request body is empty.

Response body is empty.