BinhoCosmicSDK Logo

Getting Started

  • Download and Installation
    • Platform Support
    • Download Links
    • Installation Instructions
  • Prerequisites
  • Examples
    • Async API Examples (C++)
    • Blocking API Examples (C and C++)
    • Language Bindings Examples
    • Protocol-Specific Example Guides
      • I2C Examples (Blocking API)
        • Overview
        • Hardware Setup
        • What The I2C Examples Do
        • Transfer Notes
        • Build and Run (I2C C/C++)
      • SPI Examples (Blocking API)
        • Overview
        • Hardware Setup
        • What The SPI Examples Do
        • Expected JEDEC ID Response
        • Build and Run (SPI C/C++)
      • UART Examples (Blocking API)
        • Overview
        • Hardware Setup
        • What The UART Examples Do
        • Notification Callback Requirement
        • Synchronization Mechanism
        • Build and Run (UART C/C++)
      • GPIO Examples (Blocking API)
        • Overview
        • Hardware Setup
        • What The GPIO Examples Do
        • Notification Callback Requirement
        • Build and Run (GPIO C/C++)
      • I3C Examples (Blocking API)
        • Overview
        • I3C Basic API Examples
        • CCC Examples
        • DAA Examples
        • HDR-DDR Examples
        • Hot-Join + IBI Examples
      • System Examples (Blocking API)
        • Overview
        • Hardware Setup
        • What The System Examples Do
        • Boot Mode Note
        • Build and Run (System C/C++)
    • How to Build and Run the C and C++ Examples
      • Windows (MSVC)
        • Building the C++ Example
        • Running the C++ Example
      • Windows (MinGW)
        • Prerequisites
        • Building the C++ Example
        • Running the C++ Example
      • macOS
        • Building and Running the C++ Example
      • Linux
        • Building and Running the C++ Example
  • Adding the CosmicSDK to your projects
    • Prerequisites
    • Installation & Setup
    • Example
  • Version
    • COSMICSDK_VERSION_MAJOR
    • COSMICSDK_VERSION_MINOR
    • COSMICSDK_VERSION_PATCH

C/C++ API References

  • API Reference
    • C++ Blocking API
      • CosmicSDK class
        • CosmicSDK
      • I2C API
        • i2cSetBusVoltage()
        • i2cControllerInit()
        • i2cSetParameters()
        • i2cSetPullUpResistors()
        • i2cWrite()
        • i2cRead()
        • i2cScanBus()
      • SPI API
        • spiSetBusVoltage()
        • spiControllerInit()
        • spiSetParameters()
        • spiTransfer()
      • UART API
        • uartSetBusVoltage()
        • uartInit()
        • uartSetParameters()
        • uartSendMessage()
      • GPIOs API
        • gpioSetVoltage()
        • gpioConfigurePin()
        • gpioDigitalWrite()
        • gpioDigitalRead()
        • gpioConfigureInterrupt()
        • gpioDisableInterrupt()
      • I3C API
        • i3cSetBusVoltage()
        • i3cControllerInit()
        • i3cSetParameters()
        • i3cInitBus()
        • i3cResetBus()
        • i3cGetDeviceTable()
        • i3cSetTargetDeviceConfiguration()
        • i3cLegacyI2cWrite()
        • i3cLegacyI2cRead()
        • i3cSdrWrite()
        • i3cSdrRead()
        • i3cHdrDdrWrite()
        • i3cHdrDdrRead()
        • i3cTargetResetPattern()
        • i3cHdrExitPattern()
        • i3cCccRSTDAA()
        • i3cCccENTDAA()
        • i3cCccSETDASA()
        • i3cCccSETAASA()
        • i3cCccSETNEWDA()
        • i3cCccGETPID()
        • i3cCccGETBCR()
        • i3cCccGETDCR()
        • i3cCccGETSTATUS()
        • i3cCccGETCAPS()
        • i3cCccRSTACTBroadcast()
        • i3cCccRSTACTDirect()
        • i3cCccENECBroadcast()
        • i3cCccENECDirect()
        • i3cCccDISECBroadcast()
        • i3cCccDISECDirect()
        • i3cCccGETMWL()
        • i3cCccSETMWLBroadcast()
        • i3cCccSETMWLDirect()
        • i3cCccGETMRL()
        • i3cCccSETMRLBroadcast()
        • i3cCccSETMRLDirect()
    • C++ Asynchronous API
      • CosmicAsyncSDK class
        • CosmicAsyncSDK
      • I2C API
        • i2cSetBusVoltage()
        • i2cControllerInit()
        • i2cSetParameters()
        • i2cSetPullUpResistors()
        • i2cWrite()
        • i2cRead()
        • i2cScanBus()
      • SPI API
        • spiSetBusVoltage()
        • spiControllerInit()
        • spiSetParameters()
        • spiTransfer()
      • UART API
        • uartSetBusVoltage()
        • uartInit()
        • uartSetParameters()
        • uartSendMessage()
      • GPIOs API
        • gpioSetVoltage()
        • gpioConfigurePin()
        • gpioDigitalWrite()
        • gpioDigitalRead()
        • gpioConfigureInterrupt()
        • gpioDisableInterrupt()
      • I3C API
        • i3cSetBusVoltage()
        • i3cControllerInit()
        • i3cSetParameters()
        • i3cInitBus()
        • i3cResetBus()
        • i3cGetDeviceTable()
        • i3cSetTargetDeviceConfiguration()
        • i3cLegacyI2cWrite()
        • i3cLegacyI2cRead()
        • i3cSdrWrite()
        • i3cSdrRead()
        • i3cHdrDdrWrite()
        • i3cHdrDdrRead()
        • i3cTargetResetPattern()
        • i3cHdrExitPattern()
        • i3cCccTransfer()
    • C API
      • C API
        • CosmicSDK_Handle
        • CosmicSDK_Create()
        • CosmicSDK_Destroy()
        • CosmicSDK_onNotification()
        • CosmicSDK_notificationAsI3cHotJoin()
        • CosmicSDK_notificationAsI3cIbi()
        • CosmicSDK_GetVersion()
        • CosmicSDK_notificationAsGpio()
        • CosmicSDK_notificationAsUartRx()
        • CosmicSDK_Connect()
        • CosmicSDK_ConnectWithSerialNumber()
        • CosmicSDK_Disconnect()
        • CosmicSDK_GetDeviceInfo()
        • CosmicSDK_EnterBootMode()
        • C_DeviceInfo
      • I2C API
        • CosmicSDK_I2cSetBusVoltage()
        • CosmicSDK_I2cControllerInit()
        • CosmicSDK_I2cSetParameters()
        • CosmicSDK_I2cSetPullUpResistors()
        • CosmicSDK_I2cWrite()
        • CosmicSDK_I2cRead()
        • CosmicSDK_I2cScanBus()
      • SPI API
        • CosmicSDK_SpiSetBusVoltage()
        • CosmicSDK_SpiControllerInit()
        • CosmicSDK_SpiSetParameters()
        • CosmicSDK_SpiTransfer()
      • UART API
        • CosmicSDK_UartSetBusVoltage()
        • CosmicSDK_UartInit()
        • CosmicSDK_UartSetParameters()
        • CosmicSDK_UartSendMessage()
      • GPIOs API
        • CosmicSDK_GpioSetVoltage()
        • CosmicSDK_GpioConfigurePin()
        • CosmicSDK_GpioDigitalWrite()
        • CosmicSDK_GpioDigitalRead()
        • CosmicSDK_GpioConfigureInterrupt()
        • CosmicSDK_GpioDisableInterrupt()
      • I3C API
        • CosmicSDK_I3cSetBusVoltage()
        • CosmicSDK_I3cControllerInit()
        • CosmicSDK_I3cSetParameters()
        • CosmicSDK_I3cInitBus()
        • CosmicSDK_I3cResetBus()
        • CosmicSDK_I3cGetDeviceTable()
        • CosmicSDK_I3cSetTargetDeviceConfiguration()
        • CosmicSDK_I3cLegacyI2CWrite()
        • CosmicSDK_I3cLegacyI2CRead()
        • CosmicSDK_I3cSdrWrite()
        • CosmicSDK_I3cSdrRead()
        • CosmicSDK_I3cHdrDdrWrite()
        • CosmicSDK_I3cHdrDdrRead()
        • CosmicSDK_I3cTargetResetPattern()
        • CosmicSDK_I3cHdrExitPattern()
        • CosmicSDK_I3cCccRSTDAA()
        • CosmicSDK_I3cCccENTDAA()
        • CosmicSDK_I3cCccSETDASA()
        • CosmicSDK_I3cCccSETAASA()
        • CosmicSDK_I3cCccSETNEWDA()
        • CosmicSDK_I3cCccGETPID()
        • CosmicSDK_I3cCccGETBCR()
        • CosmicSDK_I3cCccGETDCR()
        • CosmicSDK_I3cCccGETSTATUS()
        • CosmicSDK_I3cCccGETCAPS()
        • CosmicSDK_I3cCccRSTACTBroadcast()
        • CosmicSDK_I3cCccRSTACTDirect()
        • CosmicSDK_I3cCccENECBroadcast()
        • CosmicSDK_I3cCccENECDirect()
        • CosmicSDK_I3cCccDISECBroadcast()
        • CosmicSDK_I3cCccDISECDirect()
        • CosmicSDK_I3cCccGETMWL()
        • CosmicSDK_I3cCccSETMWLBroadcast()
        • CosmicSDK_I3cCccSETMWLDirect()
        • CosmicSDK_I3cCccGETMRL()
        • CosmicSDK_I3cCccSETMRLBroadcast()
        • CosmicSDK_I3cCccSETMRLDirect()
    • Structures
      • I3C Structures
        • I3cTargetConfiguration
        • I3cBCR
        • I3cTargetInfo
      • Notification Structures
        • NotificationType
        • I3cHotJoinNotification
        • I3cIbiNotification
        • UartRxNotification
        • GpioInterruptNotification
        • Notification
    • Parameters
      • System Constants
        • GET_MANUFACTURER_STR
        • GET_PRODUCT_STR
        • GET_USB_SN_STR
        • GET_FW_VERSION
        • GET_HW_VERSION
      • I2C Constants
        • MAX_I2C_TRANSFER_LENGTH
        • I2C_BUS_A
        • I2C_BUS_B
        • I2C_PULLUP_150Ohm
        • I2C_PULLUP_220Ohm
        • I2C_PULLUP_330Ohm
        • I2C_PULLUP_470Ohm
        • I2C_PULLUP_680Ohm
        • I2C_PULLUP_1kOhm
        • I2C_PULLUP_1_5kOhm
        • I2C_PULLUP_2_2kOhm
        • I2C_PULLUP_3_3kOhm
        • I2C_PULLUP_4kOhm
        • I2C_PULLUP_4_7kOhm
        • I2C_PULLUP_10kOhm
        • I2C_PULLUP_DISABLE
      • SPI Constants
        • SpiBitOrder
        • SpiMode
        • SpiDataWidth
        • SpiChipSelect
        • SpiChipSelectPolarity
      • UART Constants
        • UartBaudRate
        • UartParity
        • UartDataSize
        • UartStopBit
        • UartHwHandshake
      • GPIO Constants
        • GpioPinNumber
        • GpioLogicLevel
        • GpioFunctionality
        • GpioTriggerType
      • I3C Constants
        • I3C_BROADCAST_ADDRESS
        • I3cPushPullRate
        • I3cOpenDrainTransferRate
        • I2cTransferRate
        • I3cDriveStrength
        • I3cTransferMode
        • I3cTransferDirection
        • I3cTransferFlags
        • I3cTargetResetDefByte
        • I3CEvent
        • I3cCccType
        • I3cPattern
        • CCC
    • Result Codes
      • SDK Result Codes
        • SDK_ERROR_TIMEOUT
        • SDK_ERROR_DISCONNECT
        • SDK_ERROR_UNEXPECTED_RESPONSE
        • SDK_ERROR_WRONG_REQUEST
        • SDK_ERROR_WRONG_RESPONSE
      • Generic Result Codes
        • SUCCESS
        • FW_UNSUPPORTED_COMMAND
        • FW_INVALID_COMMAND
        • FW_FULL_RECEPTION_QUEUE
        • FW_INVALID_PARAMETER
        • FW_FEATURE_NOT_SUPPORTED_BY_HARDWARE
        • FW_INTERFACE_NOT_INITIALIZED
        • FW_INTERFACE_ALREADY_INITIALIZED
        • FW_BUS_NOT_SUPPORTED
        • FW_BUS_TIMEOUT
        • FW_RX_FIFO_FULL
        • FW_TX_FIFO_EMPTY
        • FW_UNHANDLED_ERROR
      • System Result Codes
        • FW_VOLTAGE_OUT_OF_RANGE
        • FW_EXTERNAL_VOLTAGE_DETECTED
        • FW_VOLTAGE_ADJUSTMENT_FAILURE
        • FW_I3C_PORTS_NOT_POWERED
        • FW_BOTH_I3C_PORTS_POWERED
        • FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_LV
        • FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_HV
      • I2C Result Codes
        • FW_I2C_PULLUP_RESISTOR_SETTING_FAILURE
        • FW_I2C_ARBITRATION_LOST
        • FW_I2C_NACK_ADDRESS
        • FW_I2C_NACK_BYTE
        • FW_I2C_BIT_ERROR
        • FW_I2C_START_STOP_ERROR
        • FW_I2C_BUSY
        • FW_I2C_TIMEOUT_CONTINUE_TRANSFER
        • FW_I2C_TIMEOUT_WAITING_BUS_EVENT
        • FW_I2C_TIMEOUT_SCL_LOW
        • FW_I2C_DMA_REQUEST_FAIL
        • FW_I2C_INVALID_PARAMETER
        • FW_I2C_NO_TRANSFER_IN_PROGRESS
        • FW_I2C_UNEXPECTED_STATE
        • FW_I2C_BUS_WITH_NO_TARGETS_CONNECTED
      • GPIO Result Codes
        • FW_GPIO_NOT_CONFIGURED
        • FW_GPIO_WRONG_CONFIGURATION
      • I3C Result Codes
        • FW_FULL_TARGET_DEVICES_TABLE
        • FW_NOT_ENOUGH_SPACE_IN_TARGET_DEVICES_TABLE
        • FW_TARGET_DEVICES_TABLE_OVERFLOW
        • FW_TARGET_ADDRESS_NOT_FOUND_IN_THE_TABLE
        • FW_REPEATED_TARGET_ADDRESS
        • FW_INVALID_TARGET_ADDRESS
        • FW_I3C_BUS_INIT_NACK_RSTDAA
        • FW_I3C_BUS_INIT_NACK_SETDASA
        • FW_I3C_BUS_INIT_NACK_SETAASA
        • FW_I3C_BUS_INIT_NACK_ENTDAA
        • FW_I3C_NACK_ADDRESS
        • FW_I3C_I2C_NACK_BYTE
        • FW_I3C_TRANSFER_ABORTED_BY_CONTROLLER
        • FW_I3C_TRANSFER_MWL_REACHED
        • FW_I3C_TRANSFER_MRL_REACHED
        • FW_I3C_TRANSFER_PARITY_ERROR
        • FW_IBI_REQUEST_ACCEPTED
        • FW_IBI_REQUEST_ACCEPTED_WITH_PAYLOAD
        • FW_IBI_REQUEST_REJECTED
        • FW_HJ_REQUEST_ACCEPTED
        • FW_HJ_REQUEST_REJECTED
        • FW_REGISTER_ADDRESS_OUT_OF_RANGE
        • FW_SURPASSED_MEMORY_SIZE
  • FAQ
    • General
      • How do I connect to a specific device?
    • I2C
      • Which I2C role is supported by the host adapters?
      • How many I2C buses are supported on Supernova and Pulsar?
      • How do I differentiate I2C buses in the API?
      • How do I initialize the I2C interface?
      • How do I change I2C bus configuration after initialization?
      • How do I write to and read from an I2C target (slave)?
      • How can I scan the bus and discover the static address of the I2C targets connected to the USB host adapter?
      • Does the API support I2C 10-bit addresses?
      • Which I2C pull-up resistor values are valid for Supernova and which for Pulsar?
    • SPI
      • Which SPI role is supported by the host adapters?
      • How do I initialize the SPI interface?
      • How do I change SPI bus configuration after initialization?
      • How do I transmit and receive data in SPI?
    • UART
      • How do I initialize the UART interface?
      • How do I change UART configuration after initialization?
      • How do I transmit data in UART?
      • How does UART reception work?
    • GPIO
      • How do I configure GPIOs?
      • How do I enable GPIO interrupts?
      • How do I receive and handle asynchronous GPIO interrupt notifications?
    • I3C
      • Which I3C role does Supernova support?
      • Which I3C modes do Supernova and the I3C API support?
      • How do I initialize the I3C interface?
      • How do I change I3C bus configuration after initialization?
      • How do I initialize the I3C bus with or without a target table?
      • How do I assign dynamic addresses?
      • Which CCCs are supported by the API?
      • How can I know the actual transfer length in an I3C SDR read?
      • How do I handle I3C IBIs?
      • How do I handle I3C Hot-Join notifications?

Language Bindings

  • Language Bindings
    • C Bindings
    • Python Bindings
      • Example Layout
      • Windows
      • macOS
      • Linux
      • Notes
    • C# Bindings
      • Example Layout
      • Windows
      • macOS
      • Linux
      • Notes
    • Java Bindings
      • Example Layout
      • Windows
      • macOS
      • Linux
      • Notes

Project Information

  • Changelog
    • v1.2.3
    • v1.2.2
    • v1.2.1
    • v1.2.0
    • v1.1.0
    • v1.0.0
  • Support
BinhoCosmicSDK
  • Search


© Copyright .

Built with Sphinx using a theme provided by Read the Docs.