You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

class_sd_card_interface.html 36KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.16"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>SdFat: SdCardInterface Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">SdFat
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.16 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. </div><!-- top -->
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#pub-methods">Public Member Functions</a> &#124;
  64. <a href="class_sd_card_interface-members.html">List of all members</a> </div>
  65. <div class="headertitle">
  66. <div class="title">SdCardInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
  67. </div><!--header-->
  68. <div class="contents">
  69. <p>Abstract interface for an SD card.
  70. <a href="class_sd_card_interface.html#details">More...</a></p>
  71. <p><code>#include &lt;SdCardInterface.h&gt;</code></p>
  72. <div class="dynheader">
  73. Inheritance diagram for SdCardInterface:</div>
  74. <div class="dyncontent">
  75. <div class="center"><img src="class_sd_card_interface__inherit__graph.png" border="0" usemap="#_sd_card_interface_inherit__map" alt="Inheritance graph"/></div>
  76. <map name="_sd_card_interface_inherit__map" id="_sd_card_interface_inherit__map">
  77. <area shape="rect" title="Abstract interface for an SD card." alt="" coords="19,80,134,107"/>
  78. <area shape="rect" href="class_sdio_card.html" title="Raw SDIO access to SD and SDHC flash memory cards." alt="" coords="39,155,114,181"/>
  79. <area shape="rect" href="class_block_device_interface.html" title="BlockDeviceInterface class." alt="" coords="5,5,148,32"/>
  80. </map>
  81. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  82. <div class="dynheader">
  83. Collaboration diagram for SdCardInterface:</div>
  84. <div class="dyncontent">
  85. <div class="center"><img src="class_sd_card_interface__coll__graph.png" border="0" usemap="#_sd_card_interface_coll__map" alt="Collaboration graph"/></div>
  86. <map name="_sd_card_interface_coll__map" id="_sd_card_interface_coll__map">
  87. <area shape="rect" title="Abstract interface for an SD card." alt="" coords="19,80,134,107"/>
  88. <area shape="rect" href="class_block_device_interface.html" title="BlockDeviceInterface class." alt="" coords="5,5,148,32"/>
  89. </map>
  90. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  91. <table class="memberdecls">
  92. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  93. Public Member Functions</h2></td></tr>
  94. <tr class="memitem:a6a57c5bced670759b7c278c7a5988fd1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a6a57c5bced670759b7c278c7a5988fd1">erase</a> (uint32_t firstSector, uint32_t lastSector)=0</td></tr>
  95. <tr class="separator:a6a57c5bced670759b7c278c7a5988fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:af83618545960af2f1ceec84927c12fc9"><td class="memItemLeft" align="right" valign="top">virtual uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#af83618545960af2f1ceec84927c12fc9">errorCode</a> () const =0</td></tr>
  97. <tr class="separator:af83618545960af2f1ceec84927c12fc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:ab84d7a9506d49366d8ec105e239ab0e1"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#ab84d7a9506d49366d8ec105e239ab0e1">errorData</a> () const =0</td></tr>
  99. <tr class="separator:ab84d7a9506d49366d8ec105e239ab0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:a26c31b07a866469098d702fed54f51b2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a26c31b07a866469098d702fed54f51b2">isBusy</a> ()=0</td></tr>
  101. <tr class="separator:a26c31b07a866469098d702fed54f51b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:ab61ea0c742074271de0552c46be8ae51"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#ab61ea0c742074271de0552c46be8ae51">readCID</a> (<a class="el" href="struct_c_i_d.html">cid_t</a> *cid)=0</td></tr>
  103. <tr class="separator:ab61ea0c742074271de0552c46be8ae51"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a8aaf7a014423034652f2a1ded1aaa127"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a8aaf7a014423034652f2a1ded1aaa127">readCSD</a> (csd_t *csd)=0</td></tr>
  105. <tr class="separator:a8aaf7a014423034652f2a1ded1aaa127"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:abb2742e6e81d18552308519a0dfb72a6"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#abb2742e6e81d18552308519a0dfb72a6">readOCR</a> (uint32_t *ocr)=0</td></tr>
  107. <tr class="separator:abb2742e6e81d18552308519a0dfb72a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a537ffdf8645666ee60d9bee0d7e3d17e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_device_interface.html#a537ffdf8645666ee60d9bee0d7e3d17e">readSector</a> (uint32_t sector, uint8_t *dst)=0</td></tr>
  109. <tr class="separator:a537ffdf8645666ee60d9bee0d7e3d17e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:aeee2944296d4aaabd00ee7be90596c5c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_device_interface.html#aeee2944296d4aaabd00ee7be90596c5c">readSectors</a> (uint32_t sector, uint8_t *dst, size_t ns)=0</td></tr>
  111. <tr class="separator:aeee2944296d4aaabd00ee7be90596c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a1a8c37709b578bffc556240f6f03a8da"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a1a8c37709b578bffc556240f6f03a8da">sectorCount</a> ()=0</td></tr>
  113. <tr class="separator:a1a8c37709b578bffc556240f6f03a8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:a6315bf0d5852bc24563b7977f7c7e5b4"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a6315bf0d5852bc24563b7977f7c7e5b4">status</a> ()</td></tr>
  115. <tr class="separator:a6315bf0d5852bc24563b7977f7c7e5b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a23e30999f1cc03da99e285cf180dbbb7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_device_interface.html#a23e30999f1cc03da99e285cf180dbbb7">syncDevice</a> ()=0</td></tr>
  117. <tr class="separator:a23e30999f1cc03da99e285cf180dbbb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a80796bc06b4090c15b3d46e651dd38c8"><td class="memItemLeft" align="right" valign="top">virtual uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a80796bc06b4090c15b3d46e651dd38c8">type</a> () const =0</td></tr>
  119. <tr class="separator:a80796bc06b4090c15b3d46e651dd38c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:ad12a0053d3e832da694bd8d3d66adbc1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#ad12a0053d3e832da694bd8d3d66adbc1">writeData</a> (const uint8_t *src)=0</td></tr>
  121. <tr class="separator:ad12a0053d3e832da694bd8d3d66adbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a8a4be0a85c3771c705617fad98303e49"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_device_interface.html#a8a4be0a85c3771c705617fad98303e49">writeSector</a> (uint32_t sector, const uint8_t *src)=0</td></tr>
  123. <tr class="separator:a8a4be0a85c3771c705617fad98303e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. <tr class="memitem:a5cb063692a65f092ccdfd14f8700b58a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_device_interface.html#a5cb063692a65f092ccdfd14f8700b58a">writeSectors</a> (uint32_t sector, const uint8_t *src, size_t ns)=0</td></tr>
  125. <tr class="separator:a5cb063692a65f092ccdfd14f8700b58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:abf04f87ec5c49fe6d9e23c8ac4cf482d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#abf04f87ec5c49fe6d9e23c8ac4cf482d">writeStart</a> (uint32_t sector)=0</td></tr>
  127. <tr class="separator:abf04f87ec5c49fe6d9e23c8ac4cf482d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a2eac04896a05bd57730e96708934970f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd_card_interface.html#a2eac04896a05bd57730e96708934970f">writeStop</a> ()=0</td></tr>
  129. <tr class="separator:a2eac04896a05bd57730e96708934970f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. </table>
  131. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  132. <div class="textblock"><p>Abstract interface for an SD card. </p>
  133. <p>Copyright (c) 2011-2019 Bill Greiman This file is part of the SdFat library for SD memory cards.</p>
  134. <p>MIT License</p>
  135. <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
  136. <p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
  137. <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. </p>
  138. </div><h2 class="groupheader">Member Function Documentation</h2>
  139. <a id="a6a57c5bced670759b7c278c7a5988fd1"></a>
  140. <h2 class="memtitle"><span class="permalink"><a href="#a6a57c5bced670759b7c278c7a5988fd1">&#9670;&nbsp;</a></span>erase()</h2>
  141. <div class="memitem">
  142. <div class="memproto">
  143. <table class="mlabels">
  144. <tr>
  145. <td class="mlabels-left">
  146. <table class="memname">
  147. <tr>
  148. <td class="memname">virtual bool SdCardInterface::erase </td>
  149. <td>(</td>
  150. <td class="paramtype">uint32_t&#160;</td>
  151. <td class="paramname"><em>firstSector</em>, </td>
  152. </tr>
  153. <tr>
  154. <td class="paramkey"></td>
  155. <td></td>
  156. <td class="paramtype">uint32_t&#160;</td>
  157. <td class="paramname"><em>lastSector</em>&#160;</td>
  158. </tr>
  159. <tr>
  160. <td></td>
  161. <td>)</td>
  162. <td></td><td></td>
  163. </tr>
  164. </table>
  165. </td>
  166. <td class="mlabels-right">
  167. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  168. </tr>
  169. </table>
  170. </div><div class="memdoc">
  171. <p>Erase a range of sectors.</p>
  172. <dl class="params"><dt>Parameters</dt><dd>
  173. <table class="params">
  174. <tr><td class="paramdir">[in]</td><td class="paramname">firstSector</td><td>The address of the first sector in the range. </td></tr>
  175. <tr><td class="paramdir">[in]</td><td class="paramname">lastSector</td><td>The address of the last sector in the range.</td></tr>
  176. </table>
  177. </dd>
  178. </dl>
  179. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  180. <p>Implemented in <a class="el" href="class_sdio_card.html#a03b1cdcf988acbdee91bfa8974be50f9">SdioCard</a>.</p>
  181. </div>
  182. </div>
  183. <a id="af83618545960af2f1ceec84927c12fc9"></a>
  184. <h2 class="memtitle"><span class="permalink"><a href="#af83618545960af2f1ceec84927c12fc9">&#9670;&nbsp;</a></span>errorCode()</h2>
  185. <div class="memitem">
  186. <div class="memproto">
  187. <table class="mlabels">
  188. <tr>
  189. <td class="mlabels-left">
  190. <table class="memname">
  191. <tr>
  192. <td class="memname">virtual uint8_t SdCardInterface::errorCode </td>
  193. <td>(</td>
  194. <td class="paramname"></td><td>)</td>
  195. <td> const</td>
  196. </tr>
  197. </table>
  198. </td>
  199. <td class="mlabels-right">
  200. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  201. </tr>
  202. </table>
  203. </div><div class="memdoc">
  204. <dl class="section return"><dt>Returns</dt><dd>error code. </dd></dl>
  205. <p>Implemented in <a class="el" href="class_sdio_card.html#a1d505c4fb461bb7103692054ef6f7f1f">SdioCard</a>.</p>
  206. </div>
  207. </div>
  208. <a id="ab84d7a9506d49366d8ec105e239ab0e1"></a>
  209. <h2 class="memtitle"><span class="permalink"><a href="#ab84d7a9506d49366d8ec105e239ab0e1">&#9670;&nbsp;</a></span>errorData()</h2>
  210. <div class="memitem">
  211. <div class="memproto">
  212. <table class="mlabels">
  213. <tr>
  214. <td class="mlabels-left">
  215. <table class="memname">
  216. <tr>
  217. <td class="memname">virtual uint32_t SdCardInterface::errorData </td>
  218. <td>(</td>
  219. <td class="paramname"></td><td>)</td>
  220. <td> const</td>
  221. </tr>
  222. </table>
  223. </td>
  224. <td class="mlabels-right">
  225. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  226. </tr>
  227. </table>
  228. </div><div class="memdoc">
  229. <dl class="section return"><dt>Returns</dt><dd>error data. </dd></dl>
  230. <p>Implemented in <a class="el" href="class_sdio_card.html#a9c2da202da95162d2eb694363fbe8654">SdioCard</a>.</p>
  231. </div>
  232. </div>
  233. <a id="a26c31b07a866469098d702fed54f51b2"></a>
  234. <h2 class="memtitle"><span class="permalink"><a href="#a26c31b07a866469098d702fed54f51b2">&#9670;&nbsp;</a></span>isBusy()</h2>
  235. <div class="memitem">
  236. <div class="memproto">
  237. <table class="mlabels">
  238. <tr>
  239. <td class="mlabels-left">
  240. <table class="memname">
  241. <tr>
  242. <td class="memname">virtual bool SdCardInterface::isBusy </td>
  243. <td>(</td>
  244. <td class="paramname"></td><td>)</td>
  245. <td></td>
  246. </tr>
  247. </table>
  248. </td>
  249. <td class="mlabels-right">
  250. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  251. </tr>
  252. </table>
  253. </div><div class="memdoc">
  254. <dl class="section return"><dt>Returns</dt><dd>true if card is busy. </dd></dl>
  255. <p>Implemented in <a class="el" href="class_sdio_card.html#a560bdfc96932d073c2b0610600560f78">SdioCard</a>.</p>
  256. </div>
  257. </div>
  258. <a id="ab61ea0c742074271de0552c46be8ae51"></a>
  259. <h2 class="memtitle"><span class="permalink"><a href="#ab61ea0c742074271de0552c46be8ae51">&#9670;&nbsp;</a></span>readCID()</h2>
  260. <div class="memitem">
  261. <div class="memproto">
  262. <table class="mlabels">
  263. <tr>
  264. <td class="mlabels-left">
  265. <table class="memname">
  266. <tr>
  267. <td class="memname">virtual bool SdCardInterface::readCID </td>
  268. <td>(</td>
  269. <td class="paramtype"><a class="el" href="struct_c_i_d.html">cid_t</a> *&#160;</td>
  270. <td class="paramname"><em>cid</em></td><td>)</td>
  271. <td></td>
  272. </tr>
  273. </table>
  274. </td>
  275. <td class="mlabels-right">
  276. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  277. </tr>
  278. </table>
  279. </div><div class="memdoc">
  280. <p>Read a card's <a class="el" href="struct_c_i_d.html" title="Card IDentification (CID) register.">CID</a> register.</p>
  281. <dl class="params"><dt>Parameters</dt><dd>
  282. <table class="params">
  283. <tr><td class="paramdir">[out]</td><td class="paramname">cid</td><td>pointer to area for returned data.</td></tr>
  284. </table>
  285. </dd>
  286. </dl>
  287. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  288. <p>Implemented in <a class="el" href="class_sdio_card.html#a2490b07ee400aaf799ea5c37052041bf">SdioCard</a>.</p>
  289. </div>
  290. </div>
  291. <a id="a8aaf7a014423034652f2a1ded1aaa127"></a>
  292. <h2 class="memtitle"><span class="permalink"><a href="#a8aaf7a014423034652f2a1ded1aaa127">&#9670;&nbsp;</a></span>readCSD()</h2>
  293. <div class="memitem">
  294. <div class="memproto">
  295. <table class="mlabels">
  296. <tr>
  297. <td class="mlabels-left">
  298. <table class="memname">
  299. <tr>
  300. <td class="memname">virtual bool SdCardInterface::readCSD </td>
  301. <td>(</td>
  302. <td class="paramtype">csd_t *&#160;</td>
  303. <td class="paramname"><em>csd</em></td><td>)</td>
  304. <td></td>
  305. </tr>
  306. </table>
  307. </td>
  308. <td class="mlabels-right">
  309. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  310. </tr>
  311. </table>
  312. </div><div class="memdoc">
  313. <p>Read a card's CSD register.</p>
  314. <dl class="params"><dt>Parameters</dt><dd>
  315. <table class="params">
  316. <tr><td class="paramdir">[out]</td><td class="paramname">csd</td><td>pointer to area for returned data.</td></tr>
  317. </table>
  318. </dd>
  319. </dl>
  320. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  321. <p>Implemented in <a class="el" href="class_sdio_card.html#a72bbb4fda29fb6313981a63ea2f43d5f">SdioCard</a>.</p>
  322. </div>
  323. </div>
  324. <a id="abb2742e6e81d18552308519a0dfb72a6"></a>
  325. <h2 class="memtitle"><span class="permalink"><a href="#abb2742e6e81d18552308519a0dfb72a6">&#9670;&nbsp;</a></span>readOCR()</h2>
  326. <div class="memitem">
  327. <div class="memproto">
  328. <table class="mlabels">
  329. <tr>
  330. <td class="mlabels-left">
  331. <table class="memname">
  332. <tr>
  333. <td class="memname">virtual bool SdCardInterface::readOCR </td>
  334. <td>(</td>
  335. <td class="paramtype">uint32_t *&#160;</td>
  336. <td class="paramname"><em>ocr</em></td><td>)</td>
  337. <td></td>
  338. </tr>
  339. </table>
  340. </td>
  341. <td class="mlabels-right">
  342. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  343. </tr>
  344. </table>
  345. </div><div class="memdoc">
  346. <p>Read OCR register.</p>
  347. <dl class="params"><dt>Parameters</dt><dd>
  348. <table class="params">
  349. <tr><td class="paramdir">[out]</td><td class="paramname">ocr</td><td>Value of OCR register. </td></tr>
  350. </table>
  351. </dd>
  352. </dl>
  353. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  354. <p>Implemented in <a class="el" href="class_sdio_card.html#adc583f7a27f57ce55ce474b1379b9303">SdioCard</a>.</p>
  355. </div>
  356. </div>
  357. <a id="a537ffdf8645666ee60d9bee0d7e3d17e"></a>
  358. <h2 class="memtitle"><span class="permalink"><a href="#a537ffdf8645666ee60d9bee0d7e3d17e">&#9670;&nbsp;</a></span>readSector()</h2>
  359. <div class="memitem">
  360. <div class="memproto">
  361. <table class="mlabels">
  362. <tr>
  363. <td class="mlabels-left">
  364. <table class="memname">
  365. <tr>
  366. <td class="memname">virtual bool BlockDeviceInterface::readSector </td>
  367. <td>(</td>
  368. <td class="paramtype">uint32_t&#160;</td>
  369. <td class="paramname"><em>sector</em>, </td>
  370. </tr>
  371. <tr>
  372. <td class="paramkey"></td>
  373. <td></td>
  374. <td class="paramtype">uint8_t *&#160;</td>
  375. <td class="paramname"><em>dst</em>&#160;</td>
  376. </tr>
  377. <tr>
  378. <td></td>
  379. <td>)</td>
  380. <td></td><td></td>
  381. </tr>
  382. </table>
  383. </td>
  384. <td class="mlabels-right">
  385. <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
  386. </tr>
  387. </table>
  388. </div><div class="memdoc">
  389. <p>Read a 512 byte sector.</p>
  390. <dl class="params"><dt>Parameters</dt><dd>
  391. <table class="params">
  392. <tr><td class="paramdir">[in]</td><td class="paramname">sector</td><td>Logical sector to be read. </td></tr>
  393. <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Pointer to the location that will receive the data. </td></tr>
  394. </table>
  395. </dd>
  396. </dl>
  397. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  398. <p>Implemented in <a class="el" href="class_sdio_card.html#a77ae4fbe24bb04b74af5d388d4139dde">SdioCard</a>.</p>
  399. </div>
  400. </div>
  401. <a id="aeee2944296d4aaabd00ee7be90596c5c"></a>
  402. <h2 class="memtitle"><span class="permalink"><a href="#aeee2944296d4aaabd00ee7be90596c5c">&#9670;&nbsp;</a></span>readSectors()</h2>
  403. <div class="memitem">
  404. <div class="memproto">
  405. <table class="mlabels">
  406. <tr>
  407. <td class="mlabels-left">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname">virtual bool BlockDeviceInterface::readSectors </td>
  411. <td>(</td>
  412. <td class="paramtype">uint32_t&#160;</td>
  413. <td class="paramname"><em>sector</em>, </td>
  414. </tr>
  415. <tr>
  416. <td class="paramkey"></td>
  417. <td></td>
  418. <td class="paramtype">uint8_t *&#160;</td>
  419. <td class="paramname"><em>dst</em>, </td>
  420. </tr>
  421. <tr>
  422. <td class="paramkey"></td>
  423. <td></td>
  424. <td class="paramtype">size_t&#160;</td>
  425. <td class="paramname"><em>ns</em>&#160;</td>
  426. </tr>
  427. <tr>
  428. <td></td>
  429. <td>)</td>
  430. <td></td><td></td>
  431. </tr>
  432. </table>
  433. </td>
  434. <td class="mlabels-right">
  435. <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
  436. </tr>
  437. </table>
  438. </div><div class="memdoc">
  439. <p>Read multiple 512 byte sectors.</p>
  440. <dl class="params"><dt>Parameters</dt><dd>
  441. <table class="params">
  442. <tr><td class="paramdir">[in]</td><td class="paramname">sector</td><td>Logical sector to be read. </td></tr>
  443. <tr><td class="paramdir">[in]</td><td class="paramname">ns</td><td>Number of sectors to be read. </td></tr>
  444. <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Pointer to the location that will receive the data. </td></tr>
  445. </table>
  446. </dd>
  447. </dl>
  448. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  449. <p>Implemented in <a class="el" href="class_sdio_card.html#a1ed4229446a5a2fe815d460b027243b9">SdioCard</a>.</p>
  450. </div>
  451. </div>
  452. <a id="a1a8c37709b578bffc556240f6f03a8da"></a>
  453. <h2 class="memtitle"><span class="permalink"><a href="#a1a8c37709b578bffc556240f6f03a8da">&#9670;&nbsp;</a></span>sectorCount()</h2>
  454. <div class="memitem">
  455. <div class="memproto">
  456. <table class="mlabels">
  457. <tr>
  458. <td class="mlabels-left">
  459. <table class="memname">
  460. <tr>
  461. <td class="memname">virtual uint32_t SdCardInterface::sectorCount </td>
  462. <td>(</td>
  463. <td class="paramname"></td><td>)</td>
  464. <td></td>
  465. </tr>
  466. </table>
  467. </td>
  468. <td class="mlabels-right">
  469. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  470. </tr>
  471. </table>
  472. </div><div class="memdoc">
  473. <p>Determine the size of an SD flash memory card.</p>
  474. <dl class="section return"><dt>Returns</dt><dd>The number of 512 byte data sectors in the card or zero if an error occurs. </dd></dl>
  475. <p>Implements <a class="el" href="class_block_device_interface.html#a1531ba16d499510ae60be288112faae1">BlockDeviceInterface</a>.</p>
  476. <p>Implemented in <a class="el" href="class_sdio_card.html#a49a502cf7b59dc559a6c75a3285e6c1a">SdioCard</a>.</p>
  477. </div>
  478. </div>
  479. <a id="a6315bf0d5852bc24563b7977f7c7e5b4"></a>
  480. <h2 class="memtitle"><span class="permalink"><a href="#a6315bf0d5852bc24563b7977f7c7e5b4">&#9670;&nbsp;</a></span>status()</h2>
  481. <div class="memitem">
  482. <div class="memproto">
  483. <table class="mlabels">
  484. <tr>
  485. <td class="mlabels-left">
  486. <table class="memname">
  487. <tr>
  488. <td class="memname">virtual uint32_t SdCardInterface::status </td>
  489. <td>(</td>
  490. <td class="paramname"></td><td>)</td>
  491. <td></td>
  492. </tr>
  493. </table>
  494. </td>
  495. <td class="mlabels-right">
  496. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  497. </tr>
  498. </table>
  499. </div><div class="memdoc">
  500. <dl class="section return"><dt>Returns</dt><dd>card status. </dd></dl>
  501. <p>Reimplemented in <a class="el" href="class_sdio_card.html#a58880a055e58410f8b22658b88622f63">SdioCard</a>.</p>
  502. </div>
  503. </div>
  504. <a id="a23e30999f1cc03da99e285cf180dbbb7"></a>
  505. <h2 class="memtitle"><span class="permalink"><a href="#a23e30999f1cc03da99e285cf180dbbb7">&#9670;&nbsp;</a></span>syncDevice()</h2>
  506. <div class="memitem">
  507. <div class="memproto">
  508. <table class="mlabels">
  509. <tr>
  510. <td class="mlabels-left">
  511. <table class="memname">
  512. <tr>
  513. <td class="memname">virtual bool BlockDeviceInterface::syncDevice </td>
  514. <td>(</td>
  515. <td class="paramname"></td><td>)</td>
  516. <td></td>
  517. </tr>
  518. </table>
  519. </td>
  520. <td class="mlabels-right">
  521. <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
  522. </tr>
  523. </table>
  524. </div><div class="memdoc">
  525. <p>End multi-sector transfer and go to idle state. </p><dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  526. <p>Implemented in <a class="el" href="class_sdio_card.html#a1201ec7a6fa91b73a1daa584a1b055f7">SdioCard</a>.</p>
  527. </div>
  528. </div>
  529. <a id="a80796bc06b4090c15b3d46e651dd38c8"></a>
  530. <h2 class="memtitle"><span class="permalink"><a href="#a80796bc06b4090c15b3d46e651dd38c8">&#9670;&nbsp;</a></span>type()</h2>
  531. <div class="memitem">
  532. <div class="memproto">
  533. <table class="mlabels">
  534. <tr>
  535. <td class="mlabels-left">
  536. <table class="memname">
  537. <tr>
  538. <td class="memname">virtual uint8_t SdCardInterface::type </td>
  539. <td>(</td>
  540. <td class="paramname"></td><td>)</td>
  541. <td> const</td>
  542. </tr>
  543. </table>
  544. </td>
  545. <td class="mlabels-right">
  546. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  547. </tr>
  548. </table>
  549. </div><div class="memdoc">
  550. <p>Return the card type: SD V1, SD V2 or SDHC/SDXC </p><dl class="section return"><dt>Returns</dt><dd>0 - SD V1, 1 - SD V2, or 3 - SDHC/SDXC. </dd></dl>
  551. <p>Implemented in <a class="el" href="class_sdio_card.html#a22451464dba5275838908c2d19392850">SdioCard</a>.</p>
  552. </div>
  553. </div>
  554. <a id="ad12a0053d3e832da694bd8d3d66adbc1"></a>
  555. <h2 class="memtitle"><span class="permalink"><a href="#ad12a0053d3e832da694bd8d3d66adbc1">&#9670;&nbsp;</a></span>writeData()</h2>
  556. <div class="memitem">
  557. <div class="memproto">
  558. <table class="mlabels">
  559. <tr>
  560. <td class="mlabels-left">
  561. <table class="memname">
  562. <tr>
  563. <td class="memname">virtual bool SdCardInterface::writeData </td>
  564. <td>(</td>
  565. <td class="paramtype">const uint8_t *&#160;</td>
  566. <td class="paramname"><em>src</em></td><td>)</td>
  567. <td></td>
  568. </tr>
  569. </table>
  570. </td>
  571. <td class="mlabels-right">
  572. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  573. </tr>
  574. </table>
  575. </div><div class="memdoc">
  576. <p>Write one data sector in a multiple sector write sequence. </p><dl class="params"><dt>Parameters</dt><dd>
  577. <table class="params">
  578. <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Pointer to the location of the data to be written. </td></tr>
  579. </table>
  580. </dd>
  581. </dl>
  582. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  583. <p>Implemented in <a class="el" href="class_sdio_card.html#a8467e7ffafa45ff930b38a6f18e9547a">SdioCard</a>.</p>
  584. </div>
  585. </div>
  586. <a id="a8a4be0a85c3771c705617fad98303e49"></a>
  587. <h2 class="memtitle"><span class="permalink"><a href="#a8a4be0a85c3771c705617fad98303e49">&#9670;&nbsp;</a></span>writeSector()</h2>
  588. <div class="memitem">
  589. <div class="memproto">
  590. <table class="mlabels">
  591. <tr>
  592. <td class="mlabels-left">
  593. <table class="memname">
  594. <tr>
  595. <td class="memname">virtual bool BlockDeviceInterface::writeSector </td>
  596. <td>(</td>
  597. <td class="paramtype">uint32_t&#160;</td>
  598. <td class="paramname"><em>sector</em>, </td>
  599. </tr>
  600. <tr>
  601. <td class="paramkey"></td>
  602. <td></td>
  603. <td class="paramtype">const uint8_t *&#160;</td>
  604. <td class="paramname"><em>src</em>&#160;</td>
  605. </tr>
  606. <tr>
  607. <td></td>
  608. <td>)</td>
  609. <td></td><td></td>
  610. </tr>
  611. </table>
  612. </td>
  613. <td class="mlabels-right">
  614. <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
  615. </tr>
  616. </table>
  617. </div><div class="memdoc">
  618. <p>Writes a 512 byte sector.</p>
  619. <dl class="params"><dt>Parameters</dt><dd>
  620. <table class="params">
  621. <tr><td class="paramdir">[in]</td><td class="paramname">sector</td><td>Logical sector to be written. </td></tr>
  622. <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Pointer to the location of the data to be written. </td></tr>
  623. </table>
  624. </dd>
  625. </dl>
  626. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  627. <p>Implemented in <a class="el" href="class_sdio_card.html#a74919a168bac68028ce62222500cf238">SdioCard</a>.</p>
  628. </div>
  629. </div>
  630. <a id="a5cb063692a65f092ccdfd14f8700b58a"></a>
  631. <h2 class="memtitle"><span class="permalink"><a href="#a5cb063692a65f092ccdfd14f8700b58a">&#9670;&nbsp;</a></span>writeSectors()</h2>
  632. <div class="memitem">
  633. <div class="memproto">
  634. <table class="mlabels">
  635. <tr>
  636. <td class="mlabels-left">
  637. <table class="memname">
  638. <tr>
  639. <td class="memname">virtual bool BlockDeviceInterface::writeSectors </td>
  640. <td>(</td>
  641. <td class="paramtype">uint32_t&#160;</td>
  642. <td class="paramname"><em>sector</em>, </td>
  643. </tr>
  644. <tr>
  645. <td class="paramkey"></td>
  646. <td></td>
  647. <td class="paramtype">const uint8_t *&#160;</td>
  648. <td class="paramname"><em>src</em>, </td>
  649. </tr>
  650. <tr>
  651. <td class="paramkey"></td>
  652. <td></td>
  653. <td class="paramtype">size_t&#160;</td>
  654. <td class="paramname"><em>ns</em>&#160;</td>
  655. </tr>
  656. <tr>
  657. <td></td>
  658. <td>)</td>
  659. <td></td><td></td>
  660. </tr>
  661. </table>
  662. </td>
  663. <td class="mlabels-right">
  664. <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
  665. </tr>
  666. </table>
  667. </div><div class="memdoc">
  668. <p>Write multiple 512 byte sectors.</p>
  669. <dl class="params"><dt>Parameters</dt><dd>
  670. <table class="params">
  671. <tr><td class="paramdir">[in]</td><td class="paramname">sector</td><td>Logical sector to be written. </td></tr>
  672. <tr><td class="paramdir">[in]</td><td class="paramname">ns</td><td>Number of sectors to be written. </td></tr>
  673. <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Pointer to the location of the data to be written. </td></tr>
  674. </table>
  675. </dd>
  676. </dl>
  677. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  678. <p>Implemented in <a class="el" href="class_sdio_card.html#a55e2fc82ef9ecf7272a94b565c50303b">SdioCard</a>.</p>
  679. </div>
  680. </div>
  681. <a id="abf04f87ec5c49fe6d9e23c8ac4cf482d"></a>
  682. <h2 class="memtitle"><span class="permalink"><a href="#abf04f87ec5c49fe6d9e23c8ac4cf482d">&#9670;&nbsp;</a></span>writeStart()</h2>
  683. <div class="memitem">
  684. <div class="memproto">
  685. <table class="mlabels">
  686. <tr>
  687. <td class="mlabels-left">
  688. <table class="memname">
  689. <tr>
  690. <td class="memname">virtual bool SdCardInterface::writeStart </td>
  691. <td>(</td>
  692. <td class="paramtype">uint32_t&#160;</td>
  693. <td class="paramname"><em>sector</em></td><td>)</td>
  694. <td></td>
  695. </tr>
  696. </table>
  697. </td>
  698. <td class="mlabels-right">
  699. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  700. </tr>
  701. </table>
  702. </div><div class="memdoc">
  703. <p>Start a write multiple sectors sequence.</p>
  704. <dl class="params"><dt>Parameters</dt><dd>
  705. <table class="params">
  706. <tr><td class="paramdir">[in]</td><td class="paramname">sector</td><td>Address of first sector in sequence.</td></tr>
  707. </table>
  708. </dd>
  709. </dl>
  710. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  711. <p>Implemented in <a class="el" href="class_sdio_card.html#a1edd70537e2d7fa556532790cf413b5c">SdioCard</a>.</p>
  712. </div>
  713. </div>
  714. <a id="a2eac04896a05bd57730e96708934970f"></a>
  715. <h2 class="memtitle"><span class="permalink"><a href="#a2eac04896a05bd57730e96708934970f">&#9670;&nbsp;</a></span>writeStop()</h2>
  716. <div class="memitem">
  717. <div class="memproto">
  718. <table class="mlabels">
  719. <tr>
  720. <td class="mlabels-left">
  721. <table class="memname">
  722. <tr>
  723. <td class="memname">virtual bool SdCardInterface::writeStop </td>
  724. <td>(</td>
  725. <td class="paramname"></td><td>)</td>
  726. <td></td>
  727. </tr>
  728. </table>
  729. </td>
  730. <td class="mlabels-right">
  731. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  732. </tr>
  733. </table>
  734. </div><div class="memdoc">
  735. <p>End a write multiple sectors sequence. </p><dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  736. <p>Implemented in <a class="el" href="class_sdio_card.html#acb560c2ea1f30c646b96f02e728b0fe1">SdioCard</a>.</p>
  737. </div>
  738. </div>
  739. <hr/>The documentation for this class was generated from the following file:<ul>
  740. <li>ArduinoSdFat/libraries/SdFat/src/SdCard/SdCardInterface.h</li>
  741. </ul>
  742. </div><!-- contents -->
  743. <!-- start footer part -->
  744. <hr class="footer"/><address class="footer"><small>
  745. Generated on Fri Dec 6 2019 09:45:12 for SdFat by &#160;<a href="http://www.doxygen.org/index.html">
  746. <img class="footer" src="doxygen.png" alt="doxygen"/>
  747. </a> 1.8.16
  748. </small></address>
  749. </body>
  750. </html>