1 <!-- HTML header for doxygen 1.8.20-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.9.4"/>
8 <meta name="viewport" content="width=device-width, initial-scale=1"/>
9 <title>Raspberry Pi Pico SDK: API Documentation</title>
10 <!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/searchdata.js"></script>
19 <script type="text/javascript" src="search/search.js"></script>
20 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
22 <link href="normalise.css" rel="stylesheet" type="text/css"/>
23 <link href="main.css" rel="stylesheet" type="text/css"/>
24 <link href="styles.css" rel="stylesheet" type="text/css"/>
27 <div class="navigation-mobile">
28 <div class="logo--mobile">
29 <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
31 <div class="navigation-toggle">
32 <span class="line-1"></span>
36 <span class="line-3"></span>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42 <span style="display: inline-block; margin-top: 10px;">
46 <div class="navigation-footer">
47 <img src="logo-mobile.svg" alt="Raspberry Pi">
48 <a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
50 <!-- <div class="search">
52 <input type="search" name="search" id="search" placeholder="Search">
53 <input type="submit" value="Search">
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
62 <script type="text/javascript" src="menudata.js"></script>
63 <script type="text/javascript" src="menu.js"></script>
64 <script type="text/javascript">
65 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
67 initMenu('',true,false,'search.php','Search');
68 $(document).ready(function() { init_search(); });
72 <div id="main-nav"></div>
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
76 <div id="nav-tree-contents">
77 <div id="nav-sync" class="sync"></div>
80 <div id="splitbar" style="-moz-user-select:none;"
81 class="ui-resizable-handle">
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('modules.html',''); initResizable(); });
89 <div id="doc-content">
90 <!-- window showing the filter options -->
91 <div id="MSearchSelectWindow"
92 onmouseover="return searchBox.OnSearchSelectShow()"
93 onmouseout="return searchBox.OnSearchSelectHide()"
94 onkeydown="return searchBox.OnSearchSelectKey(event)">
97 <!-- iframe showing the search results (closed by default) -->
98 <div id="MSearchResultsWindow">
99 <iframe src="javascript:void(0)" frameborder="0"
100 name="MSearchResults" id="MSearchResults">
105 <div class="headertitle"><div class="title">API Documentation</div></div>
107 <div class="contents">
108 <div class="textblock">These are the libraries supplied in the Raspberry Pi Pico SDK</div><div class="directory">
109 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
110 <tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><a class="el" href="group__hardware.html" target="_self">Hardware APIs</a></td><td class="desc"></td></tr>
111 <tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__adc.html" target="_self">hardware_adc</a></td><td class="desc">Analog to Digital Converter (ADC) API </td></tr>
112 <tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__base.html" target="_self">hardware_base</a></td><td class="desc">Low-level types and (atomic) accessors for memory-mapped hardware registers </td></tr>
113 <tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__claim.html" target="_self">hardware_claim</a></td><td class="desc">Lightweight hardware resource management API </td></tr>
114 <tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__clocks.html" target="_self">hardware_clocks</a></td><td class="desc">Clock Management API </td></tr>
115 <tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__divider.html" target="_self">hardware_divider</a></td><td class="desc">RP2040 Low Low-level hardware-divider API. Non-RP2040 platforms provide software versions of all the functions </td></tr>
116 <tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__dcp.html" target="_self">hardware_dcp</a></td><td class="desc">Assembly macros for the Double Coprocessor </td></tr>
117 <tr id="row_0_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_6_" class="arrow" onclick="toggleFolder('0_6_')">►</span><a class="el" href="group__hardware__dma.html" target="_self">hardware_dma</a></td><td class="desc">DMA Controller API </td></tr>
118 <tr id="row_0_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__channel__config.html" target="_self">channel_config</a></td><td class="desc">DMA channel configuration </td></tr>
119 <tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__exception.html" target="_self">hardware_exception</a></td><td class="desc">Methods for setting processor exception handlers </td></tr>
120 <tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__flash.html" target="_self">hardware_flash</a></td><td class="desc">Low level flash programming and erase API </td></tr>
121 <tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__gpio.html" target="_self">hardware_gpio</a></td><td class="desc">General Purpose Input/Output (GPIO) API </td></tr>
122 <tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__hazard3.html" target="_self">hardware_hazard3</a></td><td class="desc">Accessors for Hazard3-specific RISC-V CSRs, and intrinsics for Hazard3 custom instructions </td></tr>
123 <tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__i2c.html" target="_self">hardware_i2c</a></td><td class="desc">I2C Controller API </td></tr>
124 <tr id="row_0_12_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_12_" class="arrow" onclick="toggleFolder('0_12_')">►</span><a class="el" href="group__hardware__interp.html" target="_self">hardware_interp</a></td><td class="desc">Hardware Interpolator API </td></tr>
125 <tr id="row_0_12_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__interp__config.html" target="_self">interp_config</a></td><td class="desc">Interpolator configuration </td></tr>
126 <tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__irq.html" target="_self">hardware_irq</a></td><td class="desc">Hardware interrupt handling API </td></tr>
127 <tr id="row_0_14_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_14_" class="arrow" onclick="toggleFolder('0_14_')">►</span><a class="el" href="group__hardware__pio.html" target="_self">hardware_pio</a></td><td class="desc">Programmable I/O (PIO) API </td></tr>
128 <tr id="row_0_14_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__sm__config.html" target="_self">sm_config</a></td><td class="desc">PIO state machine configuration </td></tr>
129 <tr id="row_0_14_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pio__instructions.html" target="_self">pio_instructions</a></td><td class="desc">PIO instruction encoding </td></tr>
130 <tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__pll.html" target="_self">hardware_pll</a></td><td class="desc">Phase Locked Loop control APIs </td></tr>
131 <tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__powman.html" target="_self">hardware_powman</a></td><td class="desc">Power Management API </td></tr>
132 <tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__pwm.html" target="_self">hardware_pwm</a></td><td class="desc">Hardware Pulse Width Modulation (PWM) API </td></tr>
133 <tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__resets.html" target="_self">hardware_resets</a></td><td class="desc">Hardware Reset API </td></tr>
134 <tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__riscv.html" target="_self">hardware_riscv</a></td><td class="desc">Accessors for standard RISC-V hardware (mainly CSRs) </td></tr>
135 <tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__riscv__platform__timer.html" target="_self">hardware_riscv_platform_timer</a></td><td class="desc">Accessors for standard RISC-V platform timer (mtime/mtimecmp), available on Raspberry Pi microcontrollers with RISC-V processors </td></tr>
136 <tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__rtc.html" target="_self">hardware_rtc</a></td><td class="desc">Hardware Real Time Clock API </td></tr>
137 <tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__rcp.html" target="_self">hardware_rcp</a></td><td class="desc">Inline functions and assembly macros for the Redundancy Coprocessor </td></tr>
138 <tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__spi.html" target="_self">hardware_spi</a></td><td class="desc">Hardware SPI API </td></tr>
139 <tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__sha256.html" target="_self">hardware_sha256</a></td><td class="desc">Hardware SHA-256 Accelerator API </td></tr>
140 <tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__sync.html" target="_self">hardware_sync</a></td><td class="desc">Low level hardware spin locks, barrier and processor event APIs </td></tr>
141 <tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__ticks.html" target="_self">hardware_ticks</a></td><td class="desc">Hardware Tick API </td></tr>
142 <tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__timer.html" target="_self">hardware_timer</a></td><td class="desc">Low-level hardware timer API </td></tr>
143 <tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__uart.html" target="_self">hardware_uart</a></td><td class="desc">Hardware UART API </td></tr>
144 <tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__vreg.html" target="_self">hardware_vreg</a></td><td class="desc">Voltage Regulation API </td></tr>
145 <tr id="row_0_30_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__watchdog.html" target="_self">hardware_watchdog</a></td><td class="desc">Hardware Watchdog Timer API </td></tr>
146 <tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hardware__xosc.html" target="_self">hardware_xosc</a></td><td class="desc">Crystal Oscillator (XOSC) API </td></tr>
147 <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__high__level.html" target="_self">High Level APIs</a></td><td class="desc"></td></tr>
148 <tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__aon__timer.html" target="_self">pico_aon_timer</a></td><td class="desc">High Level "Always on Timer" Abstraction </td></tr>
149 <tr id="row_1_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">►</span><a class="el" href="group__pico__async__context.html" target="_self">pico_async_context</a></td><td class="desc">An <a class="el" href="structasync__context.html">async_context</a> provides a logically single-threaded context for performing work, and responding to asynchronous events. Thus an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> instance is suitable for servicing third-party libraries that are not re-entrant </td></tr>
150 <tr id="row_1_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__async__context__freertos.html" target="_self">async_context_freertos</a></td><td class="desc">Async_context_freertos provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that handles asynchronous work in a separate FreeRTOS task </td></tr>
151 <tr id="row_1_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__async__context__poll.html" target="_self">async_context_poll</a></td><td class="desc">Async_context_poll provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that is intended for use with a simple polling loop on one core. It is not thread safe </td></tr>
152 <tr id="row_1_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__async__context__threadsafe__background.html" target="_self">async_context_threadsafe_background</a></td><td class="desc">Async_context_threadsafe_background provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that handles asynchronous work in a low priority IRQ, and there is no need for the user to poll for work </td></tr>
153 <tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__bootsel__via__double__reset.html" target="_self">pico_bootsel_via_double_reset</a></td><td class="desc">Optional support to make fast double reset of the system enter BOOTSEL mode </td></tr>
154 <tr id="row_1_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__flash.html" target="_self">pico_flash</a></td><td class="desc">High level flash API </td></tr>
155 <tr id="row_1_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__i2c__slave.html" target="_self">pico_i2c_slave</a></td><td class="desc">Functions providing an interrupt driven I2C slave interface </td></tr>
156 <tr id="row_1_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_5_" class="arrow" onclick="toggleFolder('1_5_')">►</span><a class="el" href="group__pico__multicore.html" target="_self">pico_multicore</a></td><td class="desc">Adds support for running code on, and interacting with the second processor core (core 1) </td></tr>
157 <tr id="row_1_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__multicore__fifo.html" target="_self">fifo</a></td><td class="desc">Functions for the inter-core FIFOs </td></tr>
158 <tr id="row_1_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__multicore__doorbell.html" target="_self">doorbell</a></td><td class="desc">Functions related to doorbells which a core can use to raise IRQs on itself or the other core </td></tr>
159 <tr id="row_1_5_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__multicore__lockout.html" target="_self">lockout</a></td><td class="desc">Functions to enable one core to force the other core to pause execution in a known state </td></tr>
160 <tr id="row_1_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__rand.html" target="_self">pico_rand</a></td><td class="desc">Random Number Generator API </td></tr>
161 <tr id="row_1_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__sha256.html" target="_self">pico_sha256</a></td><td class="desc">SHA-256 Hardware Accelerated implementation </td></tr>
162 <tr id="row_1_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__stdlib.html" target="_self">pico_stdlib</a></td><td class="desc">Aggregation of a core subset of Raspberry Pi Pico SDK libraries used by most executables along with some additional utility methods </td></tr>
163 <tr id="row_1_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_9_" class="arrow" onclick="toggleFolder('1_9_')">►</span><a class="el" href="group__pico__sync.html" target="_self">pico_sync</a></td><td class="desc">Synchronization primitives and mutual exclusion </td></tr>
164 <tr id="row_1_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__critical__section.html" target="_self">critical_section</a></td><td class="desc">Critical Section API for short-lived mutual exclusion safe for IRQ and multi-core </td></tr>
165 <tr id="row_1_9_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__lock__core.html" target="_self">lock_core</a></td><td class="desc">Base synchronization/lock primitive support </td></tr>
166 <tr id="row_1_9_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__mutex.html" target="_self">mutex</a></td><td class="desc">Mutex API for non IRQ mutual exclusion between cores </td></tr>
167 <tr id="row_1_9_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__sem.html" target="_self">sem</a></td><td class="desc">Semaphore API for restricting access to a resource </td></tr>
168 <tr id="row_1_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_10_" class="arrow" onclick="toggleFolder('1_10_')">►</span><a class="el" href="group__pico__time.html" target="_self">pico_time</a></td><td class="desc">API for accurate timestamps, sleeping, and time based callbacks </td></tr>
169 <tr id="row_1_10_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__timestamp.html" target="_self">timestamp</a></td><td class="desc">Timestamp functions relating to points in time (including the current time) </td></tr>
170 <tr id="row_1_10_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__sleep.html" target="_self">sleep</a></td><td class="desc">Sleep functions for delaying execution in a lower power state </td></tr>
171 <tr id="row_1_10_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__alarm.html" target="_self">alarm</a></td><td class="desc">Alarm functions for scheduling future execution </td></tr>
172 <tr id="row_1_10_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__repeating__timer.html" target="_self">repeating_timer</a></td><td class="desc">Repeating Timer functions for simple scheduling of repeated execution </td></tr>
173 <tr id="row_1_11_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__unique__id.html" target="_self">pico_unique_id</a></td><td class="desc">Unique device ID access API </td></tr>
174 <tr id="row_1_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_12_" class="arrow" onclick="toggleFolder('1_12_')">►</span><a class="el" href="group__pico__util.html" target="_self">pico_util</a></td><td class="desc">Useful data structures and utility functions </td></tr>
175 <tr id="row_1_12_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__util__datetime.html" target="_self">datetime</a></td><td class="desc">Date/Time formatting </td></tr>
176 <tr id="row_1_12_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__util__pheap.html" target="_self">pheap</a></td><td class="desc">Pairing Heap Implementation </td></tr>
177 <tr id="row_1_12_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__queue.html" target="_self">queue</a></td><td class="desc">Multi-core and IRQ safe queue implementation </td></tr>
178 <tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><a class="el" href="group__third__party.html" target="_self">Third-party Libraries</a></td><td class="desc"></td></tr>
179 <tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__tinyusb__device.html" target="_self">tinyusb_device</a></td><td class="desc"><a href="https://github.com/hathach/tinyusb">TinyUSB</a> Device-mode support for the RP2040. The TinyUSB documentation site can be found <a href="https://docs.tinyusb.org/en/latest/">here</a> </td></tr>
180 <tr id="row_2_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__tinyusb__host.html" target="_self">tinyusb_host</a></td><td class="desc"><a href="https://github.com/hathach/tinyusb">TinyUSB</a> Host-mode support for the RP2040 </td></tr>
181 <tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><a class="el" href="group__networking.html" target="_self">Networking Libraries</a></td><td class="desc"></td></tr>
182 <tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__btstack.html" target="_self">pico_btstack</a></td><td class="desc">Integration/wrapper libraries for <a href="https://github.com/bluekitchen/btstack">BTstack</a> the documentation for which is <a href="https://bluekitchen-gmbh.com/btstack/">here</a> </td></tr>
183 <tr id="row_3_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_3_1_" class="arrow" onclick="toggleFolder('3_1_')">►</span><a class="el" href="group__pico__lwip.html" target="_self">pico_lwip</a></td><td class="desc">Integration/wrapper libraries for <a href="https://savannah.nongnu.org/projects/lwip/lwIP">lwIP</a> the documentation for which is <a href="https://www.nongnu.org/lwip/2_1_x/index.html">here</a> </td></tr>
184 <tr id="row_3_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__lwip__arch.html" target="_self">pico_lwip_arch</a></td><td class="desc">LwIP compiler adapters. This is not included by default in <code><b>pico_lwip</b> in</code> case you wish to implement your own </td></tr>
185 <tr id="row_3_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__lwip__freertos.html" target="_self">pico_lwip_freertos</a></td><td class="desc">Glue library for integration lwIP in <code>NO_SYS=0</code> mode with the SDK </td></tr>
186 <tr id="row_3_1_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__lwip__nosys.html" target="_self">pico_lwip_nosys</a></td><td class="desc">Glue library for integration lwIP in <code>NO_SYS=1</code> mode with the SDK </td></tr>
187 <tr id="row_3_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_3_2_" class="arrow" onclick="toggleFolder('3_2_')">►</span><a class="el" href="group__pico__cyw43__driver.html" target="_self">pico_cyw43_driver</a></td><td class="desc">A wrapper around the lower level cyw43_driver, that integrates it with <a class="el" href="group__pico__async__context.html">pico_async_context</a> for handling background work </td></tr>
188 <tr id="row_3_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__btstack__cyw43.html" target="_self">pico_btstack_cyw43</a></td><td class="desc">Low-level Bluetooth HCI support </td></tr>
189 <tr id="row_3_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_3_3_" class="arrow" onclick="toggleFolder('3_3_')">►</span><a class="el" href="group__pico__cyw43__arch.html" target="_self">pico_cyw43_arch</a></td><td class="desc">Architecture 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 </td></tr>
190 <tr id="row_3_3_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_3_3_0_" class="arrow" onclick="toggleFolder('3_3_0_')">►</span><a class="el" href="group__cyw43__driver.html" target="_self">cyw43_driver</a></td><td class="desc">Driver used for Pico W wireless </td></tr>
191 <tr id="row_3_3_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a class="el" href="group__cyw43__ll.html" target="_self">cyw43_ll</a></td><td class="desc">Low Level CYW43 driver interface </td></tr>
192 <tr id="row_4_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><a class="el" href="group__runtime.html" target="_self">Runtime Infrastructure</a></td><td class="desc"></td></tr>
193 <tr id="row_4_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__boot__stage2.html" target="_self">boot_stage2</a></td><td class="desc">Second stage boot loaders responsible for setting up external flash </td></tr>
194 <tr id="row_4_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__atomic.html" target="_self">pico_atomic</a></td><td class="desc">Helper implementations for C11 atomics </td></tr>
195 <tr id="row_4_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__base.html" target="_self">pico_base</a></td><td class="desc">Core types and macros for the Raspberry Pi Pico SDK </td></tr>
196 <tr id="row_4_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__binary__info.html" target="_self">pico_binary_info</a></td><td class="desc">Binary info is intended for embedding machine readable information with the binary in FLASH </td></tr>
197 <tr id="row_4_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__bootrom.html" target="_self">pico_bootrom</a></td><td class="desc">Access to functions and data in the bootrom </td></tr>
198 <tr id="row_4_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__bit__ops.html" target="_self">pico_bit_ops</a></td><td class="desc">Optimized bit manipulation functions </td></tr>
199 <tr id="row_4_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__cxx__options.html" target="_self">pico_cxx_options</a></td><td class="desc">Non-code library controlling C++ related compile options </td></tr>
200 <tr id="row_4_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__clib__interface.html" target="_self">pico_clib_interface</a></td><td class="desc">Provides the necessary glue code required by the particular C/C++ runtime being used </td></tr>
201 <tr id="row_4_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__crt0.html" target="_self">pico_crt0</a></td><td class="desc">Provides the default linker scripts and the program entry/exit point </td></tr>
202 <tr id="row_4_9_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__divider.html" target="_self">pico_divider</a></td><td class="desc">Optimized 32 and 64 bit division functions accelerated by the RP2040 hardware divider </td></tr>
203 <tr id="row_4_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__double.html" target="_self">pico_double</a></td><td class="desc">Optimized double-precision floating point functions </td></tr>
204 <tr id="row_4_11_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__float.html" target="_self">pico_float</a></td><td class="desc">Optimized single-precision floating point functions </td></tr>
205 <tr id="row_4_12_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__int64__ops.html" target="_self">pico_int64_ops</a></td><td class="desc">Optimized replacement implementations of the compiler built-in 64 bit multiplication </td></tr>
206 <tr id="row_4_13_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__malloc.html" target="_self">pico_malloc</a></td><td class="desc">Multi-core safety for malloc, calloc and free </td></tr>
207 <tr id="row_4_14_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__mem__ops.html" target="_self">pico_mem_ops</a></td><td class="desc">Provides optimized replacement implementations of the compiler built-in memcpy, memset and related functions </td></tr>
208 <tr id="row_4_15_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__platform.html" target="_self">pico_platform</a></td><td class="desc">Macros 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 </td></tr>
209 <tr id="row_4_16_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__printf.html" target="_self">pico_printf</a></td><td class="desc">Compact replacement for printf by Marco Paland (<a href="#" onclick="location.href='mai'+'lto:'+'inf'+'o@'+'pal'+'an'+'d.c'+'om'; return false;">info@<span class="obfuscator">.nosp@m.</span>pala<span class="obfuscator">.nosp@m.</span>nd.co<span class="obfuscator">.nosp@m.</span>m</a>) </td></tr>
210 <tr id="row_4_17_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__runtime.html" target="_self">pico_runtime</a></td><td class="desc">Basic runtime support for running pre-main initializers provided by other libraries </td></tr>
211 <tr id="row_4_18_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__runtime__init.html" target="_self">pico_runtime_init</a></td><td class="desc">Main runtime initialization functions required to set up the runtime environment before entering main </td></tr>
212 <tr id="row_4_19_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_4_19_" class="arrow" onclick="toggleFolder('4_19_')">►</span><a class="el" href="group__pico__stdio.html" target="_self">pico_stdio</a></td><td class="desc">Customized stdio support allowing for input and output from UART, USB, semi-hosting etc </td></tr>
213 <tr id="row_4_19_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__stdio__semihosting.html" target="_self">pico_stdio_semihosting</a></td><td class="desc">Experimental support for stdout using RAM semihosting </td></tr>
214 <tr id="row_4_19_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__stdio__uart.html" target="_self">pico_stdio_uart</a></td><td class="desc">Support for stdin/stdout using UART </td></tr>
215 <tr id="row_4_19_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__stdio__rtt.html" target="_self">pico_stdio_rtt</a></td><td class="desc">Support for stdin/stdout using SEGGER RTT </td></tr>
216 <tr id="row_4_19_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a class="el" href="group__pico__stdio__usb.html" target="_self">pico_stdio_usb</a></td><td class="desc">Support for stdin/stdout over USB serial (CDC) </td></tr>
217 <tr id="row_4_20_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__standard__binary__info.html" target="_self">pico_standard_binary_info</a></td><td class="desc">Includes default information about the binary that can be displayed by picotool </td></tr>
218 <tr id="row_4_21_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__standard__link.html" target="_self">pico_standard_link</a></td><td class="desc">Setup for link options for a standard SDK executable </td></tr>
219 <tr id="row_5_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">▼</span><a class="el" href="group__misc.html" target="_self">External API Headers</a></td><td class="desc"></td></tr>
220 <tr id="row_5_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__boot__picobin__headers.html" target="_self">boot_picobin_headers</a></td><td class="desc">Constants for PICOBIN format </td></tr>
221 <tr id="row_5_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__boot__picoboot__headers.html" target="_self">boot_picoboot_headers</a></td><td class="desc">Header file for the PICOBOOT USB interface exposed by an RP2xxx chip in BOOTSEL mode </td></tr>
222 <tr id="row_5_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__boot__uf2__headers.html" target="_self">boot_uf2_headers</a></td><td class="desc">Header file for the UF2 format supported by a RP2xxx chip in BOOTSEL mode </td></tr>
223 <tr id="row_5_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__pico__usb__reset__interface__headers.html" target="_self">pico_usb_reset_interface_headers</a></td><td class="desc">Definition for the reset interface that may be exposed by the pico_stdio_usb library </td></tr>
225 </div><!-- directory -->
226 </div><!-- contents -->
227 </div><!-- doc-content -->
229 <script src="main.js"></script>