API Reference ============= This section documents the user-facing APIs methods and constants of CosmicSDK, grouped by class and protocol. C++ Blocking API ------------------- These pages cover the blocking C++ API defined in ``CosmicSDK.hpp``, grouped by protocol. .. toctree:: :maxdepth: 1 cpp_blocking/cosmicsdk cpp_blocking/i2c cpp_blocking/spi cpp_blocking/uart cpp_blocking/gpio cpp_blocking/i3c C++ Asynchronous API -------------------- These pages cover the non-blocking C++ API defined in ``CosmicAsyncSDK.hpp``, grouped by protocol. .. toctree:: :maxdepth: 1 cpp_async/cosmicasyncsdk cpp_async/i2c cpp_async/spi cpp_async/uart cpp_async/gpio cpp_async/i3c C API ----- These pages cover the C API defined in ``CosmicSDK_API_c.h``, grouped by protocol. .. toctree:: :maxdepth: 1 c/cosmicsdk_api_c c/i2c c/spi c/uart c/gpio c/i3c Structures ---------- These pages cover all structures used by the C and C++ APIs, grouped by protocol. .. toctree:: :maxdepth: 1 structures/i3c structures/notifications Parameters ---------- These pages cover all the constants that can be passed as parameters to the C and C++ APIs methods, grouped by protocol. .. toctree:: :maxdepth: 1 constants/system constants/i2c constants/spi constants/uart constants/gpio constants/i3c Result Codes ------------ These pages cover all result codes returned by the C and C++ APIs, grouped by protocol. Those result codes whose name has the `FW_` prefix are returned by the firmware, while those with the `SDK_` prefix are returned by the SDK. The result code `SUCCESS` is returned by both the SDK and the firmware. .. toctree:: :maxdepth: 1 result_codes/sdk result_codes/generic result_codes/system result_codes/i2c result_codes/gpio result_codes/i3c