orcaSDK Tutorials
=====================
Introduction
------------
This tutorial suite contains a set of small code examples and tutorials for illustrating how to interact with your ORCA motor through our `C++ `_ or `Python `_ SDK. This tutorial suite documents and explains common use cases for using our motors via the SDK.
Building the SDK
----------------
.. tab-set::
:sync-group: language
.. tab-item:: C++ orcaSDK
:sync: cpp
If you have not downloaded and built the SDK yet, navigate to `our Github repo for the SDK `_ and follow the setup instructions in the README.
.. tab-item:: Python pyorcasdk
:sync: python
If you're using the python bindings version of the library, first read the description of our `project page `_. Then navigate to the C++ orcaSDK README, and read **ONLY** the section `Setting Up Hardware and Testing Your Motor `_.
How to Use the Tutorials
------------------------
Each tutorial contains two parts, a written portion and example source code for the completed tutorial. The written portion can be found in each tutorial's README.md file. The completed source code examples can be found in either the main.cpp file or the main.py file, depending on which language you're using. We highly recommend reading each written tutorial before diving into the source code, or writing your own source code as you read, because the written component explains in detail what each statement does.
.. tab-set::
:sync-group: language
.. tab-item:: C++ orcaSDK
:sync: cpp
In order to build and use the code examples, use the same steps found in the orcaSDK's README in the section `Building Your Application `_.
.. tab-item:: Python pyorcasdk
:sync: python
To execute the Python source files, make sure that pyorcasdk is installed, then simply execute the following command from a terminal within the folder of the specific tutorial:
.. code-block::
python main.py
What's Next?
------------
If you've followed the instructions up until now, you're ready to begin coding! Walk through the first tutorial :ref:`hello-world-read-position` to learn about the most basic application that uses our SDK.
.. toctree::
:maxdepth: 2
:caption: Tutorials:
hello-world-read-position
sdk-error-handling
motor-modes
motor-error-handling
kinematic-mode
command-stream
force-mode
haptic-mode
high-speed-communication
position-mode
auto-zeroing