Using the Library
General Overview
Section titled “General Overview”Using the Binho Mission Control C++ SDK library typically involves a series of steps to communicate with a target connected to the host adapter, execute commands and handle responses. Command requests and responses follow the Bridge API v1, which can be found at Bridge API v1 Documentation.
Bellow is a high-level overview based on the provided example applications:
1. Include Necessary Headers
Section titled “1. Include Necessary Headers”Include the necessary headers to access library’s functionality:
#include "CommandDispatcher.h"#include <iostream>2. Define Response Handler
Section titled “2. Define Response Handler”Define a function to handle responses from the commands sent to the target adapter. This function is responsible for displaying relevant information about the command’s execution.
void printCommandResponse(const CommandResponse& cr, const std::string& action);3. Initialize the Dispatcher
Section titled “3. Initialize the Dispatcher”Create an instance of CommandDispatcher and specify the name of the target host adapter:
CommandDispatcher dispatcher("BinhoNova"); // For connecting with the Binho Nova host adapterCommandDispatcher dispatcher("BinhoSupernova"); // For connecting with the Binho Supernova host adapterNote: The argument passed to the CommandDispatcher initializer is the name of the target host adapter.
4. Start the Dispatcher
Section titled “4. Start the Dispatcher”Before sending any commands, start the dispatcher:
dispatcher.start();5. Invoke Commands
Section titled “5. Invoke Commands”With the dispatcher running, invoke commands as needed:
- Synchronous Commands (waits for the command to finish before moving on):
dispatcher.invokeCommandSync("transaction_id", "command_name", command_params, response_handler);- Asynchronous Commands (doesn’t wait for the command to finish):
dispatcher.invokeCommand("transaction_id", "command_name", command_params);6. Wait for All Commands to Finish (Recommended)
Section titled “6. Wait for All Commands to Finish (Recommended)”To ensure all issued commands are finished before proceeding:
dispatcher.waitForAllCommands();7. Stop the Dispatcher
Section titled “7. Stop the Dispatcher”Once all tasks are completed, stop the dispatcher:
dispatcher.stop();
