# System Examples (Blocking API)

## Overview

The blocking System examples are available for both C and C++:

- C: `examples/blocking_api/system/c/`

- C++: `examples/blocking_api/system/cpp/`

These examples are intended for both Supernova and Pulsar USB host adapters.

## Hardware Setup

Required hardware:

1. One Binho Supernova or Pulsar

## What The System Examples Do

The C and C++ examples implement the same workflow:

1. Create/connect the SDK client to the adapter.

2. Read and print device information (manufacturer, product name, serial number, FW, HW).

3. Send the system command to enter boot mode.

4. Clean up SDK resources.

## Boot Mode Note

After the boot mode command is accepted, the adapter transitions out of normal runtime mode. At that point, normal application-level communication is not expected to continue.

## Build and Run (System C/C++)

System example directories build binaries with the following names:

- C (`examples/blocking_api/system/c/`):

    - `example_c_dynamic`

    - `example_c_static`

- C++ (`examples/blocking_api/system/cpp/`):

    - `example_dynamic`

    - `example_static`

See also:

- C API reference: C API

- C++ blocking API reference: CosmicSDK class