Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gricherkinova committed Dec 7, 2018
0 parents commit b55ed99
Show file tree
Hide file tree
Showing 585 changed files with 19,058 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
@@ -0,0 +1,3 @@
kortex_api/
kortex_api*.zip
api_cpp/examples/build/
62 changes: 62 additions & 0 deletions LICENSE
@@ -0,0 +1,62 @@
Copyright (c) 2018, Kinova inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

____________________________________________________________________


Protocol Buffer license

Copyright 2008 Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Code generated by the Protocol Buffer compiler is owned by the owner
of the input file used when generating it. This code is not
standalone and requires a support library to be linked with it. This
support library is itself covered by the above license.
289 changes: 289 additions & 0 deletions api_cpp/doc/markdown/index.md

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions api_cpp/doc/markdown/references/enm_ActuatorConfig_CommandMode.md
@@ -0,0 +1,21 @@
# Enum CommandMode

This page describes the C++ Kinova::Api::ActuatorConfig::CommandMode enumeration.

## Overview / Purpose

List of admissible command modes

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|CYCLIC|0|Only cyclic data|
|ASYNC\_CYCLIC\_FLAGS|1|Not supported|
|ASYNC|2|Only config messages|
|CYCLIC\_JITTERCOMPENSATED\_POSITION|3|Smoothing using only position inputs|
|CYCLIC\_JITTERCOMPENSATED\_VELOCITY|4|Smoothing using position and velocity inputs|
|CYCLIC\_JITTERCOMPENSATED\_ACCELERATION|5|Smoothing using position, velocity and acceleration inputs \(not supported\)|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

@@ -0,0 +1,22 @@
# Enum ControlLoopSelection

This page describes the C++ Kinova::Api::ActuatorConfig::ControlLoopSelection enumeration.

## Overview / Purpose

List of admissible control loop selections

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|RESERVED|0|0x0 - Reserved \(internal use only\)|
|JOINT\_POSITION|1|0x1 - Joint position control \(if available\)|
|MOTOR\_POSITION|2|0x2 - Motor position control|
|JOINT\_VELOCITY|4|0x4 - Joint velocity control \(if available\)|
|MOTOR\_VELOCITY|8|0x8 - Motor velocity control|
|JOINT\_TORQUE|16|0x10 - Joint torque control|
|MOTOR\_CURRENT|32|0x20 - Motor current control|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

21 changes: 21 additions & 0 deletions api_cpp/doc/markdown/references/enm_ActuatorConfig_ControlMode.md
@@ -0,0 +1,21 @@
# Enum ControlMode

This page describes the C++ Kinova::Api::ActuatorConfig::ControlMode enumeration.

## Overview / Purpose

List of admissible control modes

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|NONE|0|None|
|POSITION|1|Position mode|
|VELOCITY|2|Velocity mode|
|TORQUE|3|Torque mode|
|CURRENT|4|Current mode|
|CUSTOM|5|Custom mode|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

@@ -0,0 +1,40 @@
# Enum SafetyIdentifier

This page describes the C++ Kinova::Api::ActuatorConfig::SafetyIdentifier enumeration.

## Overview / Purpose

List of admissible actuator safeties

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|UNSPECIFIED\_ACTUATOR\_SAFETY\_IDENTIFIER|0|0x0 - Unspecified actuator safety|
|FOLLOWING\_ERROR|1|0x1 - Following error|
|MAXIMUM\_VELOCITY|2|0x2 - Maximum velocity|
|JOINT\_LIMIT\_HIGH|4|0x4 - Joint position limit high|
|JOINT\_LIMIT\_LOW|8|0x8 - Joint position limit low|
|STRAIN\_GAUGE\_MISMATCH|16|0x10 - Strain gauge mismatch|
|MAXIMUM\_TORQUE|32|0x20 - Maximum torque|
|UNRELIABLE\_ABSOLUTE\_POSITION|64|0x40 - Unreliable absolute position|
|MAGNETIC\_POSITION|128|0x80 - Magnetic position|
|HALL\_POSITION|256|0x100 - Hall position|
|HALL\_SEQUENCE|512|0x200 - Hall sequence|
|INPUT\_ENCODER\_HALL\_MISMATCH|1024|0x400 - Input encoder Hall mismatch|
|INPUT\_ENCODER\_INDEX\_MISMATCH|2048|0x800 - Input encoder index mismatch|
|INPUT\_ENCODER\_MAGNETIC\_MISMATCH|4096|0x1000 - Input encoder magnetic mismatch|
|MAXIMUM\_MOTOR\_CURRENT|8192|0x2000 - Maximum motor current|
|MOTOR\_CURRENT\_MISMATCH|16384|0x4000 - Motor current mismatch|
|MAXIMUM\_VOLTAGE|32768|0x8000 - Maximum voltage|
|MINIMUM\_VOLTAGE|65536|0x10000 - Minimum voltage|
|MAXIMUM\_MOTOR\_TEMPERATURE|131072|0x20000 - Maximum motor temperature|
|MAXIMUM\_CORE\_TEMPERATURE|262144|0x40000 - Maximum core temperature|
|NON\_VOLATILE\_MEMORY\_CORRUPTED|524288|0x80000 - Non-volatile memory corrupted|
|MOTOR\_DRIVER\_FAULT|1048576|0x100000 - Motor driver fault|
|EMERGENCY\_LINE\_ASSERTED|2097152|0x200000 - Emergency line asserted|
|COMMUNICATION\_TICK\_LOST|4194304|0x400000 - Communication tick lost|
|WATCHDOG\_TRIGGERED|8388608|0x800000 - Watchdog triggered|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

@@ -0,0 +1,17 @@
# Enum SafetyLimitType

This page describes the C++ Kinova::Api::ActuatorConfig::SafetyLimitType enumeration.

## Overview / Purpose

List of of admissible limit types

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|MAXIMAL\_LIMIT|0|Maximal limit|
|MINIMAL\_LIMIT|1|Minimal limit|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

@@ -0,0 +1,17 @@
# Enum ServiceVersion

This page describes the C++ Kinova::Api::ActuatorConfig::ServiceVersion enumeration.

## Overview / Purpose

Enumeration used to identify ActuatorConfig service current version

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|RESERVED\_0|0|Reserved|
|CURRENT\_VERSION|1|Current version|

**Parent topic:** [ActuatorConfig](../references/summary_ActuatorConfig.md)

@@ -0,0 +1,17 @@
# Enum ServiceVersion

This page describes the C++ Kinova::Api::ActuatorCyclic::ServiceVersion enumeration.

## Overview / Purpose

Enumeration used to identify ActuatorCyclic current version

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|RESERVED\_0|0|Reserved|
|CURRENT\_VERSION|1|Current version|

**Parent topic:** [ActuatorCyclic](../references/summary_ActuatorCyclic.md)

20 changes: 20 additions & 0 deletions api_cpp/doc/markdown/references/enm_Api_ErrorCodes.md
@@ -0,0 +1,20 @@
# Enum ErrorCodes

This page describes the C++ Kinova::Api::ErrorCodes enumeration.

## Overview / Purpose

List of possible error codes

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|SUCCESS|0|No errors|
|ERROR\_PROTOCOL\_SERVER|1|Protocol server errors|
|ERROR\_PROTOCOL\_CLIENT|2|Protocol client errors|
|ERROR\_DEVICE|3|Device errors|
|ERROR\_INTERNAL|4|Internal errors|

**Parent topic:** [Api](../references/summary_Api.md)

99 changes: 99 additions & 0 deletions api_cpp/doc/markdown/references/enm_Api_SubErrorCodes.md
@@ -0,0 +1,99 @@
# Enum SubErrorCodes

This page describes the C++ Kinova::Api::SubErrorCodes enumeration.

## Overview / Purpose

List of possible sub errror codes

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|SUB\_SUCCESS|0|No sub errors|
|FAILED|1|Failed method|
|UNIMPLEMENTED|2|Unimplemented method|
|INVALID\_PARAM|3|Invalid parameter|
|UNSUPPORTED\_SERVICE|4|Service not recognized|
|UNSUPPORTED\_METHOD|5|Method not recognized|
|TOO\_LARGE\_ENCODED\_FRAME\_BUFFER|6|Encoded frame bigger than what transport permits|
|FRAME\_ENCODING\_ERR|7|Unable to encode frame|
|FRAME\_DECODING\_ERR|8|Unable to decode frame|
|INCOMPATIBLE\_HEADER\_VERSION|9|Frame header version differs from what is expected and is considered incompatible|
|UNSUPPORTED\_FRAME\_TYPE|10|Unrecognized frame type|
|UNREGISTERED\_NOTIFICATION\_RECEIVED|11|Server receiving unregistered notification|
|INVALID\_SESSION|12|Session not recognized|
|PAYLOAD\_DECODING\_ERR|13|Unable to decode payload|
|UNREGISTERED\_FRAME\_RECEIVED|14|Client received a response for which it did not send an RPC call|
|INVALID\_PASSWORD|15|Password does not match specified user|
|USER\_NOT\_FOUND|16|Unrecognized user|
|ENTITY\_NOT\_FOUND|17|Cannot find entity|
|ROBOT\_MOVEMENT\_IN\_PROGRESS|18|Robot refuses new control command because robot movement in progress|
|ROBOT\_NOT\_MOVING|19|Robot refuses stop command because robot is not moving|
|NO\_MORE\_STORAGE\_SPACE|20|Unable to execute because no more storage|
|ROBOT\_NOT\_READY|21|Robot initialization is not complete|
|ROBOT\_IN\_FAULT|22|Robot in fault|
|ROBOT\_IN\_MAINTENANCE|23|Robot in maintenance|
|ROBOT\_IN\_UPDATE\_MODE|24|Robot in update|
|ROBOT\_IN\_EMERGENCY\_STOP|25|Robot in emergency stop state|
|SINGLE\_LEVEL\_SERVOING|26|Robot is in single-level servoing mode|
|LOW\_LEVEL\_SERVOING|27|Robot is in low-level servoing mode|
|MAPPING\_GROUP\_NON\_ROOT|28|Trying to add a non-root MapGroup to Mapping|
|MAPPING\_INVALID\_GROUP|29|Trying to add an invalid or non-existent MapGroup to Mapping|
|MAPPING\_INVALID\_MAP|30|Trying to add an invalid or non-existent Map to Mapping|
|MAP\_GROUP\_INVALID\_MAP|31|Trying to add an invalid or non-existent Map to MapGroup|
|MAP\_GROUP\_INVALID\_PARENT|32|Trying to add a MapGroup under an invalid parent|
|MAP\_GROUP\_INVALID\_CHILD|33|Trying to add an invalid or non-existent to MapGroup|
|MAP\_GROUP\_INVALID\_MOVE|34|Trying to change a MapGroup's parent: move not supported|
|MAP\_IN\_USE|35|Deleting a Map used in a Mapping or MapGroup|
|WIFI\_CONNECT\_ERROR|36|Unable to connect to specified Wifi network|
|UNSUPPORTED\_NETWORK\_TYPE|37|Unsupported network type|
|TOO\_LARGE\_ENCODED\_PAYLOAD\_BUFFER|38|Encoded payload bigger than what transport permits|
|UPDATE\_PERMISSION\_DENIED|39|Attempting update command on non-updatable entity|
|DELETE\_PERMISSION\_DENIED|40|Attempting delete command on non-deletable entity|
|DATABASE\_ERROR|41|Internal DB error|
|UNSUPPORTED\_OPTION|42|Option not supported|
|UNSUPPORTED\_RESOLUTION|43|Resolution not supported|
|UNSUPPORTED\_FRAME\_RATE|44|Frame rate not supported|
|UNSUPPORTED\_BIT\_RATE|45|Bit rate not supported|
|UNSUPPORTED\_ACTION|46|Action not supported \(generic, when an action is not supported for a particular item\)|
|UNSUPPORTED\_FOCUS\_ACTION|47|Focus action not supported|
|VALUE\_IS\_ABOVE\_MAXIMUM|48|Specified value is above the supported maximum|
|VALUE\_IS\_BELOW\_MINIMUM|49|Specified value is below the supported minimum|
|DEVICE\_DISCONNECTED|50|Device is not connected|
|DEVICE\_NOT\_READY|51|Device is not ready|
|INVALID\_DEVICE|52|Device id is invalid during bridging|
|SAFETY\_THRESHOLD\_REACHED|53|Safety threshold is reached therefore safety is on|
|INVALID\_USER\_SESSION\_ACCESS|54|Service or function access not allowed: out of session or level access|
|CONTROL\_MANUAL\_STOP|55|Manually stopped sequence or action|
|CONTROL\_OUTSIDE\_WORKSPACE|56|Commanded Cartesian position is outside of robot workspace|
|CONTROL\_ACTUATOR\_COUNT\_MISMATCH|57|Number of constraint sent does not correspond to number of actuator \(ex: joint speed\)|
|CONTROL\_INVALID\_DURATION|58|Duration constraint is too short. The robot would need out of limit speeds/accelerations to reach this duration.|
|CONTROL\_INVALID\_SPEED|59|Speed constraint is negative|
|CONTROL\_LARGE\_SPEED|60|Speed constraint is too high \(exceed speed limit of leads to high acceleration\)|
|CONTROL\_INVALID\_ACCELERATION|61|Speed constraint is too high or duration constraint too short and leads to high acceleration|
|CONTROL\_INVALID\_TIME\_STEP|62|Refresh rate is smaller than the duration of the trajectory|
|CONTROL\_LARGE\_SIZE|63|Duration of the trajectory is more than 100s. The length of the trajectory is limited to 100000 points to avoid saturating the base memory.|
|CONTROL\_WRONG\_MODE|64|Control mode is not a trajectory mode|
|CONTROL\_JOINT\_POSITION\_LIMIT|65|Commanded configuration contains at least one actuator which is out of its physical limits|
|CONTROL\_NO\_FILE\_IN\_MEMORY|66|Trajectory is not computed and try to be started|
|CONTROL\_INDEX\_OUT\_OF\_TRAJECTORY|67|Attempting to read a point of the trajectory with an index higher than the number of point in trajectory point list.|
|CONTROL\_ALREADY\_RUNNING|68|Trajectory is already running|
|CONTROL\_WRONG\_STARTING\_POINT|69|Robot is not on the first point of the trajectory when we try to start the trajectory. This can happen if there is a motion between the moment when trajectory is computed and when it is started.|
|CONTROL\_CARTESIAN\_CANNOT\_START|70|Cannot start|
|CONTROL\_UNDEFINED\_CONSTRAINT|71|Kontrol library is not initialized|
|CONTROL\_UNINITIALIZED|72|Contraint sent is not defined|
|CONTROL\_NO\_ACTION|73|Action does not exist|
|CONTROL\_UNDEFINED|74|Undefined error|
|WRONG\_SERVOING\_MODE|75|Robot is in not in the right servoing mode|
|USERNAME\_LENGTH\_EXCEEDED|100|User profile username length exceeds maximum allowed length|
|FIRSTNAME\_LENGTH\_EXCEEDED|101|User profile first name length exceeds maximum allowed length|
|LASTNAME\_LENGTH\_EXCEEDED|102|User profile last name length exceeds maximum allowed length|
|PASSWORD\_LENGTH\_EXCEEDED|103|User profile password length exceeds maximum allowed length|
|USERNAME\_ALREADY\_EXISTS|104|User profile username already in use by another profile|
|USERNAME\_EMPTY|105|User profile empty username not allowed|
|PASSWORD\_NOT\_CHANGED|106|Change password both passwords are the same|
|MAXIMUM\_USER\_PROFILES\_USED|107|Maximum number of user profiles in use|

**Parent topic:** [Api](../references/summary_Api.md)

17 changes: 17 additions & 0 deletions api_cpp/doc/markdown/references/enm_BaseCyclic_ServiceVersion.md
@@ -0,0 +1,17 @@
# Enum ServiceVersion

This page describes the C++ Kinova::Api::BaseCyclic::ServiceVersion enumeration.

## Overview / Purpose

Enumeration used to identify BaseCyclic current version

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|RESERVED\_0|0|Reserved|
|CURRENT\_VERSION|1|Current version|

**Parent topic:** [BaseCyclic](../references/summary_BaseCyclic.md)

20 changes: 20 additions & 0 deletions api_cpp/doc/markdown/references/enm_Base_ActionEvent.md
@@ -0,0 +1,20 @@
# Enum ActionEvent

This page describes the C++ Kinova::Api::Base::ActionEvent enumeration.

## Overview / Purpose

List of admissible action event types

## Enumeration definition

|Enumerator|Value|Description|
|----------|-----|-----------|
|UNSPECIFIED\_ACTION\_EVENT|0|Unspecified action event|
|ACTION\_END|1|Action execution end reached|
|ACTION\_ABORT|2|Action execution aborted|
|ACTION\_PAUSE|3|Action execution paused|
|ACTION\_START|4|Action execution started|

**Parent topic:** [Base](../references/summary_Base.md)

0 comments on commit b55ed99

Please sign in to comment.