PEmicro's Classic Automated Control Package is an older product that enables users to to control and automate the production process with PEmicro's legacy Cyclones (Cyclone PRO, Cyclone MAX, Cyclone for Renesas, Cyclone for ARM devices, Cyclone for STMicro). PEmicro most recent control package is the Cyclone Control Suite, which is included with all next generation touchscreen Cyclones (Cyclone LC and Cyclone FX). Like the Classic Automated Control Package, the newer Cyclone Control Suite also includes an SDK (called the Cyclone Control SDK).
Those who use the Classic Automated Control Package but are upgrading to a Cyclone LC or Cyclone FX programmer might have questions about the new Cyclone Control SDK, such as:
- What are the differences between the two SDKs?
- Can the classic SDK be used with the new Cyclones?
This blog post will address these questions and provide a brief comparison of the Classic Automated Control Package and Cyclone Control Suite, with the goal of simplifying the transition from the old SDK to the new SDK.
API Calls and Library Files
The Cyclone Control SDK and the Classic Automated Control Package have two different sets of API calls and DLLs:
- The Cyclone Control SDK API is known as the "new API", and the DLL is named cycloneControlSDK.DLL.
- The Classic Automated Control Package is known as the "classic API", and the DLL is named cyclone_control.DLL.
Users have the choice to use either API for their application. Both APIs provide standard capability to delete images, load images, and execute images. However, PEmicro recommends using the new API with the next generation touchscreen Cyclones for more advanced capabilities.
API Versions
The classic API offered three different license versions (Basic, Professional, and Enterprise). The free Basic version provided a limited API that could control one legacy Cyclone storing one image. The Professional version could be deployed to one PC (single user) and could control up to 3 Cyclones. The Enterprise version could be deployed to up to five PCs (single user) and could control up to 100 Cyclones.
The new API has just one version that activates advanced SDK features and is licensed to the Cyclone unit only. These features can be added to the Cyclone LC with the purchase of the Advanced Control Suite Upgrade License. The Cyclone FX already includes the advanced features license.
Limitations When Using the Classic Control SDK
To use the classic API, you can use cyclone_control.DLL (Version 5.89) or rename cycloneControlSDK.DLL to cyclone_control.DLL. The classic API supports the Cyclone LC and Cyclone FX, however the user will not be able to take advantage of some of the features in these new Cyclones.
The limitations are as follows:
- The Classic SDK cannot erase a specific image that is stored on the Cyclone's memory. If you erase an image, all images need to be erased at once.
- External SDHC memory on the touchscreen Cyclones is not supported with the Classic SDK.
- Cyclone, Image, and Network Properties are not supported with the Classic SDK.
- Multiple errors and error descriptions are not supported with the Classic SDK.
- The Classic SDK also does not support some special features.
Comparison of API Calls
Each SDK has its own API, but many of the calls have very similar functionality (albeit with a slightly different name). Below is a table comparing the sets of APIs. Please refer to the Cyclone user manual for a complete description of the exact functionality and parameters of each function.
Automated Control Package
| Cyclone Control SDK
|
---|
DLL File Name
|
cyclone_control.dll
| cycloneControlSDK.dll
|
DLL Loading / Unloading Calls
|
load_dll
| loadLibrary
|
unload_dll
| unloadLibrary
|
Port Enumeration Calls
|
enumerate_all_ports
| enumerateAllPorts
|
close_all_ports
| disconnectFromAllCyclones
|
Connection Calls
|
connect_to_cyclonepromax
| connectToCyclone
|
disconnect_from_cyclonepromax
|
|
Programming Control Calls
|
START_execute_all_commands
| startImageExecution
|
START_dynamic_program_bytes
| startDynamicDataProgram
|
check_STARTED_cyclonepromax_status
| checkCycloneExecutionStatus
|
dynamic_read_bytes
| dynamicReadBytes
|
| getNumberOfErrors
|
get_last_error_code
| getErrorCode
|
get_last_error_addr
| getLastErrorAddr
|
| getDescriptionOfErrorCode
|
Image Configuration and Maintenance Calls
|
get_image_description
| getImageDescription
|
compare_image_with_file
| compareImageInCycloneWithFile
|
| eraseCycloneImage
|
erase_all_cyclone_images
| formatCycloneMemorySpace
|
add_image_to_cyclone
| addCycloneImage
|
update_image_with_file
|
|
count_cyclonepromax_images
| countCycloneImages
|
set_cyclonepromax_media_type
|
|
Miscellaneous Calls
|
get_firmware_version
| getFirmwareVersion
|
| getPropertyValue
|
| setPropertyValue
|
| getPropertyList
|
| cycloneSpecialFeatures
|
Users with additional questions or concerns about the Classic Automated Control Package or Cyclone Control Suite can contact us at technical-info@pemicro.com