User Manual

105
Using the Application Programming Interface (API)
The Yamaha CS-700 provides an interface to integrate into third party
applications to control and manage the unit directly without the use of
Yamaha’s management interfaces. The API allows accessing the CS-700 unit
either over an USB connection or the network. Use cases are for example
integrations with room control systems.
The API and full documentation of the interface can be downloaded from
https://uc.yamaha.com/products/video-sound-bar/huddle-room-system/. The API
is available in the form of C-libraries for Windows and macOS operating
systems.
Please see the following sections for the description of a subset of the available
functions and commands.
USB API functions
CsDevComm_Mode enum
Description: Enumeration of USB connections type. The client should specify the connection type, Auto,
Hid, or Bulk, at the start of a session. Auto will select Bulk if available otherwise Hid. Bulk is
preferable when upgrading firmware.
Syntax:
typedef enum {
CsDevComm_Mode_Auto = 0,
CsDevComm_Mode_Hid,
CsDevComm_Mode_Bulk,
CsDevComm_Mode_Num
} CsDevComm_Mode;
devAttach
Description: Establish USB communication with a device.
Syntax:
EXPORT int __cdecl devAttach(int mode, void(*debug_callback)(char *msg),
void(*event_callback)(int type));
Parameters:
Parameter
Description
mode
The USB connection mode, either Auto, HID or Bulk, chosen from enum
CsDevComm_Mode.
debug_callback
Pointer to callback function to handle debug messages.
msg
Pointer to debug message.