API Documentation
These are the libraries supplied in the Raspberry Pi Pico SDK
[detail level 1234]
 Hardware APIs
 hardware_adc
 hardware_base
 hardware_claim
 hardware_clocks
 hardware_divider
 hardware_dma
 channel_configDMA channel configurationA DMA channel needs to be configured, these functions provide handy helpers to set up configuration structures. See dma_channel_config
 hardware_exception
 hardware_flash
 hardware_gpio
 hardware_i2c
 hardware_interp
 interp_configInterpolator configurationEach interpolator needs to be configured, these functions provide handy helpers to set up configuration structures
 hardware_irq
 hardware_pio
 sm_configPIO state machine configurationA PIO block needs to be configured, these functions provide helpers to set up configuration structures. See pio_sm_set_config
 pio_instructionsPIO instruction encodingFunctions for generating PIO instruction encodings programmatically. In debug builds PARAM_ASSERTIONS_ENABLED_PIO_INSTRUCTIONS can be set to 1 to enable validation of encoding function parameters
 hardware_pll
 hardware_pwm
 hardware_resets
 hardware_rtc
 hardware_spi
 hardware_sync
 hardware_timer
 hardware_uart
 hardware_vreg
 hardware_watchdog
 hardware_xosc
 High Level APIs
 pico_async_context
 async_context_freertos
 async_context_poll
 async_context_threadsafe_background
 pico_multicore
 fifoFunctions for the inter-core FIFOs
 lockoutFunctions to enable one core to force the other core to pause execution in a known state
 pico_i2c_slave
 pico_rand
 pico_stdlib
 pico_sync
 critical_sectionCritical Section API for short-lived mutual exclusion safe for IRQ and multi-core
 lock_coreBase synchronization/lock primitive support
 mutexMutex API for non IRQ mutual exclusion between cores
 semSemaphore API for restricting access to a resource
 pico_time
 timestampTimestamp functions relating to points in time (including the current time)
 sleepSleep functions for delaying execution in a lower power state
 alarmAlarm functions for scheduling future execution
 repeating_timerRepeating Timer functions for simple scheduling of repeated execution
 pico_unique_id
 pico_utilUseful data structures and utility functions
 datetimeDate/Time formatting
 pheap
 queue
 Third-party Libraries
 tinyusb_device
 tinyusb_host
 Networking Libraries
 pico_btstackIntegration/wrapper libraries for BTstack the documentation for which is here
 pico_lwipIntegration/wrapper libraries for lwIP the documentation for which is here
 pico_lwip_archLwIP compiler adapters. This is not included by default in pico_lwip in case you wish to implement your own
 pico_lwip_freertosGlue library for integration lwIP in NO_SYS=0 mode with the SDK. Simple init and deinit are all that is required to hook up lwIP (with full blocking API support) via an async_context instance
 pico_lwip_nosysGlue library for integration lwIP in NO_SYS=1 mode with the SDK. Simple init and deinit are all that is required to hook up lwIP via an async_context instance
 pico_cyw43_driver
 Pico_bstack_cyw43Low-level Bluetooth HCI support
 pico_cyw43_arch
 cyw43_driverDriver used for Pico W wireless
 cyw43_llLow Level CYW43 driver interface
 Runtime Infrastructure
 boot_stage2Second stage boot loaders responsible for setting up external flash
 pico_base
 pico_binary_info
 pico_bit_ops
 pico_bootrom
 pico_bootsel_via_double_reset
 pico_cxx_optionsNon-code library controlling C++ related compile options
 pico_divider
 pico_double
 pico_float
 pico_int64_ops
 pico_malloc
 pico_mem_ops
 pico_platform
 pico_printf
 pico_runtime
 pico_stdio
 pico_stdio_semihostingExperimental support for stdout using RAM semihostingLinking this library or calling pico_enable_stdio_semihosting(TARGET ENABLED) in the CMake (which achieves the same thing) will add semihosting to the drivers used for standard output
 pico_stdio_uartSupport for stdin/stdout using UARTLinking this library or calling pico_enable_stdio_uart(TARGET ENABLED) in the CMake (which achieves the same thing) will add UART to the drivers used for standard input/output
 pico_stdio_usbSupport for stdin/stdout over USB serial (CDC)Linking this library or calling pico_enable_stdio_usb(TARGET ENABLED) in the CMake (which achieves the same thing) will add USB CDC to the drivers used for standard input/output
 pico_standard_linkStandard link step providing the basics for creating a runnable binary
 External API Headers
 boot_picoboot
 boot_uf2
 pico_usb_reset_interface