BinhoCosmicSDK Logo
v1.9.0

Getting Started

  • Download and Installation
    • Platform Support
    • Download Links
    • Installation Instructions
  • Getting Started with the Debug Probe
    • What 1.9 covers
    • What is in the download
    • Minimum firmware
    • Setting up the host
    • Connecting a target
    • Building against the library
    • Flashing a target with the SDK
      • From a CMSIS-Pack
      • What every operation does
      • Result codes
      • Supported in 1.9
    • Flashing a target with pyOCD
      • Verified targets
  • Prerequisites
    • Linux packages
  • Examples
    • Async API Examples (C++)
    • Blocking API Examples (C and C++)
    • Debug Probe 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
        • Connector Event 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

C/C++ API References

  • API Reference
    • C++ Blocking API
      • CosmicSDK class
        • CosmicSDK
      • System API
        • onNotification()
        • getDiscardedResponseCount()
        • connect()
        • connectWithSerialNumber()
        • disconnect()
        • resetDevice()
        • getDeviceInfo()
        • getVersion()
        • enterBootMode()
        • setUsbConfig()
        • getUsbConfig()
        • maxPayloadFor()
        • supportsCommand()
        • getBulkCapabilities()
        • isBulkTransportAvailable()
        • getLastBulkError()
        • CosmicSDK::BulkGroupSupport
        • CosmicSDK::BulkCapabilities
      • I2C API
        • i2cSetBusVoltage()
        • i2cUseExternalVoltage()
        • i2cGetBusVoltage()
        • i2cControllerInit()
        • i2cSetParameters()
        • i2cSetDutyCycle()
        • i2cSetPullUpResistors()
        • i2cDeinit()
        • i2cWrite()
        • i2cRead()
        • i2cWriteBulk()
        • i2cReadBulk()
        • i2cScanBus()
        • i2cTargetInit()
        • i2cTargetSetParameters()
        • i2cTargetSetEepromConfig()
        • i2cTargetErase()
        • i2cTargetSetRegisterRegion()
        • i2cTargetWriteMemory()
        • i2cTargetReadMemory()
      • SPI API
        • spiSetBusVoltage()
        • spiUseExternalVoltage()
        • spiGetBusVoltage()
        • spiDeinit()
        • spiControllerInit()
        • spiSetParameters()
        • spiTransfer()
        • spiWriteBulk()
        • spiReadBulk()
        • spiTransferBulk()
        • spiTargetInit()
        • spiTargetSetParameters()
        • spiTargetSetFlashConfig()
        • spiTargetWriteMemory()
        • spiTargetReadMemory()
      • UART API
        • uartSetBusVoltage()
        • uartUseExternalVoltage()
        • uartGetBusVoltage()
        • uartInit()
        • uartDeinit()
        • uartSetParameters()
        • uartSendMessage()
      • GPIOs API
        • gpioSetVoltage()
        • gpioUseExternalVoltage()
        • gpioGetVoltage()
        • gpioConfigurePin()
        • gpioDigitalWrite()
        • gpioDigitalRead()
        • gpioConfigureInterrupt()
        • gpioDisableInterrupt()
      • I3C API
        • i3cSetBusVoltage()
        • i3cUseExternalVoltage()
        • i3cGetBusVoltage()
        • i3cControllerInit()
        • i3cSetParameters()
        • i3cInitBus()
        • i3cResetBus()
        • i3cGetDeviceTable()
        • i3cSetTargetDeviceConfiguration()
        • i3cLegacyI2cWrite()
        • i3cLegacyI2cRead()
        • i3cSetI2cClockStretching()
        • i3cHoldSclLow()
        • i3cSetSdaPullUp()
        • i3cSdrWrite()
        • i3cSdrRead()
        • i3cHdrDdrWrite()
        • i3cHdrDdrRead()
        • i3cSdrWriteBulk()
        • i3cSdrReadBulk()
        • i3cHdrDdrWriteBulk()
        • i3cHdrDdrReadBulk()
        • i3cLegacyI2cWriteBulk()
        • i3cLegacyI2cReadBulk()
        • i3cTargetResetPattern()
        • i3cHdrExitPattern()
        • i3cTargetInit()
        • i3cTargetSetParameters()
        • i3cTargetWriteMemory()
        • i3cTargetReadMemory()
        • i3cCccRSTDAA()
        • i3cCccENTDAA()
        • i3cCccSETDASA()
        • i3cCccSETAASA()
        • i3cCccSETNEWDA()
        • i3cCccGETPID()
        • i3cCccGETBCR()
        • i3cCccGETDCR()
        • i3cCccGETSTATUS()
        • i3cCccGETCAPS()
        • i3cCccGETMXDS()
        • i3cCccGETXTIME()
        • i3cCccRSTACTBroadcast()
        • i3cCccRSTGRPABroadcast()
        • i3cCccENTAS0Broadcast()
        • i3cCccENTAS1Broadcast()
        • i3cCccENTAS2Broadcast()
        • i3cCccENTAS3Broadcast()
        • i3cCccENTAS3Direct()
        • i3cCccENTAS2Direct()
        • i3cCccENTAS1Direct()
        • i3cCccENTAS0Direct()
        • i3cCccRSTGRPADirect()
        • i3cCccRSTACTDirect()
        • i3cCccSETGRPADirect()
        • i3cCccENECBroadcast()
        • i3cCccENECDirect()
        • i3cCccDISECBroadcast()
        • i3cCccDISECDirect()
        • i3cCccGETMWL()
        • i3cCccSETMWLBroadcast()
        • i3cCccSETXTIMEBroadcast()
        • i3cCccSETBUSCONBroadcast()
        • i3cCccSETXTIMEDirect()
        • i3cCccSETMWLDirect()
        • i3cCccGETMRL()
        • i3cCccSETMRLBroadcast()
        • i3cCccSETMRLDirect()
    • C++ Asynchronous API
      • CosmicAsyncSDK class
        • getAnalogMeasurements()
        • CosmicAsyncSDK
      • System API
        • onResponse()
        • getVersion()
        • connect()
        • connectWithSerialNumber()
        • disconnect()
        • resetDevice()
        • isConnected()
        • enterBootMode()
        • setUsbConfig()
        • getUsbConfig()
        • getBulkCapabilities()
        • isBulkTransportAvailable()
        • getLastBulkError()
        • receivePayload()
      • I2C API
        • i2cSetBusVoltage()
        • i2cUseExternalVoltage()
        • i2cControllerInit()
        • i2cSetParameters()
        • i2cSetDutyCycle()
        • i2cSetPullUpResistors()
        • i2cDeinit()
        • i2cWrite()
        • i2cRead()
        • i2cWriteBulk()
        • i2cReadBulk()
        • i2cScanBus()
        • i2cTargetInit()
        • i2cTargetSetParameters()
        • i2cTargetSetEepromConfig()
        • i2cTargetErase()
        • i2cTargetSetRegisterRegion()
        • i2cTargetWriteMemory()
        • i2cTargetReadMemory()
      • SPI API
        • spiSetBusVoltage()
        • spiUseExternalVoltage()
        • spiDeinit()
        • spiControllerInit()
        • spiSetParameters()
        • spiTransfer()
        • spiWriteBulk()
        • spiReadBulk()
        • spiTransferBulk()
        • spiTargetInit()
        • spiTargetSetParameters()
        • spiTargetSetFlashConfig()
        • spiTargetWriteMemory()
        • spiTargetReadMemory()
      • UART API
        • uartSetBusVoltage()
        • uartUseExternalVoltage()
        • uartInit()
        • uartDeinit()
        • uartSetParameters()
        • uartSendMessage()
      • GPIOs API
        • gpioSetVoltage()
        • gpioUseExternalVoltage()
        • gpioConfigurePin()
        • gpioDigitalWrite()
        • gpioDigitalRead()
        • gpioConfigureInterrupt()
        • gpioDisableInterrupt()
      • I3C API
        • i3cSetBusVoltage()
        • i3cUseExternalVoltage()
        • i3cControllerInit()
        • i3cSetParameters()
        • i3cInitBus()
        • i3cResetBus()
        • i3cGetDeviceTable()
        • i3cSetTargetDeviceConfiguration()
        • i3cLegacyI2cWrite()
        • i3cLegacyI2cRead()
        • i3cSetI2cClockStretching()
        • i3cHoldSclLow()
        • i3cSetSdaPullUp()
        • i3cSdrWrite()
        • i3cSdrRead()
        • i3cHdrDdrWrite()
        • i3cHdrDdrRead()
        • i3cSdrWriteBulk()
        • i3cSdrReadBulk()
        • i3cHdrDdrWriteBulk()
        • i3cHdrDdrReadBulk()
        • i3cLegacyI2cWriteBulk()
        • i3cLegacyI2cReadBulk()
        • i3cTargetResetPattern()
        • i3cHdrExitPattern()
        • i3cTargetInit()
        • i3cTargetSetParameters()
        • i3cTargetWriteMemory()
        • i3cTargetReadMemory()
        • i3cCccTransfer()
        • i3cCccRSTDAA()
        • i3cCccENTDAA()
        • i3cCccSETDASA()
        • i3cCccSETAASA()
        • i3cCccSETNEWDA()
        • i3cCccENECBroadcast()
        • i3cCccENECDirect()
        • i3cCccDISECBroadcast()
        • i3cCccDISECDirect()
        • i3cCccENTAS0Broadcast()
        • i3cCccENTAS1Broadcast()
        • i3cCccENTAS2Broadcast()
        • i3cCccENTAS3Broadcast()
        • i3cCccENTAS0Direct()
        • i3cCccENTAS1Direct()
        • i3cCccENTAS2Direct()
        • i3cCccENTAS3Direct()
        • i3cCccSETMWLBroadcast()
        • i3cCccSETMWLDirect()
        • i3cCccSETMRLBroadcast()
        • i3cCccSETMRLDirect()
        • i3cCccGETMWL()
        • i3cCccGETMRL()
        • i3cCccGETPID()
        • i3cCccGETBCR()
        • i3cCccGETDCR()
        • i3cCccGETMXDS()
        • i3cCccGETXTIME()
        • i3cCccGETCAPS()
        • i3cCccGETSTATUS()
        • i3cCccSETXTIMEBroadcast()
        • i3cCccSETXTIMEDirect()
        • i3cCccSETBUSCONBroadcast()
        • i3cCccRSTACTBroadcast()
        • i3cCccRSTACTDirect()
        • i3cCccRSTGRPABroadcast()
        • i3cCccRSTGRPADirect()
        • i3cCccSETGRPADirect()
    • C API
      • C API
        • CosmicSDK_Handle
        • CosmicSDK_Create()
        • CosmicSDK_Destroy()
        • C_DeviceInfo
        • CosmicSDK_BulkGroup
      • System API
        • CosmicSDK_onNotification()
        • CosmicSDK_GetVersion()
        • CosmicSDK_Connect()
        • CosmicSDK_ConnectWithSerialNumber()
        • CosmicSDK_Disconnect()
        • CosmicSDK_ResetDevice()
        • CosmicSDK_GetDeviceInfo()
        • CosmicSDK_EnterBootMode()
        • CosmicSDK_SetUsbConfig()
        • CosmicSDK_GetUsbConfig()
        • CosmicSDK_IsBulkTransportAvailable()
        • CosmicSDK_GetBulkCapabilities()
        • CosmicSDK_GetLastBulkError()
      • I2C API
        • CosmicSDK_notificationAsI2cTargetBusEvent()
        • CosmicSDK_I2cSetBusVoltage()
        • CosmicSDK_I2cUseExternalVoltage()
        • CosmicSDK_I2cGetBusVoltage()
        • CosmicSDK_I2cControllerInit()
        • CosmicSDK_I2cSetParameters()
        • CosmicSDK_I2cSetDutyCycle()
        • CosmicSDK_I2cSetPullUpResistors()
        • CosmicSDK_I2cDeinit()
        • CosmicSDK_I2cWrite()
        • CosmicSDK_I2cRead()
        • CosmicSDK_I2cWriteBulk()
        • CosmicSDK_I2cReadBulk()
        • CosmicSDK_I2cScanBus()
        • CosmicSDK_I2cTargetInit()
        • CosmicSDK_I2cTargetSetParameters()
        • CosmicSDK_I2cTargetSetEepromConfig()
        • CosmicSDK_I2cTargetErase()
        • CosmicSDK_I2cTargetSetRegisterRegion()
        • CosmicSDK_I2cTargetWriteMemory()
        • CosmicSDK_I2cTargetReadMemory()
      • SPI API
        • CosmicSDK_notificationAsSpiTargetBusEvent()
        • CosmicSDK_SpiSetBusVoltage()
        • CosmicSDK_SpiUseExternalVoltage()
        • CosmicSDK_SpiGetBusVoltage()
        • CosmicSDK_SpiDeinit()
        • CosmicSDK_SpiControllerInit()
        • CosmicSDK_SpiSetParameters()
        • CosmicSDK_SpiTransfer()
        • CosmicSDK_SpiWriteBulk()
        • CosmicSDK_SpiReadBulk()
        • CosmicSDK_SpiTransferBulk()
        • CosmicSDK_SpiTargetInit()
        • CosmicSDK_SpiTargetSetParameters()
        • CosmicSDK_SpiTargetSetFlashConfig()
        • CosmicSDK_SpiTargetWriteMemory()
        • CosmicSDK_SpiTargetReadMemory()
      • UART API
        • CosmicSDK_notificationAsUartRx()
        • CosmicSDK_UartSetBusVoltage()
        • CosmicSDK_UartUseExternalVoltage()
        • CosmicSDK_UartGetBusVoltage()
        • CosmicSDK_UartInit()
        • CosmicSDK_UartDeinit()
        • CosmicSDK_UartSetParameters()
        • CosmicSDK_UartSendMessage()
      • GPIOs API
        • CosmicSDK_notificationAsGpio()
        • CosmicSDK_GpioSetVoltage()
        • CosmicSDK_GpioUseExternalVoltage()
        • CosmicSDK_GpioGetVoltage()
        • CosmicSDK_GpioConfigurePin()
        • CosmicSDK_GpioDigitalWrite()
        • CosmicSDK_GpioDigitalRead()
        • CosmicSDK_GpioConfigureInterrupt()
        • CosmicSDK_GpioDisableInterrupt()
      • I3C API
        • CosmicSDK_notificationAsI3cHotJoin()
        • CosmicSDK_notificationAsI3cIbi()
        • CosmicSDK_notificationAsI3cConnectorEvent()
        • CosmicSDK_notificationAsI3cTargetBusEvent()
        • CosmicSDK_I3cSetBusVoltage()
        • CosmicSDK_I3cUseExternalVoltage()
        • CosmicSDK_I3cGetBusVoltage()
        • CosmicSDK_I3cControllerInit()
        • CosmicSDK_I3cSetParameters()
        • CosmicSDK_I3cInitBus()
        • CosmicSDK_I3cResetBus()
        • CosmicSDK_I3cGetDeviceTable()
        • CosmicSDK_I3cSetTargetDeviceConfiguration()
        • CosmicSDK_I3cLegacyI2CWrite()
        • CosmicSDK_I3cLegacyI2CRead()
        • CosmicSDK_I3cSetI2cClockStretching()
        • CosmicSDK_I3cHoldSclLow()
        • CosmicSDK_I3cSetSdaPullUp()
        • CosmicSDK_I3cSdrWrite()
        • CosmicSDK_I3cSdrRead()
        • CosmicSDK_I3cHdrDdrWrite()
        • CosmicSDK_I3cHdrDdrRead()
        • CosmicSDK_I3cSdrWriteBulk()
        • CosmicSDK_I3cSdrReadBulk()
        • CosmicSDK_I3cHdrDdrWriteBulk()
        • CosmicSDK_I3cHdrDdrReadBulk()
        • CosmicSDK_I3cLegacyI2cWriteBulk()
        • CosmicSDK_I3cLegacyI2cReadBulk()
        • CosmicSDK_I3cTargetResetPattern()
        • CosmicSDK_I3cHdrExitPattern()
        • CosmicSDK_I3cTargetInit()
        • CosmicSDK_I3cTargetSetParameters()
        • CosmicSDK_I3cTargetWriteMemory()
        • CosmicSDK_I3cTargetReadMemory()
        • CosmicSDK_I3cCccRSTDAA()
        • CosmicSDK_I3cCccENTDAA()
        • CosmicSDK_I3cCccSETDASA()
        • CosmicSDK_I3cCccSETAASA()
        • CosmicSDK_I3cCccSETNEWDA()
        • CosmicSDK_I3cCccGETPID()
        • CosmicSDK_I3cCccGETBCR()
        • CosmicSDK_I3cCccGETDCR()
        • CosmicSDK_I3cCccGETSTATUS()
        • CosmicSDK_I3cCccGETCAPS()
        • CosmicSDK_I3cCccGETMXDS()
        • CosmicSDK_I3cCccGETXTIME()
        • CosmicSDK_I3cCccRSTACTBroadcast()
        • CosmicSDK_I3cCccRSTGRPABroadcast()
        • CosmicSDK_I3cCccENTAS0Broadcast()
        • CosmicSDK_I3cCccENTAS1Broadcast()
        • CosmicSDK_I3cCccENTAS2Broadcast()
        • CosmicSDK_I3cCccENTAS3Broadcast()
        • CosmicSDK_I3cCccENTAS3Direct()
        • CosmicSDK_I3cCccENTAS2Direct()
        • CosmicSDK_I3cCccENTAS1Direct()
        • CosmicSDK_I3cCccENTAS0Direct()
        • CosmicSDK_I3cCccRSTGRPADirect()
        • CosmicSDK_I3cCccRSTACTDirect()
        • CosmicSDK_I3cCccSETGRPADirect()
        • CosmicSDK_I3cCccENECBroadcast()
        • CosmicSDK_I3cCccENECDirect()
        • CosmicSDK_I3cCccDISECBroadcast()
        • CosmicSDK_I3cCccDISECDirect()
        • CosmicSDK_I3cCccGETMWL()
        • CosmicSDK_I3cCccSETMWLBroadcast()
        • CosmicSDK_I3cCccSETXTIMEBroadcast()
        • CosmicSDK_I3cCccSETBUSCONBroadcast()
        • CosmicSDK_I3cCccSETXTIMEDirect()
        • CosmicSDK_I3cCccSETMWLDirect()
        • CosmicSDK_I3cCccGETMRL()
        • CosmicSDK_I3cCccSETMRLBroadcast()
        • CosmicSDK_I3cCccSETMRLDirect()
    • DebugProbe
      • DebugProbe SPI
        • spiDeinit()
        • spiGetParameters()
        • spiTransferChunk()
        • spiCsRelease()
        • spiGetStatus()
        • spiHashStart()
        • spiHashUpdate()
        • spiHashFinish()
        • spiTransferList()
        • spiControllerInit()
        • spiSetParameters()
        • spiTransfer()
        • spiFlashDetect()
        • spiFlashGetParams()
        • spiFlashRelease()
        • spiFlashRead()
        • spiFlashSectorErase()
        • spiFlashEraseRange()
        • spiFlashChipErase()
        • spiFlashProgram()
        • spiFlashHash()
        • spiFlashVerifyFast()
        • spiFlashVerify()
        • spiFlashBlankCheck()
        • spiBulkAvailable()
        • spiFlashProgramFast()
        • spiFlashGetLastBulkStats()
      • DebugProbe C API
        • DEBUGPROBE_PATH_MAX
        • DEBUGPROBE_SERIAL_MAX
        • DEBUGPROBE_SPI_CS_ASSERT
        • DEBUGPROBE_SPI_CS_RELEASE
        • DEBUGPROBE_SPI_LIST_POLL
        • DEBUGPROBE_SPI_LIST_DISCARD_RX
        • DEBUGPROBE_SPI_XFER_MAX_PAYLOAD
        • DEBUGPROBE_SPI_XFER_MAX_TRANSFER
        • DEBUGPROBE_SPI_MAX_TRANSFER_LENGTH
        • DEBUGPROBE_FLASH_MAX_ERASE_TYPES
        • DEBUGPROBE_FLASH_NAME_MAX
        • DEBUGPROBE_NOTIFICATION_MAX
        • DEBUGPROBE_RESET_SYSTEM
        • DEBUGPROBE_RESET_CORE
        • DEBUGPROBE_RESET_HARDWARE
        • DEBUGPROBE_TFLASH_NAME_MAX
        • DEBUGPROBE_TFLASH_ROUTINE_NONE
        • DEBUGPROBE_TFLASH_ROUTINE_INIT
        • DEBUGPROBE_TFLASH_ROUTINE_UNINIT
        • DEBUGPROBE_TFLASH_ROUTINE_ERASE_SECTOR
        • DEBUGPROBE_TFLASH_ROUTINE_PROGRAM_PAGE
        • DEBUGPROBE_TFLASH_ROUTINE_LOAD
        • DEBUGPROBE_TFLASH_ROUTINE_ERASE_CHIP
        • DEBUGPROBE_TFLASH_PACK_TEXT_MAX
        • DEBUGPROBE_TFLASH_PACK_REASON_MAX
        • DEBUGPROBE_TFLASH_PACK_FLASHABLE
        • DEBUGPROBE_TFLASH_PACK_NEEDS_CONNECT_STEPS
        • DEBUGPROBE_TFLASH_PACK_NOT_SUPPORTED
        • DebugProbe_ProgressFn
        • DebugProbe_Handle
        • DebugProbe_TargetFlashProgressFn
        • DebugProbe_Create()
        • DebugProbe_Destroy()
        • DebugProbe_ListDevices()
        • DebugProbe_Connect()
        • DebugProbe_ConnectCode()
        • DebugProbe_Disconnect()
        • DebugProbe_LastResponseMismatch()
        • DebugProbe_LastFirmwareStatus()
        • DebugProbe_SetTimeout()
        • DebugProbe_SerialNumber()
        • DebugProbe_UartBridgePort()
        • DebugProbe_OnNotification()
        • DebugProbe_Echo()
        • DebugProbe_GetDeviceInfo()
        • DebugProbe_GetSettings()
        • DebugProbe_GetMode()
        • DebugProbe_SetMode()
        • DebugProbe_UartGetConfig()
        • DebugProbe_UartSetConfig()
        • DebugProbe_GetCdc1Config()
        • DebugProbe_SetCdc1Config()
        • DebugProbe_GetSwdCoexistStatus()
        • DebugProbe_GetPinStatus()
        • DebugProbe_EnterBootMode()
        • DebugProbe_PowerGetReading()
        • DebugProbe_PowerGetMonitorActive()
        • DebugProbe_PowerSetOutput()
        • DebugProbe_PowerGetOutput()
        • DebugProbe_SetSignalVoltageLevel()
        • DebugProbe_GetSignalVoltageLevel()
        • DebugProbe_SetSignalVoltageEnabled()
        • DebugProbe_GetSignalVoltageEnabled()
        • DebugProbe_SetTargetPowerEnabled()
        • DebugProbe_GetTargetPowerEnabled()
        • DebugProbe_GetSignalVoltageCheck()
        • DebugProbe_SignalVoltageUseExternal()
        • DebugProbe_DebugAttach()
        • DebugProbe_DebugDetach()
        • DebugProbe_DebugHalt()
        • DebugProbe_DebugRun()
        • DebugProbe_DebugStep()
        • DebugProbe_DebugReset()
        • DebugProbe_DebugGetState()
        • DebugProbe_DebugRegRead()
        • DebugProbe_DebugRegWrite()
        • DebugProbe_DebugMemRead()
        • DebugProbe_DebugMemWrite()
        • DebugProbe_DebugCallFunction()
        • DebugProbe_DebugBreakpointSet()
        • DebugProbe_DebugBreakpointClear()
        • DebugProbe_DebugBreakpointList()
        • DebugProbe_TargetFlashLoadAlgorithm()
        • DebugProbe_TargetFlashGetInfo()
        • DebugProbe_TargetFlashUnloadAlgorithm()
        • DebugProbe_TargetFlashEraseRange()
        • DebugProbe_TargetFlashEraseChip()
        • DebugProbe_TargetFlashProgram()
        • DebugProbe_TargetFlashVerify()
        • DebugProbe_TargetFlashWrite()
        • DebugProbe_TargetFlashGetLastReport()
        • DebugProbe_TargetFlashGetLastErasedRange()
        • DebugProbe_TargetFlashGetLastSkippedSteps()
        • DebugProbe_TargetFlashListPackDevices()
        • DebugProbe_TargetFlashListPackVariants()
        • DebugProbe_TargetFlashGetPackDeviceConnectStep()
        • DebugProbe_TargetFlashLoadPackDevice()
        • DebugProbe_SpiDeinit()
        • DebugProbe_SpiGetParameters()
        • DebugProbe_SpiTransferChunk()
        • DebugProbe_SpiCsRelease()
        • DebugProbe_SpiGetStatus()
        • DebugProbe_SpiHashStart()
        • DebugProbe_SpiHashUpdate()
        • DebugProbe_SpiHashFinish()
        • DebugProbe_SpiTransferList()
        • DebugProbe_SpiControllerInit()
        • DebugProbe_SpiSetParameters()
        • DebugProbe_SpiTransfer()
        • DebugProbe_SpiFlashDetect()
        • DebugProbe_SpiFlashGetParams()
        • DebugProbe_SpiFlashRelease()
        • DebugProbe_SpiFlashRead()
        • DebugProbe_SpiFlashSectorErase()
        • DebugProbe_SpiFlashEraseRange()
        • DebugProbe_SpiFlashChipErase()
        • DebugProbe_SpiFlashProgram()
        • DebugProbe_SpiFlashHash()
        • DebugProbe_SpiFlashVerifyFast()
        • DebugProbe_SpiFlashVerify()
        • DebugProbe_SpiFlashBlankCheck()
        • DebugProbe_SpiBulkAvailable()
        • DebugProbe_SpiFlashProgramFast()
        • DebugProbe_SpiFlashGetLastBulkStats()
        • DebugProbe_DeviceEntry
        • DebugProbe_DeviceInfo
        • DebugProbe_DeviceSettings
        • DebugProbe_UartConfig
        • DebugProbe_Cdc1Config
        • DebugProbe_PinStatus
        • DebugProbe_SwdCoexistStatus
        • DebugProbe_PowerReading
        • DebugProbe_SignalVoltageCheck
        • DebugProbe_SpiParams
        • DebugProbe_SpiStatus
        • DebugProbe_SpiListEntry
        • DebugProbe_SpiListResult
        • DebugProbe_FlashEraseType
        • DebugProbe_FlashParams
        • DebugProbe_SpiFlashBulkStats
        • DebugProbe_Notification
        • DebugProbe_ResponseMismatch
        • DebugProbe_CoreState
        • DebugProbe_Breakpoint
        • DebugProbe_TargetFlashInfo
        • DebugProbe_TargetFlashReport
        • DebugProbe_TargetFlashConnectStep
        • DebugProbe_TargetFlashPackDevice
        • DebugProbe_TargetFlashPackVariant
    • Structures
      • System Structures
        • UsbConfig
      • I3C Structures
        • I3cTargetConfiguration
        • I3cBCR
        • I3cTargetInfo
      • Notification Structures
        • NotificationType
        • I3cConnectorPort
        • I3cConnectorEvent
        • I3cConnectorType
        • I3cTargetBusEventKind
        • I3cHotJoinNotification
        • I3cIbiNotification
        • UartRxNotification
        • GpioInterruptNotification
        • I3cConnectorEventNotification
        • I3cTargetBusEvent
        • I2cTargetBusEventNotification
        • SpiTargetBusEventNotification
        • Notification
    • Parameters
      • System Constants
        • GET_MANUFACTURER_STR
        • GET_PRODUCT_STR
        • GET_USB_SN_STR
        • GET_FW_VERSION
        • GET_HW_VERSION
        • CdcMode
        • WebusbState
        • CdcState
      • I2C Constants
        • MAX_I2C_TRANSFER_LENGTH
        • I2C_BULK_MAX_PAYLOAD
        • I2C_BULK_PAYLOAD_TIMEOUT_MS
        • I2C_BUS_A
        • I2C_DUTY_CYCLE_DEFAULT
        • 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
        • I2cTargetModel
        • I2cTargetAddressMode
        • I2cTargetMemoryLayout
        • I2cTargetEepromBusyBehavior
        • I2cTargetEraseScope
        • I2cTargetRegisterAccess
      • SPI Constants
        • SpiTargetModel
        • SpiTargetEngine
        • SpiBitOrder
        • SpiMode
        • SpiDataWidth
        • SpiChipSelect
        • SpiChipSelectPolarity
      • UART Constants
        • UartBaudRate
        • UartParity
        • UartDataSize
        • UartStopBit
        • UartHwHandshake
      • GPIO Constants
        • GpioPinNumber
        • GpioLogicLevel
        • GpioFunctionality
        • GpioTriggerType
      • I3C Constants
        • I3C_BROADCAST_ADDRESS
        • I3C_BULK_MAX_PAYLOAD
        • I3C_HDR_DDR_MAX_PAYLOAD
        • I3C_BULK_PAYLOAD_TIMEOUT_MS
        • I3cPushPullRate
        • I3cOpenDrainTransferRate
        • I2cTransferRate
        • I3cDriveStrength
        • I3cSdaPullUp
        • I3cTargetMemoryLayout
        • I3cTargetDcr
        • 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
        • FW_INTERFACE_UNAVAILABLE_IN_CDC_MODE
        • FW_RESOURCE_BUSY
      • 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
        • FW_SETTINGS_SAVE_FAILED
      • 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
        • FW_I2C_TARGET_STAGING_UNAVAILABLE
        • FW_I2C_TARGET_SURPASSED_MEMORY_SIZE
        • FW_I2C_TARGET_PAYLOAD_TRANSFER_FAILED
        • FW_I2C_TARGET_WRONG_MODEL
        • FW_I2C_TARGET_INVALID_CONFIG
        • FW_I2C_TARGET_REGION_TABLE_FULL
        • FW_I2C_ROLE_CONFLICT
      • SPI Result Codes
        • FW_SPI_TARGET_STAGING_UNAVAILABLE
        • FW_SPI_TARGET_SURPASSED_MEMORY_SIZE
        • FW_SPI_TARGET_PAYLOAD_TRANSFER_FAILED
        • FW_SPI_TARGET_WRONG_MODEL
        • FW_SPI_TARGET_INVALID_CONFIG
        • FW_SPI_TARGET_REGION_TABLE_FULL
        • FW_SPI_ROLE_CONFLICT
      • UART Result Codes
        • FW_UART_IN_VCOM_PORT_MODE
      • 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
        • FW_I3C_I2C_CLOCK_STRETCHING_ACTIVE
      • DebugProbe SPI Flash Result Codes
        • DEBUGPROBE_FLASH_NO_DEVICE
        • DEBUGPROBE_FLASH_NEEDS_OVERRIDE
        • DEBUGPROBE_FLASH_BAD_PARAMS
        • DEBUGPROBE_FLASH_BOUNDS
        • DEBUGPROBE_FLASH_ALIGNMENT
        • DEBUGPROBE_FLASH_PAGE_CROSS
        • DEBUGPROBE_FLASH_WRITE_PROTECTED
        • DEBUGPROBE_FLASH_BUSY_TIMEOUT
        • DEBUGPROBE_FLASH_NO_HASH
        • DEBUGPROBE_FLASH_NOT_DETECTED
        • DEBUGPROBE_FLASH_SHORT_RESPONSE
        • DEBUGPROBE_FLASH_EMPTY
        • DEBUGPROBE_FLASH_SESSION_WIDTH
        • Debug codes
  • FAQ
    • General
      • How do I connect to a specific device?
      • Is the SDK thread-safe?
    • 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
      • What UART operating modes do the host adapters support?
      • How do I initialize the UART interface in Command Mode?
      • How do I change UART configuration after initialization in Command Mode?
      • How do I transmit data in UART Command Mode?
      • How does UART reception work in Command Mode?
      • How do I deinitialize the UART interface?
      • What happens if I try to use the UART through the CosmicSDK API while a Virtual COM Port is open?
      • How do I switch from CosmicSDK UART control to a Virtual COM Port Serial Terminal?
    • 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?
    • RS-485
      • Does the SDK support RS-485?
    • CAN-FD
      • Does the SDK support CAN-FD?
    • 1-Wire
      • Does the SDK support 1-Wire?

Guides

  • 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
  • Architecture and Threading
    • SDK Layers
    • Internal Threading Model
    • Thread Safety
    • Recommended Pattern
  • Bulk Transfers
    • Why bulk exists
    • How it works: the command and the payload travel separately
    • Which calls use it
    • Layer by layer
    • When to use it
  • Target Mode
    • I2C and SPI target
    • I3C target
    • Bus-event notifications
    • Examples
  • CDC Modes Getting Started
    • Overview
    • Configuring CDC Modes (Supernova/Pulsar)
    • Modes And Use Cases
    • Switching Modes Safely

Project Information

  • Version
    • COSMICSDK_VERSION_MAJOR
    • COSMICSDK_VERSION_MINOR
    • COSMICSDK_VERSION_PATCH
  • Changelog
    • v1.9.0
    • v1.7.1
    • v1.7.0
    • v1.5.1
    • v1.5.0
    • v1.4.0
    • v1.3.0
    • 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.