3-Space Application Programming Interface
The Yost Labs 3-Space Application Programming Interface (API) is a series of functions, classes, and structure definitions designed to make writing applications that utilize the Yost Labs 3-Space family of sensors fast and easy to support. Binary libraries (or source files depending on the supported language) are included for convenient integration into projects of any size or application.
Currently, the Yost Labs 3-Space API supports C/C++ and Python natively. The Python variant of the API is provided as a main module source file with several support/utility source files. The C variant of the API is distributed as a header (.h) and dynamic link library (.dll + .lib). With the C API, users that require easy integration of the 3-Space family of sensors into programming environments not natively supported may import the dynamic link library and call its contained functions from the importing program, as the API’s function prototypes are all compiled as C prototypes and are name mangled as such.
Key Features
- Supports all members of the Yost Labs 3-Space Sensor family
- Provides access to all supported commands available to the 3-Space family of hardware in a human readable way
- Designed to support all 3-Space hardware across all firmware versions, making application forward compatibility easy
- Native support for Python (2.5x and 3.x) and C/C++
- Support for any language that can import Microsoft Windows Dynamic Link Libraries (.dll)
- Open source and free, allowing users to try and modify the API without consequence
System Requirements
Software
- Operating System – 7(32-Bit or 64-Bit), Windows 10(32-Bit or 64-Bit)
- 3-Space Firmware Version – Firmware dated 11 Jan 2012 is the oldest recommended firmware.
Dependencies – Python
- Python 3.5 or higher
License
The Yost Labs 3-Space APIs are released under the Yost Labs 3-Space Open Source License, which allows for both non-commercial use and commercial use with certain restrictions.
For Non-Commercial Use, your use of Covered Works is governed by the GNU GPL v.3, subject to the Yost Labs 3-Space Open Source Licensing Overview and Definitions.
For Commercial Use, a Yost Labs Commercial/Redistribution License is required, pursuant to the Yost Labs 3-Space Open Source Licensing Overview and Definitions. Commercial Use, for the purposes of this License, means the use, reproduction and/or Distribution, either directly or indirectly, of the Covered Works or any portion thereof, or a Compilation, Improvement, or Modification, for Pecuniary Gain. A Yost Labs Commercial/Redistribution License may or may not require payment, depending upon the intended use.
Full details of the Yost Labs 3-Space Open Source License can be found here
Downloads / Documentation
Documentation
Legacy For firmware 1.0+
- 3-Space Python API Quick Start Guide, 1.1.0, updated 16 Apr 2021
- 3-Space Python API Documentation Reference (PDF), 1.2.0, updated 16 Apr 2021
- 3-Space C API Quick Start Guide, 1.1.0, updated 13 Jul 2012
- 3-Space C API Documentation Reference (PDF), 1.1.3, updated 13 Jun 2012
Python API
- 3-Space Python 3 API, Beta 0.6, updated 11 April 2023
Legacy Python 2 API
- 3-Space Python API Source, 2.1.0, updated 12 April 2021
Legacy Hosted on SourceForge (For firmware 1.0+)
C API
- 3-Space C API, 3.0.6, updated 12 June 2019
- 3-Space C API Source, 3.0.6, updated 12 June 2019
- 3-Space C API, 3.0.1, updated 7 June 2018
- 3-Space C API Source, 3.0.1, updated 7 June 2018
- 3-Space C API, 2.0.6.1, updated 06 Mar 2014
- 3-Space C API Source, 2.0.6.1, updated 06 Mar 2014
Legacy Hosted on SourceForge (For firmware 1.0+)
API Examples
Informational Resources
Links
- http://www.python.org – Main site for the Python programming language.
- http://pyserial.sourceforge.net – Project page for the PySerial Python module.