@web-font-path: "roboto-debian.css";
Loading...
Searching...
No Matches
API Documentation
These are the libraries supplied in the Raspberry Pi Pico SDK
[detail level 123]
 boot_picobin_headersConstants for PICOBIN format
 boot_picoboot_headersHeader file for the PICOBOOT USB interface exposed by an RP2xxx chip in BOOTSEL mode
 boot_uf2_headersHeader file for the UF2 format supported by a RP2xxx chip in BOOTSEL mode
 pico_baseCore types and macros for the Raspberry Pi Pico SDK
 pico_usb_reset_interface_headersDefinition for the reset interface that may be exposed by the pico_stdio_usb library
 pico_bit_opsOptimized bit manipulation functions
 pico_binary_infoBinary info is intended for embedding machine readable information with the binary in FLASH
 pico_dividerOptimized 32 and 64 bit division functions accelerated by the RP2040 hardware divider
 pico_syncSynchronization primitives and mutual exclusion
 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_timeAPI for accurate timestamps, sleeping, and time based callbacks
 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_utilUseful data structures and utility functions
 datetimeDate/Time formatting
 pheapPairing Heap Implementation
 queueMulti-core and IRQ safe queue implementation
 pico_stdlibAggregation of a core subset of Raspberry Pi Pico SDK libraries used by most executables along with some additional utility methods
 hardware_claimLightweight hardware resource management API
 pico_platformMacros and definitions (and functions when included by non assembly code) for the RP2 family device / architecture to provide a common abstraction over low level compiler / platform specifics
 boot_stage2Second stage boot loaders responsible for setting up external flash
 hardware_baseLow-level types and (atomic) accessors for memory-mapped hardware registers
 hardware_dmaDMA Controller API
 channel_configDMA channel configuration
 hardware_exceptionMethods for setting processor exception handlers
 hardware_flashLow level flash programming and erase API
 hardware_gpioGeneral Purpose Input/Output (GPIO) API
 hardware_interpHardware Interpolator API
 interp_configInterpolator configuration
 hardware_irqHardware interrupt handling API
 hardware_pioProgrammable I/O (PIO) API
 sm_configPIO state machine configuration
 pio_instructionsPIO instruction encoding
 hardware_pllPhase Locked Loop control APIs
 hardware_spiHardware SPI API
 hardware_syncLow level hardware spin locks, barrier and processor event APIs
 hardware_ticksHardware Tick API
 hardware_vregVoltage Regulation API
 hardware_xip_cacheLow-level cache maintenance operations for the XIP cache
 hardware_xoscCrystal Oscillator (XOSC) API
 pico_aon_timerHigh Level "Always on Timer" Abstraction
 pico_bootromAccess to functions and data in the bootrom
 pico_bootsel_via_double_resetOptional support to make fast double reset of the system enter BOOTSEL mode
 pico_unique_idUnique device ID access API
 pico_atomicHelper implementations for C11 atomics
 pico_doubleOptimized double-precision floating point functions
 pico_int64_opsOptimized replacement implementations of the compiler built-in 64 bit multiplication
 pico_flashHigh level flash API
 pico_floatOptimized single-precision floating point functions
 pico_mem_opsProvides optimized replacement implementations of the compiler built-in memcpy, memset and related functions
 pico_mallocMulti-core safety for malloc, calloc and free
 pico_printfCompact replacement for printf by Marco Paland (info@.nosp@m.pala.nosp@m.nd.co.nosp@m.m)
 pico_randRandom Number Generator API
 tinyusb_deviceTinyUSB Device-mode support for the RP2040. The TinyUSB documentation site can be found here
 tinyusb_hostTinyUSB Host-mode support for the RP2040
 pico_i2c_slaveFunctions providing an interrupt driven I2C slave interface
 pico_async_contextAn async_context provides a logically single-threaded context for performing work, and responding to asynchronous events. Thus an async_context instance is suitable for servicing third-party libraries that are not re-entrant
 async_context_freertosAsync_context_freertos provides an implementation of async_context that handles asynchronous work in a separate FreeRTOS task
 async_context_pollAsync_context_poll provides an implementation of async_context that is intended for use with a simple polling loop on one core. It is not thread safe
 async_context_threadsafe_backgroundAsync_context_threadsafe_background provides an implementation of async_context that handles asynchronous work in a low priority IRQ, and there is no need for the user to poll for work
 pico_btstackIntegration/wrapper libraries for BTstack the documentation for which is here
 pico_cyw43_driverA wrapper around the lower level cyw43_driver, that integrates it with pico_async_context for handling background work
 pico_btstack_cyw43Low-level Bluetooth HCI support
 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
 pico_lwip_nosysGlue library for integration lwIP in NO_SYS=1 mode with the SDK
 pico_cyw43_archArchitecture for integrating the CYW43 driver (for the wireless on Pico W) and lwIP (for TCP/IP stack) into the SDK. It is also necessary for accessing the on-board LED on Pico W
 cyw43_driverDriver used for Pico W wireless
 pico_crt0Provides the default linker scripts and the program entry/exit point
 pico_clib_interfaceProvides the necessary glue code required by the particular C/C++ runtime being used
 pico_cxx_optionsNon-code library controlling C++ related compile options
 pico_standard_binary_infoIncludes default information about the binary that can be displayed by picotool
 pico_standard_linkSetup for link options for a standard SDK executable
 pico_runtime_initMain runtime initialization functions required to set up the runtime environment before entering main
 pico_runtimeBasic runtime support for running pre-main initializers provided by other libraries
 pico_stdioCustomized stdio support allowing for input and output from UART, USB, semi-hosting etc
 pico_stdio_semihostingExperimental support for stdout using RAM semihosting
 pico_stdio_uartSupport for stdin/stdout using UART
 pico_stdio_rttSupport for stdin/stdout using SEGGER RTT
 pico_stdio_usbSupport for stdin/stdout over USB serial (CDC)
 hardware_adcAnalog to Digital Converter (ADC) API
 hardware_clocksClock Management API
 hardware_dividerRP2040 Low Low-level hardware-divider API. Non-RP2040 platforms provide software versions of all the functions
 hardware_i2cI2C Controller API
 hardware_pwmHardware Pulse Width Modulation (PWM) API
 hardware_resetsHardware Reset API
 hardware_rtcHardware Real Time Clock API
 hardware_timerLow-level hardware timer API
 hardware_uartHardware UART API
 hardware_watchdogHardware Watchdog Timer API
 pico_multicoreAdds support for running code on, and interacting with the second processor core (core 1)
 fifoFunctions for the inter-core FIFOs
 doorbellFunctions related to doorbells which a core can use to raise IRQs on itself or the other core
 lockoutFunctions to enable one core to force the other core to pause execution in a known state