CosmicAsyncSDK class
This page describes the CosmicAsyncSDK C++ class and its generic public methods. For each specific protocol APIs, please refer to the corresponding sections.
- group CosmicSDK C++ non-blocking API
High-level non-blocking C++ interface to Binho devices.
This module provides a non-blocking C++ API. It allows users to connect to Binho devices and perform various operations asynchronously. Users must set up a response callback using the
onResponsemethod to handle incoming data from the device.-
class CosmicAsyncSDK
- #include <CosmicAsyncSDK.hpp>
This class provides a non-blocking C++ interface. It allows users to connect to Binho devices and perform various operations asynchronously. Users must set up a response callback using the onResponse method to handle incoming data from the device.
Public Functions
-
CosmicAsyncSDK()
Construct a new Cosmic Async SDK object.
-
~CosmicAsyncSDK()
Destroy the Cosmic Async SDK object.
-
void onResponse(std::function<void(const std::vector<uint8_t>&)> callback)
Sets the callback function to be called when a response is received from the device.
- Parameters:
callback – The callback function that takes a vector of uint8_t as parameter.
-
bool connect(const std::string &devicePath = "")
Connects to the device using the provided path.
- Parameters:
devicePath – The path to the device. If empty, connects to the first available device.
- Returns:
true if the connection was successful, false otherwise.
-
bool connectWithSerialNumber(const std::string &serial)
Connects to the device using the provided serial number.
- Parameters:
serial – The serial number of the device to connect to.
- Returns:
true if the connection was successful, false otherwise.
-
void disconnect()
Disconnects from the device.
-
inline bool isConnected()
Checks if the device is connected.
- Returns:
true if the device is connected.
- Returns:
false if the device is not connected.
-
uint16_t getUsbString(uint16_t id, uint8_t subCmd)
Get one USB String identified by the subcommand.
- Parameters:
id – uint16_t Command Id to identify the request. Values from 1 to 65535 are valid. 0 is reserved for notifications.
subCmd – unint8_t Subcommand to identify the USB String to be retrieved.
- Returns:
uint16_t SUCCESS or SDK_ERROR_DISCONNECT if the device is not connected.
-
uint16_t enterBootMode(uint16_t id)
Puts the device into boot mode. Once the device process the request, it immediately jumps into the bootloader. After the user has flashed the device with a firmware, a new connection needs to be done to continue using the device.
- Parameters:
id – uint16_t Command Id to identify the request. Values from 1 to 65535 are valid. 0 is reserved for notifications.
- Returns:
uint16_t Result of the request.
Public Static Functions
-
static inline std::string getVersion()
Gets the CosmicSDK library version string.
Returns a string containing the version number of the linked CosmicSDK library. This allows verification at startup that the linked library matches what they were built against.
- Returns:
A version string in the format “MAJOR.MINOR.PATCH”, e.g. “1.2.3”
-
CosmicAsyncSDK()
-
class CosmicAsyncSDK