Questions Addressed

I would like to create my own application to control the Pictomic 360 Product Photography Turntable. How do I do it? (Assuming you are using a Pictomic Silver or Platinum Series Turntable.) 

Build Your Turntable Application

Steps for building your application with our Turntable SDK.
In the SDK compressed file we added an IconasysTurntableTest.cpp file as an example of how to use the Turntable SDK.

  1. Add to the C++ compiler "include" directories option these paths:

    1.  "include" dir from our zip package

    2.  "include/ShutterStream" dir from our zip package


  2. Add to the linker library search these paths:
    1.  "lib" dir from our zip package 

Install FTDI Turntable Drivers

Install the FTDI drivers. This is needed only if you don't have Visere Captura already running with the turntable. If Visere Captura already works, then the drivers are installed and you can skip this step.

Drivers are listed in the table below: 

Operating SystemUSB Drivers LinkNotes
Windowshttps://ftp.pictomic.com/test_TurntableSDK/Drivers/D2XX/CDM21228_Setup.exe
Machttps://ftp.pictomic.com/test_TurntableSDK/Drivers/D2XX/D2xxHelper_v2.0.0.pkg
Linux

If running on Linux then proceed as follows:

  1. After unzipping the turntable controller software, switch to the Iconasys Turntable Controller location.

  2. Run the command: sudo ./IconasysTurntableController (or you can add usb permission to standard user if sudo is not permitted) 

  3. If you receive the message "Turntable not opened", the kernel automatically loaded another driver for the FTDI usb device, so you need to unload them as follows:

    1. sudo rmmod ftdi_sio

    2. sudo rmmod usbserial 

No driver in Linux, just the steps listed.


Turntable SDKs

Operating SystemCompilerSDK LinkNotesRelease Date
Linux

x86_64 - gcc 9.3.0
arm-v7 - gcc 8.3.0

https://ftp.pictomic.com/test_TurntableSDK/3.0/IconasysTurntableSDK.3.0.29876-l.tar.xz
  • Added Debug library for ARM arch
  • Update the checking if turntable is (really) opened
  • Fix the number of steps for ExtraLarge and LargeMarkII turntables 

March 29th, 2021

Linux

x86-64 - gcc 9.3.0

https://ftp.pictomic.com/test_TurntableSDK/3.0/IconasysTurntableSDK.3.0.29796-l.tar.xz
  • Updated to latest FTDI chip library Added the Debug libraries

March 4th, 2021 

MacOS

Xcode 9.3 

https://ftp.pictomic.com/test_TurntableSDK/3.0/IconasysTurntableSDK-3.0.29521-mac.zip
  • Remove the UI dependencies

  • Added the debug libraries 

January 6th, 2021 

WindowsVC++ 2015https://ftp.pictomic.com/test_TurntableSDK/3.0/IconasysTurntableSDK.3.0.29520-win.zip
  • Remove the UI dependencies

  • Added the debug libraries 

January 6th, 2021 

Linux

x86-64 - gcc 9.3.0
ARM v7 - gcc 8.3.0

https://ftp.pictomic.com/test_TurntableSDK/3.0/IconasysTurntableSDK.3.0.29447-l.tar.xz
  • Added support for ARM v7 architecture, tested on Raspberry Pi OS & hardware

  • Remove the Qt dependencies (if the UI from stand-alone controller application is needed, please contact us, else you'll need to implement your own UI) 

November 25, 2020


 


 

 

Windows

VC++ 2015

https://ftp.pictomic.com/test_TurntableSDK/2.0/IconasysTurntableSDK.2.0.28614-win.zip
  • Minor fixes

  • Works with VC++ 2015, 2017 and 2019 

February 18th, 2020 


 

 

MacOS

LLVM 8.0
(Xcode 8.2.1) 

https://ftp.pictomic.com/test_TurntableSDK/2.0/IconasysTurntableSDK.2.0.28613-mac.zip
  • Initial version
  • Works with Xcode 9, 10, 11 
Linux

gcc-7.4.0 

https://ftp.pictomic.com/test_TurntableSDK/2.0/IconasysTurntableSDK.2.0.28579-l.zip
  • Minor fixes.

 


 

 


 


 

 

Linux Notes

  1. For the Linux operating system we didn't develop any native UI support.
    Instead we use
    Qt framework under LGPL license
    Hence our turntable SDK is linked with Qt library
  2. For building & linked your application with our turntable SDK, you need to download our Qt framework version used in Turntable SDK from this link:
    https://ftp.pictomic.com/Perforce/LIBS/Qt/Qt-5.11.3/lite/linux-gcc-7.3.0.zip

Additional build steps for linked with Qt:

  1. Add to the C++ compiler include directories option these paths:
    - "include" dir from Qt framework distribution
  2. Add to the linker library search these paths:
    - "lib" dir from Qt framework distribution

Now you should have your binary application. But it does not start at this point because it does not find the necessary libraries.

You can tell the app where to search for dependent libraries in two modes:

  1. Using LD_LIBRARY_PATH environment, put in this environment variable the "lib"s folders from C++ linker library search from above .
    OR

  2. Copying the needed libraries where your executable is located
    - the two libraries from "lib" folder from our zip package
    - these libraries from Qt framework: libQt5Core.so.5, libQt5Gui.so.5, libQt5Network.so.5, libQt5Qml.so. 5, libQt5Quick.so.5

At this point you should be able to run the your application:

sudo IconasysTurntableTest (or you can add usb permission to standard user if sudo is not permitted)

If you receive the message "Turntable not opened", the kernel automatically loaded another driver for the FTDI usb device, so you need to unload them as follows:

  • sudo rmmod ftdi_sio
  • sudo rmmod usbserial 

At this point you should be able to open the turntable and play with SDKfunctions.