pycosmicsdk Logo
v1.9.1

Guides

  • Getting started
    • Install
      • From a source checkout
    • Platform prerequisites
      • Linux
      • macOS
      • Windows
    • First device — blocking
    • First device — async
    • When something fails
    • Where to go next
  • Protocol guides
    • Running the examples
      • The whole suite at once
    • What every protocol has in common
      • Bring-up is bring_up()
      • The primitives underneath
      • Who has no bring_up(), and why
      • Everything else every protocol has in common
    • Testing your own code
      • The device lifecycle
        • Discovery
        • Opening
        • The state machine
        • Capabilities
        • Device info: cached versus fresh
        • Rebooting
        • USB configuration
        • Analog measurements
        • Examples
        • Reference
      • I2C
        • Bring-up
        • Operations
        • Target mode
        • Errors
        • Examples
        • Reference
      • I3C
        • Ports and voltage
        • Bring-up and discovery
        • Transfers
        • Common command codes
        • Target mode
        • Events
        • Errors
        • Examples
        • Reference
      • UART
        • Bring-up
        • Three reception patterns — pick one per interface
        • Errors
        • Examples
        • Reference
      • SPI
        • Bring-up
        • Transfer
        • Half-duplex write and read
        • Target mode
        • Errors: SpiError fires only in target mode
        • Examples
        • Reference
      • GPIO
        • Digital I/O
        • Interrupts
        • Errors
        • Examples
        • Reference
      • Atira debug probe
        • Setup
        • Opening a probe
        • Target power
        • Flashing the target
        • SPI and SPI NOR flash
        • UART bridge
        • Asyncio
        • Examples
      • The bulk transfer plane
        • Which operations can use it
        • The ceilings
        • Nothing is ever split
        • Which route a call takes
        • Support is uniform; benefit is not
        • When the plane is unavailable
        • bulk is the whole plane, not the SPI part of it
        • The plane is blocking-only
        • Examples
        • Testing code that uses it
        • Reference
      • Target mode: I2C and SPI
        • The role you are holding
        • bring_up() exists here, unlike for the I3C target
        • SPI target mode
        • I2C target mode
        • The arena
        • Bus events
        • asyncio: configuration in full, memory not at all
        • Errors
        • Examples
        • Reference
      • Testing without hardware
        • What is real and what is faked
        • Programming commands
        • Asserting on the conversation
        • Notifications
        • The asyncio surface
        • The bulk plane, and why a fake adapter has none
        • Target mode and the memory arena
        • What the fake rejects
        • What it deliberately accepts
        • What it deliberately does not fake
        • Reference
  • Blocking and asyncio
    • The two shapes, side by side
    • Overlapping work
    • Notifications
    • Rail voltages read the same on both sides
    • Where the two APIs are not mirror images
      • get_analog_measurements is async-only
      • Device.discarded_response_count is blocking-only
      • I3cCcc.transfer is async-only
      • Nothing that carries a payload over the bulk plane has an async twin
    • A handle that stops answering is refused on both surfaces
    • Summary of the surface differences
  • Migrating to pycosmicsdk
    • 0. Before you change the import: firmware
    • 1. The drop-in path
      • 1.1 binhosupernova → pycosmicsdk.legacy.supernovasdk
      • 1.2 supernovacontroller → pycosmicsdk.legacy.supernovacontroller
      • 1.3 binhopulsar → pycosmicsdk.legacy.pulsarsdk
    • 2. What breaks
      • 2.1 Capability regressions
      • 2.2 Signature breaks
      • 2.3 Removed on purpose — our decision, not upstream’s
      • 2.4 Deferred protocols — gated upstream, not chosen
      • 2.5 10-bit I2C transfers are shim-only
    • 3. Before and after
      • Discovery and open
      • I2C write and read
      • I2C scan
      • UART query
      • I3C bring-up and discovery
      • A CCC read
      • GPIO
      • SPI
      • I3C target mode
      • Error handling
    • 4. Why migrate
    • 5. Behaviour that will surprise you
      • supernovacontroller: init_bus() can succeed while your settings do not take
      • A failure leg still carries a plausible value — check result, never key presence
      • supernovacontroller: a bare open() opens a Supernova
      • supernovacontroller: the I2C pull-up default is model-dependent
      • Device.open() with no arguments takes the first enumerated adapter
      • DeviceInfo strings are tagged; DiscoveredDevice strings are not
      • GPIO pin_number carries the enum value, not the printed label
      • Notification enum fields are raw ints — compare, never truthiness-test
      • I3cTargetBusEvent and I3cTargetBusEventNotification are different types
      • I3C target memory addresses are register indices
      • The system_message handed to onEvent is now a dict
      • A call that used to hang now raises
      • open()["hw_version"] and get_hardware_version() disagree on purpose
      • Legacy bugs that were deliberately not reproduced
      • 10-bit I2C scan byte order
      • Notification re-registration is still a no-op on the shim

API reference

  • Overview
    • The public surface
    • Not documented here
  • Device and discovery
    • Discovery
      • list_devices()
      • DiscoveredDevice
        • DiscoveredDevice.model
        • DiscoveredDevice.serial_number
        • DiscoveredDevice.path
        • DiscoveredDevice.manufacturer
        • DiscoveredDevice.product_name
        • DiscoveredDevice.hw_version
        • DiscoveredDevice.fw_version
    • Device
      • Device
        • Device.open()
        • Device.close()
        • Device.__enter__()
        • Device.__exit__()
        • Device.info
        • Device.model
        • Device.capabilities
        • Device.state
        • Device.discarded_response_count
        • Device.is_connected
        • Device.fetch_device_info()
        • Device.get_version()
        • Device.reboot()
        • Device.get_usb_config()
        • Device.set_usb_config()
        • Device.subscribe()
        • Device.i2c()
        • Device.i2c_target()
        • Device.i3c()
        • Device.i3c_target()
        • Device.spi()
        • Device.spi_target()
        • Device.uart()
        • Device.gpio()
    • AsyncDevice
      • AsyncDevice
        • AsyncDevice.open()
        • AsyncDevice.close()
        • AsyncDevice.state
        • AsyncDevice.is_connected
        • AsyncDevice.info
        • AsyncDevice.model
        • AsyncDevice.capabilities
        • AsyncDevice.get_version()
        • AsyncDevice.fetch_device_info()
        • AsyncDevice.reboot()
        • AsyncDevice.get_usb_config()
        • AsyncDevice.set_usb_config()
        • AsyncDevice.get_analog_measurements()
        • AsyncDevice.i2c()
        • AsyncDevice.i2c_target()
        • AsyncDevice.i3c()
        • AsyncDevice.i3c_target()
        • AsyncDevice.spi()
        • AsyncDevice.spi_target()
        • AsyncDevice.uart()
        • AsyncDevice.gpio()
        • AsyncDevice.subscribe()
        • AsyncDevice.iter_notifications()
  • Debug probe
    • Discovery
      • list_debug_probes()
      • DiscoveredDebugProbe
        • DiscoveredDebugProbe.path
        • DiscoveredDebugProbe.serial_number
    • DebugProbe
      • DebugProbe
        • DebugProbe.open()
        • DebugProbe.close()
        • DebugProbe.__enter__()
        • DebugProbe.__exit__()
        • DebugProbe.power()
        • DebugProbe.uart()
        • DebugProbe.debug()
        • DebugProbe.spi()
        • DebugProbe.flash()
        • DebugProbe.target_flash()
        • DebugProbe.serial_number
        • DebugProbe.last_firmware_status
        • DebugProbe.set_timeout()
        • DebugProbe.echo()
        • DebugProbe.info
        • DebugProbe.fetch_device_info()
        • DebugProbe.settings()
        • DebugProbe.mode()
        • DebugProbe.set_mode()
        • DebugProbe.swd_coexist_status()
        • DebugProbe.pin_status()
        • DebugProbe.cdc1_config()
        • DebugProbe.set_cdc1_config()
        • DebugProbe.enter_boot_mode()
      • TargetPower
        • TargetPower.reading()
        • TargetPower.monitor_active()
        • TargetPower.output()
        • TargetPower.set_output()
        • TargetPower.signal_voltage_level()
        • TargetPower.set_signal_voltage_level()
        • TargetPower.signal_voltage_enabled()
        • TargetPower.set_signal_voltage_enabled()
        • TargetPower.target_power_enabled()
        • TargetPower.set_target_power_enabled()
        • TargetPower.signal_voltage_check()
        • TargetPower.signal_voltage_use_external()
      • UartBridge
        • UartBridge.bridge_port
        • UartBridge.config()
        • UartBridge.configure()
      • DebugTarget
        • DebugTarget.attach()
        • DebugTarget.detach()
        • DebugTarget.halt()
        • DebugTarget.run()
        • DebugTarget.step()
        • DebugTarget.state()
        • DebugTarget.reset()
        • DebugTarget.read_register()
        • DebugTarget.write_register()
        • DebugTarget.read_memory()
        • DebugTarget.write_memory()
        • DebugTarget.set_breakpoint()
        • DebugTarget.clear_breakpoint()
        • DebugTarget.breakpoints()
        • DebugTarget.call_function()
      • DebugProbeSpi
        • DebugProbeSpi.initialize()
        • DebugProbeSpi.configure()
        • DebugProbeSpi.release()
        • DebugProbeSpi.parameters()
        • DebugProbeSpi.status()
        • DebugProbeSpi.transfer()
        • DebugProbeSpi.transfer_chunk()
        • DebugProbeSpi.release_chip_select()
        • DebugProbeSpi.hash_start()
        • DebugProbeSpi.hash_update()
        • DebugProbeSpi.hash_finish()
        • DebugProbeSpi.transfer_list()
      • SpiFlash
        • SpiFlash.last_transport
        • SpiFlash.detect()
        • SpiFlash.parameters()
        • SpiFlash.release()
        • SpiFlash.read()
        • SpiFlash.erase_sector()
        • SpiFlash.erase()
        • SpiFlash.erase_chip()
        • SpiFlash.program()
        • SpiFlash.verify()
        • SpiFlash.blank_check()
        • SpiFlash.hash()
        • SpiFlash.bulk_available()
        • SpiFlash.last_bulk_stats()
      • TargetFlash
        • TargetFlash.load_algorithm()
        • TargetFlash.info()
        • TargetFlash.unload_algorithm()
        • TargetFlash.list_pack_devices()
        • TargetFlash.load_pack_device()
        • TargetFlash.erase()
        • TargetFlash.erase_chip()
        • TargetFlash.program()
        • TargetFlash.verify()
        • TargetFlash.write()
        • TargetFlash.last_report()
    • AsyncDebugProbe
      • AsyncDebugProbe
        • AsyncDebugProbe.open()
        • AsyncDebugProbe.close()
        • AsyncDebugProbe.power()
        • AsyncDebugProbe.uart()
        • AsyncDebugProbe.debug()
        • AsyncDebugProbe.spi()
        • AsyncDebugProbe.flash()
        • AsyncDebugProbe.target_flash()
        • AsyncDebugProbe.serial_number
        • AsyncDebugProbe.last_firmware_status
        • AsyncDebugProbe.set_timeout()
        • AsyncDebugProbe.echo()
        • AsyncDebugProbe.info
        • AsyncDebugProbe.fetch_device_info()
        • AsyncDebugProbe.settings()
        • AsyncDebugProbe.mode()
        • AsyncDebugProbe.set_mode()
        • AsyncDebugProbe.swd_coexist_status()
        • AsyncDebugProbe.pin_status()
        • AsyncDebugProbe.cdc1_config()
        • AsyncDebugProbe.set_cdc1_config()
        • AsyncDebugProbe.enter_boot_mode()
      • AsyncTargetPower
        • AsyncTargetPower.reading()
        • AsyncTargetPower.monitor_active()
        • AsyncTargetPower.output()
        • AsyncTargetPower.set_output()
        • AsyncTargetPower.signal_voltage_level()
        • AsyncTargetPower.set_signal_voltage_level()
        • AsyncTargetPower.signal_voltage_enabled()
        • AsyncTargetPower.set_signal_voltage_enabled()
        • AsyncTargetPower.target_power_enabled()
        • AsyncTargetPower.set_target_power_enabled()
        • AsyncTargetPower.signal_voltage_check()
        • AsyncTargetPower.signal_voltage_use_external()
      • AsyncUartBridge
        • AsyncUartBridge.bridge_port
        • AsyncUartBridge.config()
        • AsyncUartBridge.configure()
      • AsyncDebugTarget
        • AsyncDebugTarget.attach()
        • AsyncDebugTarget.detach()
        • AsyncDebugTarget.halt()
        • AsyncDebugTarget.run()
        • AsyncDebugTarget.step()
        • AsyncDebugTarget.state()
        • AsyncDebugTarget.reset()
        • AsyncDebugTarget.read_register()
        • AsyncDebugTarget.write_register()
        • AsyncDebugTarget.read_memory()
        • AsyncDebugTarget.write_memory()
        • AsyncDebugTarget.set_breakpoint()
        • AsyncDebugTarget.clear_breakpoint()
        • AsyncDebugTarget.breakpoints()
        • AsyncDebugTarget.call_function()
      • AsyncDebugProbeSpi
        • AsyncDebugProbeSpi.initialize()
        • AsyncDebugProbeSpi.configure()
        • AsyncDebugProbeSpi.release()
        • AsyncDebugProbeSpi.parameters()
        • AsyncDebugProbeSpi.status()
        • AsyncDebugProbeSpi.transfer()
        • AsyncDebugProbeSpi.transfer_chunk()
        • AsyncDebugProbeSpi.release_chip_select()
        • AsyncDebugProbeSpi.hash_start()
        • AsyncDebugProbeSpi.hash_update()
        • AsyncDebugProbeSpi.hash_finish()
        • AsyncDebugProbeSpi.transfer_list()
      • AsyncSpiFlash
        • AsyncSpiFlash.last_transport
        • AsyncSpiFlash.detect()
        • AsyncSpiFlash.parameters()
        • AsyncSpiFlash.release()
        • AsyncSpiFlash.read()
        • AsyncSpiFlash.erase_sector()
        • AsyncSpiFlash.erase()
        • AsyncSpiFlash.erase_chip()
        • AsyncSpiFlash.program()
        • AsyncSpiFlash.verify()
        • AsyncSpiFlash.blank_check()
        • AsyncSpiFlash.hash()
        • AsyncSpiFlash.bulk_available()
        • AsyncSpiFlash.last_bulk_stats()
      • AsyncTargetFlash
        • AsyncTargetFlash.load_algorithm()
        • AsyncTargetFlash.info()
        • AsyncTargetFlash.unload_algorithm()
        • AsyncTargetFlash.list_pack_devices()
        • AsyncTargetFlash.load_pack_device()
        • AsyncTargetFlash.erase_chip()
        • AsyncTargetFlash.erase()
        • AsyncTargetFlash.program()
        • AsyncTargetFlash.verify()
        • AsyncTargetFlash.write()
        • AsyncTargetFlash.last_report()
    • Enums and results
      • ProgMode
        • ProgMode.IDLE
        • ProgMode.SWD_ACTIVE
        • ProgMode.JTAG_ACTIVE
        • ProgMode.ICSP_ACTIVE
        • ProgMode.UPDI_ACTIVE
        • ProgMode.SWO_ACTIVE
        • ProgMode.SPI_ACTIVE
      • FlashVerifyMethod
        • FlashVerifyMethod.READBACK
        • FlashVerifyMethod.HASH
      • FlashCheck
        • FlashCheck.passed
        • FlashCheck.first_mismatch
      • SpiHashAlgorithm
        • SpiHashAlgorithm.CRC32
      • SpiListFlag
        • SpiListFlag.CS_ASSERT
        • SpiListFlag.CS_RELEASE
        • SpiListFlag.POLL
        • SpiListFlag.DISCARD_RX
      • SpiParameters
        • SpiParameters.bit_order
        • SpiParameters.mode
        • SpiParameters.data_width
        • SpiParameters.chip_select
        • SpiParameters.chip_select_polarity
        • SpiParameters.frequency_hz
      • SpiSessionStatus
        • SpiSessionStatus.active
        • SpiSessionStatus.cs_held
        • SpiSessionStatus.parameters
        • SpiSessionStatus.features
        • SpiSessionStatus.hash_max_chunk
        • SpiSessionStatus.hash_running
        • SpiSessionStatus.list_max_entries
        • SpiSessionStatus.poll_max_iterations
        • SpiSessionStatus.poll_max_us
    • Data types
      • DebugProbeInfo
        • DebugProbeInfo.fw_major
        • DebugProbeInfo.fw_minor
        • DebugProbeInfo.fw_patch
        • DebugProbeInfo.hw_variant
        • DebugProbeInfo.capabilities
        • DebugProbeInfo.active_mode
        • DebugProbeInfo.num_uart_ports
        • DebugProbeInfo.fw_major
        • DebugProbeInfo.fw_minor
        • DebugProbeInfo.fw_patch
        • DebugProbeInfo.hw_variant
        • DebugProbeInfo.capabilities
        • DebugProbeInfo.active_mode
        • DebugProbeInfo.num_uart_ports
      • DeviceSettings
        • DeviceSettings.cdc1_enabled
        • DeviceSettings.cdc1_mode
        • DeviceSettings.target_power_en
        • DeviceSettings.target_protocol
        • DeviceSettings.uart_baud
        • DeviceSettings.uart_data_bits
        • DeviceSettings.uart_flow_ctrl
        • DeviceSettings.uart_parity
        • DeviceSettings.uart_stop_bits
      • UartConfig
        • UartConfig.baud
        • UartConfig.data_bits
        • UartConfig.flow_ctrl
        • UartConfig.parity
        • UartConfig.stop_bits
      • Cdc1Config
        • Cdc1Config.enabled
        • Cdc1Config.mode
      • PinStatus
        • PinStatus.capture_uart
        • PinStatus.generation
        • PinStatus.holders
        • PinStatus.pin_class
        • PinStatus.refcount
      • SwdCoexistStatus
        • SwdCoexistStatus.deferring
        • SwdCoexistStatus.host_armed
        • SwdCoexistStatus.ms_since_host_transfer
        • SwdCoexistStatus.swd_holders
      • PowerReading
        • PowerReading.current_ua
        • PowerReading.power_mw
        • PowerReading.voltage_mv
      • SignalVoltageCheck
        • SignalVoltageCheck.level_mv
        • SignalVoltageCheck.state
        • SignalVoltageCheck.target_mv
      • TargetFlashInfo
        • TargetFlashInfo.device_name
        • TargetFlashInfo.erase_sector_timeout_ms
        • TargetFlashInfo.erased_value
        • TargetFlashInfo.flash_base
        • TargetFlashInfo.flash_size
        • TargetFlashInfo.has_erase_chip
        • TargetFlashInfo.has_verify
        • TargetFlashInfo.page_size
        • TargetFlashInfo.program_page_timeout_ms
        • TargetFlashInfo.sector_count
      • TargetFlashReport
        • TargetFlashReport.bytes_programmed
        • TargetFlashReport.connect_steps_skipped
        • TargetFlashReport.elapsed_ms
        • TargetFlashReport.erased_addr
        • TargetFlashReport.erased_bytes
        • TargetFlashReport.failed_r0
        • TargetFlashReport.failed_routine
        • TargetFlashReport.final_reset_ok
        • TargetFlashReport.first_mismatch
        • TargetFlashReport.sectors_erased
        • TargetFlashReport.target_touched
        • TargetFlashReport.verify_mismatch
      • TargetFlashPackDevice
        • TargetFlashPackDevice.connect_steps
        • TargetFlashPackDevice.family
        • TargetFlashPackDevice.flash_base
        • TargetFlashPackDevice.flash_size
        • TargetFlashPackDevice.multi_core
        • TargetFlashPackDevice.name
        • TargetFlashPackDevice.reason
        • TargetFlashPackDevice.support
        • TargetFlashPackDevice.variants
        • TargetFlashPackDevice.vendor
      • SignalVoltageState
        • SignalVoltageState.NO_SUPPLY
        • SignalVoltageState.MATCH
        • SignalVoltageState.SIGNAL_HIGHER
        • SignalVoltageState.SIGNAL_LOWER
        • SignalVoltageState.ATIRA_POWERED
        • SignalVoltageState.BACK_POWERED
        • SignalVoltageState.PIN1_OVERVOLTAGE
      • TargetFlashRoutine
        • TargetFlashRoutine.NONE
        • TargetFlashRoutine.INIT
        • TargetFlashRoutine.UNINIT
        • TargetFlashRoutine.ERASE_SECTOR
        • TargetFlashRoutine.PROGRAM_PAGE
        • TargetFlashRoutine.LOAD
        • TargetFlashRoutine.ERASE_CHIP
      • TargetFlashPackSupport
        • TargetFlashPackSupport.FLASHABLE
        • TargetFlashPackSupport.NEEDS_CONNECT_STEPS
        • TargetFlashPackSupport.NOT_SUPPORTED
      • DebugState
        • DebugState.attached
        • DebugState.halted
        • DebugState.pc
        • DebugState.stop_reason
      • DebugStopReason
        • DebugStopReason.RUNNING
        • DebugStopReason.REQUEST
        • DebugStopReason.BREAKPOINT
        • DebugStopReason.WATCHPOINT
        • DebugStopReason.STEP
        • DebugStopReason.RESET
      • DebugResetKind
        • DebugResetKind.SYSTEM
        • DebugResetKind.CORE
        • DebugResetKind.HARDWARE
      • DebugBreakpoint
        • DebugBreakpoint.addr
        • DebugBreakpoint.id
      • DebugCall
        • DebugCall.args
        • DebugCall.entry
        • DebugCall.poll_rounds
        • DebugCall.return_addr
        • DebugCall.stack_pointer
        • DebugCall.static_base
      • SpiPoll
        • SpiPoll.mask
        • SpiPoll.max_iterations
        • SpiPoll.max_us
        • SpiPoll.offset
        • SpiPoll.value
      • SpiListEntry
        • SpiListEntry.flags
        • SpiListEntry.payload
        • SpiListEntry.poll
        • SpiListEntry.transfer_len
      • SpiListResult
        • SpiListResult.entries_executed
        • SpiListResult.outcome
        • SpiListResult.poll_iterations
        • SpiListResult.replies
        • SpiListResult.rx
      • FlashParams
        • FlashParams.address_bytes
        • FlashParams.capacity
        • FlashParams.chip_erase_op
        • FlashParams.erase_types
        • FlashParams.name
        • FlashParams.page_size
        • FlashParams.program_op
        • FlashParams.read_op
        • FlashParams.sector_erase_op
        • FlashParams.sector_size
      • FlashEraseType
        • FlashEraseType.opcode
        • FlashEraseType.size
      • SpiFlashBulkStats
        • SpiFlashBulkStats.bounded_polls
        • SpiFlashBulkStats.extra_lists
        • SpiFlashBulkStats.pages
  • Protocol interfaces
    • I2C
      • I2cController
        • I2cController.bus
        • I2cController.max_transfer_bytes
        • I2cController.initialize()
        • I2cController.bring_up()
        • I2cController.configure()
        • I2cController.set_duty_cycle()
        • I2cController.set_pull_up()
        • I2cController.set_voltage()
        • I2cController.use_external_voltage()
        • I2cController.get_bus_voltage()
        • I2cController.write()
        • I2cController.read()
        • I2cController.scan()
      • AsyncI2cController
        • AsyncI2cController.bus
        • AsyncI2cController.initialize()
        • AsyncI2cController.bring_up()
        • AsyncI2cController.configure()
        • AsyncI2cController.set_duty_cycle()
        • AsyncI2cController.set_pull_up()
        • AsyncI2cController.set_voltage()
        • AsyncI2cController.use_external_voltage()
        • AsyncI2cController.get_bus_voltage()
        • AsyncI2cController.write()
        • AsyncI2cController.read()
        • AsyncI2cController.scan()
    • I2C — target mode
      • I2cTarget
        • I2cTarget.bus
        • I2cTarget.arena_size
        • I2cTarget.max_transfer_bytes
        • I2cTarget.initialize()
        • I2cTarget.configure()
        • I2cTarget.bring_up()
        • I2cTarget.release()
        • I2cTarget.configure_eeprom()
        • I2cTarget.erase()
        • I2cTarget.add_register_region()
        • I2cTarget.write_memory()
        • I2cTarget.read_memory()
        • I2cTarget.wait_for_event()
        • I2cTarget.drain_events()
      • AsyncI2cTarget
        • AsyncI2cTarget.bus
        • AsyncI2cTarget.arena_size
        • AsyncI2cTarget.initialize()
        • AsyncI2cTarget.configure()
        • AsyncI2cTarget.bring_up()
        • AsyncI2cTarget.release()
        • AsyncI2cTarget.configure_eeprom()
        • AsyncI2cTarget.erase()
        • AsyncI2cTarget.add_register_region()
        • AsyncI2cTarget.wait_for_event()
        • AsyncI2cTarget.drain_events()
    • I3C — controller
      • I3cController
        • I3cController.ccc
        • I3cController.initialize()
        • I3cController.bring_up()
        • I3cController.configure()
        • I3cController.enable_i2c_clock_stretching()
        • I3cController.disable_i2c_clock_stretching()
        • I3cController.hold_scl_low()
        • I3cController.set_sda_pull_up()
        • I3cController.set_voltage()
        • I3cController.use_external_voltage()
        • I3cController.get_bus_voltage()
        • I3cController.init_bus()
        • I3cController.reset_bus()
        • I3cController.get_device_table()
        • I3cController.set_target_configuration()
        • I3cController.max_transfer_bytes
        • I3cController.max_hdr_ddr_transfer_bytes
        • I3cController.transport
        • I3cController.legacy_i2c_write()
        • I3cController.legacy_i2c_read()
        • I3cController.sdr_write()
        • I3cController.sdr_read()
        • I3cController.hdr_ddr_write()
        • I3cController.hdr_ddr_read()
        • I3cController.target_reset_pattern()
        • I3cController.hdr_exit_pattern()
      • AsyncI3cController
        • AsyncI3cController.ccc
        • AsyncI3cController.max_hdr_ddr_transfer_bytes
        • AsyncI3cController.initialize()
        • AsyncI3cController.bring_up()
        • AsyncI3cController.configure()
        • AsyncI3cController.enable_i2c_clock_stretching()
        • AsyncI3cController.disable_i2c_clock_stretching()
        • AsyncI3cController.hold_scl_low()
        • AsyncI3cController.set_sda_pull_up()
        • AsyncI3cController.set_voltage()
        • AsyncI3cController.use_external_voltage()
        • AsyncI3cController.get_bus_voltage()
        • AsyncI3cController.init_bus()
        • AsyncI3cController.reset_bus()
        • AsyncI3cController.get_device_table()
        • AsyncI3cController.set_target_configuration()
        • AsyncI3cController.legacy_i2c_write()
        • AsyncI3cController.legacy_i2c_read()
        • AsyncI3cController.sdr_write()
        • AsyncI3cController.sdr_read()
        • AsyncI3cController.hdr_ddr_write()
        • AsyncI3cController.hdr_ddr_read()
        • AsyncI3cController.target_reset_pattern()
        • AsyncI3cController.hdr_exit_pattern()
    • I3C — common command codes
      • I3cCcc
        • I3cCcc.rstdaa()
        • I3cCcc.entdaa()
        • I3cCcc.setdasa()
        • I3cCcc.setaasa()
        • I3cCcc.setnewda()
        • I3cCcc.getpid()
        • I3cCcc.getbcr()
        • I3cCcc.getdcr()
        • I3cCcc.getstatus()
        • I3cCcc.getcaps()
        • I3cCcc.getmxds()
        • I3cCcc.getxtime()
        • I3cCcc.rstact_broadcast()
        • I3cCcc.rstgrpa_broadcast()
        • I3cCcc.entas0_broadcast()
        • I3cCcc.entas1_broadcast()
        • I3cCcc.entas2_broadcast()
        • I3cCcc.entas3_broadcast()
        • I3cCcc.entas3_direct()
        • I3cCcc.entas2_direct()
        • I3cCcc.entas1_direct()
        • I3cCcc.entas0_direct()
        • I3cCcc.rstgrpa_direct()
        • I3cCcc.rstact_direct()
        • I3cCcc.setgrpa_direct()
        • I3cCcc.enec_broadcast()
        • I3cCcc.enec_direct()
        • I3cCcc.disec_broadcast()
        • I3cCcc.disec_direct()
        • I3cCcc.getmwl()
        • I3cCcc.setmwl_broadcast()
        • I3cCcc.setmwl_direct()
        • I3cCcc.getmrl()
        • I3cCcc.setmrl_broadcast()
        • I3cCcc.setmrl_direct()
        • I3cCcc.setxtime_broadcast()
        • I3cCcc.setxtime_direct()
        • I3cCcc.setbuscon_broadcast()
      • AsyncI3cCcc
        • AsyncI3cCcc.transfer()
        • AsyncI3cCcc.rstdaa()
        • AsyncI3cCcc.entdaa()
        • AsyncI3cCcc.setdasa()
        • AsyncI3cCcc.setaasa()
        • AsyncI3cCcc.setnewda()
        • AsyncI3cCcc.getpid()
        • AsyncI3cCcc.getbcr()
        • AsyncI3cCcc.getdcr()
        • AsyncI3cCcc.getstatus()
        • AsyncI3cCcc.getcaps()
        • AsyncI3cCcc.getmxds()
        • AsyncI3cCcc.getxtime()
        • AsyncI3cCcc.rstact_broadcast()
        • AsyncI3cCcc.rstgrpa_broadcast()
        • AsyncI3cCcc.entas0_broadcast()
        • AsyncI3cCcc.entas1_broadcast()
        • AsyncI3cCcc.entas2_broadcast()
        • AsyncI3cCcc.entas3_broadcast()
        • AsyncI3cCcc.entas3_direct()
        • AsyncI3cCcc.entas2_direct()
        • AsyncI3cCcc.entas1_direct()
        • AsyncI3cCcc.entas0_direct()
        • AsyncI3cCcc.rstgrpa_direct()
        • AsyncI3cCcc.rstact_direct()
        • AsyncI3cCcc.setgrpa_direct()
        • AsyncI3cCcc.enec_broadcast()
        • AsyncI3cCcc.enec_direct()
        • AsyncI3cCcc.disec_broadcast()
        • AsyncI3cCcc.disec_direct()
        • AsyncI3cCcc.getmwl()
        • AsyncI3cCcc.setmwl_broadcast()
        • AsyncI3cCcc.setmwl_direct()
        • AsyncI3cCcc.getmrl()
        • AsyncI3cCcc.setmrl_broadcast()
        • AsyncI3cCcc.setmrl_direct()
        • AsyncI3cCcc.setxtime_broadcast()
        • AsyncI3cCcc.setxtime_direct()
        • AsyncI3cCcc.setbuscon_broadcast()
    • I3C — target mode
      • I3cTarget
        • I3cTarget.initialize()
        • I3cTarget.configure()
        • I3cTarget.write_memory()
        • I3cTarget.read_memory()
        • I3cTarget.wait_for_event()
        • I3cTarget.stop_event_capture()
      • AsyncI3cTarget
        • AsyncI3cTarget.initialize()
        • AsyncI3cTarget.configure()
        • AsyncI3cTarget.write_memory()
        • AsyncI3cTarget.read_memory()
        • AsyncI3cTarget.wait_for_event()
        • AsyncI3cTarget.stop_event_capture()
    • UART
      • Uart
        • Uart.initialize()
        • Uart.bring_up()
        • Uart.deinit()
        • Uart.configure()
        • Uart.set_voltage()
        • Uart.use_external_voltage()
        • Uart.get_bus_voltage()
        • Uart.send()
        • Uart.query()
        • Uart.receive()
      • AsyncUart
        • AsyncUart.initialize()
        • AsyncUart.bring_up()
        • AsyncUart.deinit()
        • AsyncUart.configure()
        • AsyncUart.set_voltage()
        • AsyncUart.use_external_voltage()
        • AsyncUart.get_bus_voltage()
        • AsyncUart.send()
        • AsyncUart.query()
        • AsyncUart.receive()
        • AsyncUart.iter_receive()
    • SPI
      • SpiController
        • SpiController.initialize()
        • SpiController.bring_up()
        • SpiController.configure()
        • SpiController.release()
        • SpiController.set_voltage()
        • SpiController.use_external_voltage()
        • SpiController.get_bus_voltage()
        • SpiController.transfer()
        • SpiController.max_transfer_bytes
        • SpiController.transport
        • SpiController.write()
        • SpiController.read()
      • AsyncSpiController
        • AsyncSpiController.initialize()
        • AsyncSpiController.bring_up()
        • AsyncSpiController.configure()
        • AsyncSpiController.release()
        • AsyncSpiController.set_voltage()
        • AsyncSpiController.use_external_voltage()
        • AsyncSpiController.get_bus_voltage()
        • AsyncSpiController.transfer()
    • SPI — target mode
      • SpiTarget
        • SpiTarget.arena_size
        • SpiTarget.max_transfer_bytes
        • SpiTarget.initialize()
        • SpiTarget.bring_up()
        • SpiTarget.release()
        • SpiTarget.configure()
        • SpiTarget.configure_flash()
        • SpiTarget.write_memory()
        • SpiTarget.read_memory()
        • SpiTarget.wait_for_event()
      • AsyncSpiTarget
        • AsyncSpiTarget.arena_size
        • AsyncSpiTarget.initialize()
        • AsyncSpiTarget.bring_up()
        • AsyncSpiTarget.release()
        • AsyncSpiTarget.configure()
        • AsyncSpiTarget.configure_flash()
        • AsyncSpiTarget.wait_for_event()
    • GPIO
      • Gpio
        • Gpio.set_voltage()
        • Gpio.use_external_voltage()
        • Gpio.get_voltage()
        • Gpio.configure_pin()
        • Gpio.write()
        • Gpio.read()
        • Gpio.configure_interrupt()
        • Gpio.disable_interrupt()
      • AsyncGpio
        • AsyncGpio.set_voltage()
        • AsyncGpio.use_external_voltage()
        • AsyncGpio.get_voltage()
        • AsyncGpio.configure_pin()
        • AsyncGpio.write()
        • AsyncGpio.read()
        • AsyncGpio.configure_interrupt()
        • AsyncGpio.disable_interrupt()
  • Errors
    • Which one to catch
    • Capability refusals arrive before the wire
    • Refusals fail open
    • AdapterNotAnsweringError means this SDK stopped sending
    • ProtocolError means the answer did not parse
    • The two loader errors nothing raises yet
    • Reference
      • CosmicError
        • CosmicError.status_code
        • CosmicError.operation
        • CosmicError.message
      • ValidationError
      • CapabilityError
      • DeviceNotFoundError
      • UnsupportedFirmwareError
      • DisconnectError
      • AdapterNotAnsweringError
        • AdapterNotAnsweringError.consecutive_timeouts
        • AdapterNotAnsweringError.waited_s
      • CosmicTimeoutError
      • ProtocolError
      • CosmicSDKLibraryNotFound
      • CosmicSDKVersionError
      • CosmicInternalError
      • FirmwareError
      • I2cError
      • I2cDutyCycleRefusedError
        • I2cDutyCycleRefusedError.frequency_hz
        • I2cDutyCycleRefusedError.high_pct
      • UartError
      • I3cError
      • SpiError
      • GpioError
      • SystemFirmwareError
      • DebugError
      • TargetFlashVerifyError
        • TargetFlashVerifyError.first_mismatch
  • Enums
    • StrEnum
    • Device
      • DeviceModel
        • DeviceModel.UNKNOWN
        • DeviceModel.SUPERNOVA
        • DeviceModel.PULSAR
      • DeviceState
        • DeviceState.NEW
        • DeviceState.OPEN
        • DeviceState.TERMINAL
        • DeviceState.CLOSED
      • ResetTarget
        • ResetTarget.RUNTIME
        • ResetTarget.BOOT
        • ResetTarget.ISP
      • ProtocolInterface
        • ProtocolInterface.I2C
        • ProtocolInterface.I3C
        • ProtocolInterface.I3C_TARGET
        • ProtocolInterface.SPI
        • ProtocolInterface.UART
        • ProtocolInterface.GPIO
    • I2C
      • I2cBus
        • I2cBus.A
        • I2cBus.B
      • I2cPullUp
        • I2cPullUp.OHM_150
        • I2cPullUp.OHM_220
        • I2cPullUp.OHM_330
        • I2cPullUp.OHM_470
        • I2cPullUp.OHM_680
        • I2cPullUp.KOHM_1_0
        • I2cPullUp.KOHM_1_5
        • I2cPullUp.KOHM_2_2
        • I2cPullUp.KOHM_3_3
        • I2cPullUp.KOHM_4_0
        • I2cPullUp.KOHM_4_7
        • I2cPullUp.KOHM_10_0
        • I2cPullUp.DISABLE
      • I2cOpenDrainRate
        • I2cOpenDrainRate.STANDARD_MODE
        • I2cOpenDrainRate.FAST_MODE
        • I2cOpenDrainRate.FAST_MODE_PLUS
        • I2cOpenDrainRate.HIGH_SPEED_MODE
        • I2cOpenDrainRate.ULTRA_FAST_MODE
      • I2cTransport
        • I2cTransport.AUTO
        • I2cTransport.BULK
        • I2cTransport.HID
    • I2C — target mode
      • I2cTargetModel
        • I2cTargetModel.MEMORY
        • I2cTargetModel.EEPROM
        • I2cTargetModel.REGISTER_MAP
      • I2cTargetAddressMode
        • I2cTargetAddressMode.BIT_7
        • I2cTargetAddressMode.BIT_10
      • I2cTargetMemoryLayout
        • I2cTargetMemoryLayout.BIT_8
        • I2cTargetMemoryLayout.BIT_16
      • I2cTargetRegisterAccess
        • I2cTargetRegisterAccess.RW
        • I2cTargetRegisterAccess.RO
        • I2cTargetRegisterAccess.WO
        • I2cTargetRegisterAccess.RC
        • I2cTargetRegisterAccess.W1C
        • I2cTargetRegisterAccess.RESERVED
      • I2cTargetEraseScope
        • I2cTargetEraseScope.PAGE
        • I2cTargetEraseScope.CHIP
      • I2cTargetEepromBusyBehavior
        • I2cTargetEepromBusyBehavior.NACK
        • I2cTargetEepromBusyBehavior.CLOCK_STRETCH
      • I2cTargetBusEventKind
        • I2cTargetBusEventKind.WRITE_TRANSFER
        • I2cTargetBusEventKind.READ_TRANSFER
    • I3C — controller
      • I3cPushPullRate
        • I3cPushPullRate.PUSH_PULL_2_5_MHZ_DC_10
        • I3cPushPullRate.PUSH_PULL_2_5_MHZ_DC_15
        • I3cPushPullRate.PUSH_PULL_2_5_MHZ_DC_20
        • I3cPushPullRate.PUSH_PULL_2_5_MHZ_DC_25
        • I3cPushPullRate.PUSH_PULL_3_125_MHZ_DC_12_5
        • I3cPushPullRate.PUSH_PULL_3_125_MHZ_DC_18_75
        • I3cPushPullRate.PUSH_PULL_3_125_MHZ_DC_25
        • I3cPushPullRate.PUSH_PULL_3_125_MHZ_DC_31_25
        • I3cPushPullRate.PUSH_PULL_5_MHZ_DC_20
        • I3cPushPullRate.PUSH_PULL_5_MHZ_DC_30
        • I3cPushPullRate.PUSH_PULL_5_MHZ_DC_40
        • I3cPushPullRate.PUSH_PULL_5_MHZ_DC_50
        • I3cPushPullRate.PUSH_PULL_6_25_MHZ_DC_25
        • I3cPushPullRate.PUSH_PULL_6_25_MHZ_DC_37_5
        • I3cPushPullRate.PUSH_PULL_6_25_MHZ_DC_50
        • I3cPushPullRate.PUSH_PULL_7_5_MHZ_DC_30
        • I3cPushPullRate.PUSH_PULL_7_5_MHZ_DC_45
        • I3cPushPullRate.PUSH_PULL_10_MHZ_DC_40
        • I3cPushPullRate.PUSH_PULL_12_5_MHZ_DC_50
        • I3cPushPullRate.PUSH_PULL_1_MHZ_DC_40
        • I3cPushPullRate.PUSH_PULL_400_KHZ_DC_46
        • I3cPushPullRate.PUSH_PULL_100_KHZ_DC_34
      • I3cOpenDrainRate
        • I3cOpenDrainRate.OPEN_DRAIN_100_KHZ
        • I3cOpenDrainRate.OPEN_DRAIN_400_KHZ
        • I3cOpenDrainRate.OPEN_DRAIN_1_MHZ
        • I3cOpenDrainRate.OPEN_DRAIN_2_MHZ
        • I3cOpenDrainRate.OPEN_DRAIN_4_17_MHZ
      • I3cDriveStrength
        • I3cDriveStrength.STANDARD
        • I3cDriveStrength.FAST
      • I3cSdaPullUp
        • I3cSdaPullUp.AUTO
        • I3cSdaPullUp.OFF
        • I3cSdaPullUp.ON
      • I3cTransferDirection
        • I3cTransferDirection.WRITE
        • I3cTransferDirection.READ
      • I3cTransferFlags
        • I3cTransferFlags.NONE
        • I3cTransferFlags.NONSTOP
        • I3cTransferFlags.START_WITH_7E
      • I3cEvent
        • I3cEvent.IBI
        • I3cEvent.CR
        • I3cEvent.HJ
      • I3cTransport
        • I3cTransport.AUTO
        • I3cTransport.BULK
        • I3cTransport.HID
    • I3C — target mode
      • I3cTargetMemoryLayout
        • I3cTargetMemoryLayout.MEMORY_1_BYTE_X_1024_REGS
        • I3cTargetMemoryLayout.MEMORY_2_BYTES_X_512_REGS
        • I3cTargetMemoryLayout.MEMORY_4_BYTES_X_256_REGS
      • I3cTargetDcr
        • I3cTargetDcr.SECONDARY_CONTROLLER
        • I3cTargetDcr.MEMORY
        • I3cTargetDcr.MICROCONTROLLER
      • I3cTargetResetDefByte
        • I3cTargetResetDefByte.NO_RESET
        • I3cTargetResetDefByte.RESET_I3C_PERIPHERAL
        • I3cTargetResetDefByte.RESET_WHOLE_TARGET
        • I3cTargetResetDefByte.RESET_DEBUG_NETWORK
        • I3cTargetResetDefByte.VIRTUAL_TARGET_DETECT
        • I3cTargetResetDefByte.RETURN_TIME_RESET_PERIPHERAL
        • I3cTargetResetDefByte.RETURN_TIME_RESET_WHOLE_TARGET
        • I3cTargetResetDefByte.RETURN_TIME_DEBUG_NETWORK_RESET
        • I3cTargetResetDefByte.RETURN_VIRTUAL_TARGET_INDICATION
      • I3cTargetBusEventKind
        • I3cTargetBusEventKind.WRITE_TRANSFER
        • I3cTargetBusEventKind.READ_TRANSFER
        • I3cTargetBusEventKind.CCC_TRANSFER
        • I3cTargetBusEventKind.DYN_ADDR_CHANGE
    • I3C — connector
      • I3cConnectorPort
        • I3cConnectorPort.LV
        • I3cConnectorPort.HV
      • I3cConnectorEvent
        • I3cConnectorEvent.PLUGGED
        • I3cConnectorEvent.UNPLUGGED
      • I3cConnectorType
        • I3cConnectorType.UNIDENTIFIED
        • I3cConnectorType.HARNESS
        • I3cConnectorType.QWIIC_ADAPTER
        • I3cConnectorType.SENSEPEEK
        • I3cConnectorType.NONE
        • I3cConnectorType.ERROR
    • UART
      • UartBaudRate
        • UartBaudRate.BAUD_600
        • UartBaudRate.BAUD_1200
        • UartBaudRate.BAUD_2400
        • UartBaudRate.BAUD_4800
        • UartBaudRate.BAUD_9600
        • UartBaudRate.BAUD_14400
        • UartBaudRate.BAUD_19200
        • UartBaudRate.BAUD_38400
        • UartBaudRate.BAUD_56000
        • UartBaudRate.BAUD_57600
        • UartBaudRate.BAUD_115200
      • UartParity
        • UartParity.NONE
        • UartParity.EVEN
        • UartParity.ODD
      • UartDataSize
        • UartDataSize.BITS_7
        • UartDataSize.BITS_8
      • UartStopBit
        • UartStopBit.ONE
        • UartStopBit.TWO
      • UartHwHandshake
        • UartHwHandshake.DISABLED
        • UartHwHandshake.ENABLED
    • SPI
      • SpiMode
        • SpiMode.MODE_0
        • SpiMode.MODE_1
        • SpiMode.MODE_2
        • SpiMode.MODE_3
      • SpiBitOrder
        • SpiBitOrder.MSB
        • SpiBitOrder.LSB
      • SpiDataWidth
        • SpiDataWidth.BITS_8
        • SpiDataWidth.BITS_16
      • SpiChipSelect
        • SpiChipSelect.CS_0
        • SpiChipSelect.CS_1
        • SpiChipSelect.CS_2
        • SpiChipSelect.CS_3
      • SpiChipSelectPolarity
        • SpiChipSelectPolarity.ACTIVE_LOW
        • SpiChipSelectPolarity.ACTIVE_HIGH
      • SpiTransport
        • SpiTransport.AUTO
        • SpiTransport.BULK
        • SpiTransport.HID
    • SPI — target mode
      • SpiTargetModel
        • SpiTargetModel.MEMORY
        • SpiTargetModel.FLASH
        • SpiTargetModel.REGISTER_MAP
      • SpiTargetEngine
        • SpiTargetEngine.DMA
        • SpiTargetEngine.ISR
      • SpiTargetBusEventKind
        • SpiTargetBusEventKind.TRANSACTION_COMPLETE
    • GPIO
      • GpioPinNumber
        • GpioPinNumber.PIN_1
        • GpioPinNumber.PIN_2
        • GpioPinNumber.PIN_3
        • GpioPinNumber.PIN_4
        • GpioPinNumber.PIN_5
        • GpioPinNumber.PIN_6
      • GpioFunctionality
        • GpioFunctionality.DIGITAL_INPUT
        • GpioFunctionality.DIGITAL_OUTPUT
      • GpioLogicLevel
        • GpioLogicLevel.LOW
        • GpioLogicLevel.HIGH
      • GpioTriggerType
        • GpioTriggerType.RISING_EDGE
        • GpioTriggerType.FALLING_EDGE
        • GpioTriggerType.BOTH_EDGES
    • The bulk transfer plane
      • BulkOperation
        • BulkOperation.SPI_CONTROLLER_WRITE
        • BulkOperation.SPI_CONTROLLER_READ
        • BulkOperation.SPI_TARGET_WRITE_MEMORY
        • BulkOperation.SPI_TARGET_READ_MEMORY
        • BulkOperation.I2C_TARGET_WRITE_MEMORY
        • BulkOperation.I2C_TARGET_READ_MEMORY
        • BulkOperation.I2C_CONTROLLER_WRITE
        • BulkOperation.I2C_CONTROLLER_READ
        • BulkOperation.I3C_CONTROLLER_TRANSFER
    • Status codes
      • StatusCode
        • StatusCode.SUCCESS
        • StatusCode.FW_UNSUPPORTED_COMMAND
        • StatusCode.FW_INVALID_COMMAND
        • StatusCode.FW_FULL_RECEPTION_QUEUE
        • StatusCode.FW_INVALID_PARAMETER
        • StatusCode.FW_FEATURE_NOT_SUPPORTED_BY_HARDWARE
        • StatusCode.FW_INTERFACE_NOT_INITIALIZED
        • StatusCode.FW_INTERFACE_ALREADY_INITIALIZED
        • StatusCode.FW_BUS_NOT_SUPPORTED
        • StatusCode.FW_BUS_TIMEOUT
        • StatusCode.FW_RX_FIFO_FULL
        • StatusCode.FW_TX_FIFO_EMPTY
        • StatusCode.FW_UNHANDLED_ERROR
        • StatusCode.FW_INTERFACE_UNAVAILABLE_IN_CDC_MODE
        • StatusCode.FW_RESOURCE_BUSY
        • StatusCode.FW_VOLTAGE_OUT_OF_RANGE
        • StatusCode.FW_EXTERNAL_VOLTAGE_DETECTED
        • StatusCode.FW_VOLTAGE_ADJUSTMENT_FAILURE
        • StatusCode.FW_I3C_PORTS_NOT_POWERED
        • StatusCode.FW_BOTH_I3C_PORTS_POWERED
        • StatusCode.FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_LV
        • StatusCode.FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_HV
        • StatusCode.FW_SETTINGS_SAVE_FAILED
        • StatusCode.FW_SHELL_MODE_ACTIVE
        • StatusCode.FW_I2C_PULLUP_RESISTOR_SETTING_FAILURE
        • StatusCode.FW_I2C_ARBITRATION_LOST
        • StatusCode.FW_I2C_NACK_ADDRESS
        • StatusCode.FW_I2C_NACK_BYTE
        • StatusCode.FW_I2C_BIT_ERROR
        • StatusCode.FW_I2C_START_STOP_ERROR
        • StatusCode.FW_I2C_BUSY
        • StatusCode.FW_I2C_TIMEOUT_CONTINUE_TRANSFER
        • StatusCode.FW_I2C_TIMEOUT_WAITING_BUS_EVENT
        • StatusCode.FW_I2C_TIMEOUT_SCL_LOW
        • StatusCode.FW_I2C_DMA_REQUEST_FAIL
        • StatusCode.FW_I2C_INVALID_PARAMETER
        • StatusCode.FW_I2C_NO_TRANSFER_IN_PROGRESS
        • StatusCode.FW_I2C_UNEXPECTED_STATE
        • StatusCode.FW_I2C_BUS_WITH_NO_TARGETS_CONNECTED
        • StatusCode.FW_I2C_TARGET_STAGING_UNAVAILABLE
        • StatusCode.FW_I2C_TARGET_SURPASSED_MEMORY_SIZE
        • StatusCode.FW_I2C_TARGET_PAYLOAD_TRANSFER_FAILED
        • StatusCode.FW_I2C_TARGET_WRONG_MODEL
        • StatusCode.FW_I2C_TARGET_INVALID_CONFIG
        • StatusCode.FW_I2C_TARGET_REGION_TABLE_FULL
        • StatusCode.FW_I2C_ROLE_CONFLICT
        • StatusCode.FW_SPI_TARGET_STAGING_UNAVAILABLE
        • StatusCode.FW_SPI_TARGET_SURPASSED_MEMORY_SIZE
        • StatusCode.FW_SPI_TARGET_PAYLOAD_TRANSFER_FAILED
        • StatusCode.FW_SPI_TARGET_WRONG_MODEL
        • StatusCode.FW_SPI_TARGET_INVALID_CONFIG
        • StatusCode.FW_SPI_TARGET_REGION_TABLE_FULL
        • StatusCode.FW_SPI_ROLE_CONFLICT
        • StatusCode.FW_UART_IN_VCOM_PORT_MODE
        • StatusCode.FW_GPIO_NOT_CONFIGURED
        • StatusCode.FW_GPIO_WRONG_CONFIGURATION
        • StatusCode.FW_FULL_TARGET_DEVICES_TABLE
        • StatusCode.FW_NOT_ENOUGH_SPACE_IN_TARGET_DEVICES_TABLE
        • StatusCode.FW_TARGET_DEVICES_TABLE_OVERFLOW
        • StatusCode.FW_TARGET_ADDRESS_NOT_FOUND_IN_THE_TABLE
        • StatusCode.FW_REPEATED_TARGET_ADDRESS
        • StatusCode.FW_INVALID_TARGET_ADDRESS
        • StatusCode.FW_I3C_BUS_INIT_NACK_RSTDAA
        • StatusCode.FW_I3C_BUS_INIT_NACK_SETDASA
        • StatusCode.FW_I3C_BUS_INIT_NACK_SETAASA
        • StatusCode.FW_I3C_BUS_INIT_NACK_ENTDAA
        • StatusCode.FW_I3C_NACK_ADDRESS
        • StatusCode.FW_I3C_I2C_NACK_BYTE
        • StatusCode.FW_I3C_TRANSFER_ABORTED_BY_CONTROLLER
        • StatusCode.FW_I3C_TRANSFER_MWL_REACHED
        • StatusCode.FW_I3C_TRANSFER_MRL_REACHED
        • StatusCode.FW_I3C_TRANSFER_PARITY_ERROR
        • StatusCode.FW_IBI_REQUEST_ACCEPTED
        • StatusCode.FW_IBI_REQUEST_ACCEPTED_WITH_PAYLOAD
        • StatusCode.FW_IBI_REQUEST_REJECTED
        • StatusCode.FW_HJ_REQUEST_ACCEPTED
        • StatusCode.FW_HJ_REQUEST_REJECTED
        • StatusCode.FW_REGISTER_ADDRESS_OUT_OF_RANGE
        • StatusCode.FW_SURPASSED_MEMORY_SIZE
        • StatusCode.FW_I3C_TRANSFER_CRC_ERROR
        • StatusCode.FW_I3C_ENGINE_BUSY
        • StatusCode.FW_I3C_TRANSFER_INCOMPLETE_READ
        • StatusCode.FW_I3C_I2C_CLOCK_STRETCHING_ACTIVE
        • StatusCode.FW_SWD_HOST_SESSION_ACTIVE
        • StatusCode.FW_TEARDOWN_PENDING
        • StatusCode.FW_PIN1_OVERVOLTAGE
        • StatusCode.SDK_ERROR_TIMEOUT
        • StatusCode.SDK_ERROR_DISCONNECT
        • StatusCode.SDK_ERROR_UNEXPECTED_RESPONSE
        • StatusCode.SDK_ERROR_WRONG_REQUEST
        • StatusCode.SDK_ERROR_WRONG_RESPONSE
        • StatusCode.SDK_ERROR_BULK_UNAVAILABLE
  • Data types
    • Device identity and capabilities
      • Capabilities you can ask about in advance
        • DeviceCapabilities
        • BulkTransportCapability
        • DeviceInfo
    • Bring-up results
      • BringUpResult
        • BringUpResult.settings_applied
        • BringUpResult.already_initialized
        • BringUpResult.refusal
    • USB configuration
      • UsbConfig
        • UsbConfig.webusb_enabled
        • UsbConfig.cdc_enabled
        • UsbConfig.cdc_mode
      • WebusbState
        • WebusbState.DISABLED
        • WebusbState.ENABLED
        • WebusbState.NO_CHANGE
      • CdcState
        • CdcState.DISABLED
        • CdcState.ENABLED
        • CdcState.NO_CHANGE
      • CdcMode
        • CdcMode.UART_PASSTHROUGH
        • CdcMode.TERMINAL
        • CdcMode.NOVA_COMPAT
        • CdcMode.RS485
        • CdcMode.CANFD
    • Voltage rails
      • AnalogMeasurements
        • AnalogMeasurements.vtarg_i2c_spi_uart_gpio_mv
        • AnalogMeasurements.vtarg_i3c_hv_mv
        • AnalogMeasurements.vtarg_i3c_lv_mv
        • AnalogMeasurements.vcca_mv
        • AnalogMeasurements.vcca_i3c_mv
        • AnalogMeasurements.vddio2_mv
    • I2C
      • I2cScanResult
        • I2cScanResult.addresses_10bit
        • I2cScanResult.addresses_7bit
    • I2C — target mode
      • I2cTargetBusEvent
        • I2cTargetBusEvent.kind
        • I2cTargetBusEvent.target_address
        • I2cTargetBusEvent.memory_address
        • I2cTargetBusEvent.payload_length
    • SPI — target mode
      • SpiTargetBusEvent
        • SpiTargetBusEvent.kind
        • SpiTargetBusEvent.chip_select
        • SpiTargetBusEvent.memory_address
        • SpiTargetBusEvent.payload_length
        • SpiTargetBusEvent.frame_length
    • I3C
      • I3cTargetInfo
        • I3cTargetInfo.static_address
        • I3cTargetInfo.dynamic_address
        • I3cTargetInfo.pid
        • I3cTargetInfo.bcr
        • I3cTargetInfo.dcr
        • I3cTargetInfo.max_read_length
        • I3cTargetInfo.max_write_length
        • I3cTargetInfo.ibi_payload_size
      • I3cTargetConfiguration
        • I3cTargetConfiguration.is_legacy_i2c_target
        • I3cTargetConfiguration.ibi_request
        • I3cTargetConfiguration.cr_request
        • I3cTargetConfiguration.daa_use_setdasa
        • I3cTargetConfiguration.daa_use_setaasa
        • I3cTargetConfiguration.daa_use_entdaa
        • I3cTargetConfiguration.ibi_timestamp_enable
        • I3cTargetConfiguration.pending_read_capability
        • I3cTargetConfiguration.to_byte()
      • I3cTargetBusEvent
        • I3cTargetBusEvent.kind
        • I3cTargetBusEvent.target_address
        • I3cTargetBusEvent.memory_address
        • I3cTargetBusEvent.payload
      • I3cGetMrlResult
        • I3cGetMrlResult.max_read_length
        • I3cGetMrlResult.ibi_payload_size
  • Notifications
    • Subscribing
    • Raw field values
    • The three target bus events are not the same shape
    • When an event arrives as UnknownNotification
    • Reference
      • Subscription
        • Subscription.unsubscribe()
        • Subscription.event_filter
        • Subscription.callback
        • Subscription.active
      • Notification
        • Notification.payload
      • UartRxNotification
        • UartRxNotification.data
      • GpioInterruptNotification
        • GpioInterruptNotification.logic_level
        • GpioInterruptNotification.pin_number
        • GpioInterruptNotification.triggered_edge
      • I3cIbiNotification
        • I3cIbiNotification.address
        • I3cIbiNotification.payload
      • I3cHotJoinNotification
        • I3cHotJoinNotification.bcr
        • I3cHotJoinNotification.dcr
        • I3cHotJoinNotification.dynamic_address
        • I3cHotJoinNotification.pid
      • I2cTargetBusEventNotification
        • I2cTargetBusEventNotification.event
        • I2cTargetBusEventNotification.memory_address
        • I2cTargetBusEventNotification.payload_length
        • I2cTargetBusEventNotification.target_address
      • SpiTargetBusEventNotification
        • SpiTargetBusEventNotification.chip_select
        • SpiTargetBusEventNotification.event
        • SpiTargetBusEventNotification.memory_address
        • SpiTargetBusEventNotification.payload_length
      • I3cTargetBusEventNotification
        • I3cTargetBusEventNotification.kind
        • I3cTargetBusEventNotification.memory_address
        • I3cTargetBusEventNotification.payload
        • I3cTargetBusEventNotification.target_address
      • I3cConnectorEventNotification
        • I3cConnectorEventNotification.connector_type
        • I3cConnectorEventNotification.event
        • I3cConnectorEventNotification.port
      • UnknownNotification

Project information

  • About
    • The hardware
    • The SDK family
    • License
  • Support
pycosmicsdk
  • Search


© Copyright .

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