€cdocutils.nodes document q)q}q(U nametypesq}q(X4build instruction from processor sdk release packageqNX pru-icss uartqNXespi-compiling-driver-firmwareqˆX espi-run-appq ˆX5build instructions from processor sdk release packageq NXfirmware build instructionq NXpru-icss firmwareq NXsupported evmsq NX introductionqNXuart-compiling-driverqˆXpru-icss-uart-firmware-labelqˆXespi-example-applicationqˆXuart firmware example & testqNXexamples-tests-listqˆXuart-compiling-driver-firmwareqˆXfirmware organizationqNXespi-idkam437xqˆX examples-listqˆXfirmware-design-guideqˆXfirmware build instructionsqNXuart-pre-requisites-to-buildingqˆX pru-icss espiqNXfirmware featuresqNX bbbam335xqˆXuart-compiling-firmwareqˆXespi-bbbam335xqˆXespi applicationsq NXespi-pre-requisites-to-buildingq!ˆXpru-icss-espi-firmware-labelq"ˆuUsubstitution_defsq#}q$Uparse_messagesq%]q&(cdocutils.nodes system_message q')q(}q)(U rawsourceq*UU attributesq+}q,(Udupnamesq-]UlevelKUidsq.]Ubackrefsq/]Usourcecdocutils.nodes reprunicode q0XHsource/rtos/PDK_Platform_Software/PRU_ICSS_Drivers/ESPI_FIRMWARE.rst.incq1…q2}q3bUclassesq4]Unamesq5]UlineKAUtypeUWARNINGq6uUparentq7cdocutils.nodes entry q8)q9}q:(h*Uh+}q;(h.]h/]h-]h4]UmorerowsK h5]uh7cdocutils.nodes row q<)q=}q>(h*Uh+}q?(h-]h4]h/]h.]h5]uh7cdocutils.nodes tbody q@)qA}qB(h*Uh+}qC(h-]h4]h/]h.]h5]uh7cdocutils.nodes tgroup qD)qE}qF(h*Uh+}qG(h.]h/]h-]h4]h5]UcolsKuh7cdocutils.nodes table qH)qI}qJ(h*Uh7cdocutils.nodes section qK)qL}qM(h*UU referencedqNKh7hK)qO}qP(h*Uh7hK)qQ}qR(h*Uh7hUsourceqSXG/home/gtbldadm/nightlybuilds/processor-sdk-doc/source/rtos/PRU_ICSS.rstqTUtagnameqUUsectionqVh+}qW(h-]h4]h/]h.]qXUpru-icss-firmwareqYah5]qZh auUlineq[KUdocumentq\hUchildrenq]]q^(cdocutils.nodes title q_)q`}qa(h*XPRU-ICSS Firmwareqbh7hQhShThUUtitleqch+}qd(h-]h4]h/]h.]h5]uh[Kh\hh]]qecdocutils.nodes Text qfXPRU-ICSS Firmwareqg…qh}qi(h*hbh7h`ubaubcdocutils.nodes compound qj)qk}ql(h*Uh7hQhShThUUcompoundqmh+}qn(h-]h4]qoUtoctree-wrapperqpah/]h.]h5]uh[Nh\hh]]qqcsphinx.addnodes toctree qr)qs}qt(h*Uh7hkhShThUUtoctreequh+}qv(UnumberedqwKU includehiddenqx‰h7X rtos/PRU_ICSSqyUcaptionqzNUglobq{‰h.]h/]U titlesonlyq|‰h-]h4]h5]Uentriesq}]q~NXrtos/index_pru_icss_fwq†q€aUhiddenq‰U includefilesq‚]qƒhaUmaxdepthq„Kuh[Kh]]ubaubhOhK)q…}q†(h*Uh7hQhShThUhVh+}q‡(h-]h4]h/]h.]qˆU pru-icss-uartq‰ah5]qŠhauh[Kh\hh]]q‹(h_)qŒ}q(h*X PRU-ICSS UARTqŽh7h…hShThUhch+}q(h-]h4]h/]h.]h5]uh[Kh\hh]]qhfX PRU-ICSS UARTq‘…q’}q“(h*hŽh7hŒubaubcdocutils.nodes target q”)q•}q–(h*X!.. _PRU-ICSS-UART-FIRMWARE-label:h7h…hShThUUtargetq—h+}q˜(h-]h4]h/]h.]q™Upru-icss-uart-firmware-labelqšah5]q›hauh[Kþh\hh]]ubcdocutils.nodes comment qœ)q}qž(h*XShttp://ap-fpdsp-swapps.dal.design.ti.com/index.php/Processor_SDK_RTOS_UART_FIRMWAREh7h…hSh0XHsource/rtos/PDK_Platform_Software/PRU_ICSS_Drivers/UART_FIRMWARE.rst.incqŸ…q }q¡bhUUcommentq¢h+}q£(U xml:spaceq¤Upreserveq¥h.]h/]h-]h4]h5]uh[Kh\hh]]q¦hfXShttp://ap-fpdsp-swapps.dal.design.ti.com/index.php/Processor_SDK_RTOS_UART_FIRMWAREq§…q¨}q©(h*Uh7hubaubhK)qª}q«(h*UhNKh7h…hSh hUhVh+}q¬(h-]q­X introductionq®ah4]h/]h.]q¯Uid1q°ah5]uh[Kh\hh]]q±(h_)q²}q³(h*X Introductionq´h7hªhSh hUhch+}qµ(h-]h4]h/]h.]h5]uh[Kh\hh]]q¶hfX Introductionq·…q¸}q¹(h*h´h7h²ubaubcdocutils.nodes line_block qº)q»}q¼(h*Uh7hªhSh hUU line_blockq½h+}q¾(h-]h4]h/]h.]h5]uh[Kh\hh]]q¿cdocutils.nodes line qÀ)qÁ}qÂ(h*XPRU-ICSS UART serves as an example for PRU firmware-based UART peripheral support. The UART firmware (UART FW) allows additional UART instances for SOCs beyond those supported by SOC hardware. The Processor SDK package includes full source code for UART FW.qÃUindentqÄKh7h»hSh hUh[h+}qÅ(h-]h4]h/]h.]h5]uh[K h\hh]]qÆhfXPRU-ICSS UART serves as an example for PRU firmware-based UART peripheral support. The UART firmware (UART FW) allows additional UART instances for SOCs beyond those supported by SOC hardware. The Processor SDK package includes full source code for UART FW.qÇ…qÈ}qÉ(h*hÃh7hÁubaubaubhº)qÊ}qË(h*Uh7hªhSh hUh½h+}qÌ(h-]h4]h/]h.]h5]uh[K h\hh]]qÍhÀ)qÎ}qÏ(h*UhÄKh7hÊhSh hUh[h+}qÐ(h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubhK)qÑ}qÒ(h*Uh7h…hSh hUhVh+}qÓ(h-]h4]h/]h.]qÔUfirmware-featuresqÕah5]qÖhauh[Kh\hh]]q×(h_)qØ}qÙ(h*XFIRMWARE FEATURESqÚh7hÑhSh hUhch+}qÛ(h-]h4]h/]h.]h5]uh[Kh\hh]]qÜhfXFIRMWARE FEATURESqÝ…qÞ}qß(h*hÚh7hØubaubcdocutils.nodes paragraph qà)qá}qâ(h*XIThe following UART specifications are supported by the PRU UART firmware:qãh7hÑhSh hUU paragraphqäh+}qå(h-]h4]h/]h.]h5]uh[Kh\hh]]qæhfXIThe following UART specifications are supported by the PRU UART firmware:qç…qè}qé(h*hãh7háubaubcdocutils.nodes bullet_list qê)që}qì(h*Uh7hÑhSh hUU bullet_listqíh+}qî(UbulletqïX-h.]h/]h-]h4]h5]uh[Kh\hh]]qð(cdocutils.nodes list_item qñ)qò}qó(h*XEUp to 3 UARTs are supported per PRU with the following configuration options - Baud rate: common baud rates up to 115200 - Bits per transfer: 5-9 bit characters - Number of stop bits: 1, 1.5, 2 - Parity: even, odd, none - Flow control: HW, none (SW flow control currently unsupported) - Full-duplex communication h7hëhSNhUU list_itemqôh+}qõ(h-]h4]h/]h.]h5]uh[Nh\hh]]qöcdocutils.nodes definition_list q÷)qø}qù(h*Uh+}qú(h-]h4]h/]h.]h5]uh7hòh]]qûcdocutils.nodes definition_list_item qü)qý}qþ(h*X9Up to 3 UARTs are supported per PRU with the following configuration options - Baud rate: common baud rates up to 115200 - Bits per transfer: 5-9 bit characters - Number of stop bits: 1, 1.5, 2 - Parity: even, odd, none - Flow control: HW, none (SW flow control currently unsupported) - Full-duplex communication h7høhSh hUUdefinition_list_itemqÿh+}r(h-]h4]h/]h.]h5]uh[Kh]]r(cdocutils.nodes term r)r}r(h*XLUp to 3 UARTs are supported per PRU with the following configuration optionsrh7hýhSh hUUtermrh+}r(h-]h4]h/]h.]h5]uh[Kh]]rhfXLUp to 3 UARTs are supported per PRU with the following configuration optionsr …r }r (h*jh7jubaubcdocutils.nodes definition r )r }r(h*Uh+}r(h-]h4]h/]h.]h5]uh7hýh]]rhê)r}r(h*Uh+}r(hïX-h.]h/]h-]h4]h5]uh7j h]]r(hñ)r}r(h*X)Baud rate: common baud rates up to 115200rh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*jh7jhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[Kh]]rhfX)Baud rate: common baud rates up to 115200r…r}r (h*jh7jubaubahUhôubhñ)r!}r"(h*X%Bits per transfer: 5-9 bit charactersr#h+}r$(h-]h4]h/]h.]h5]uh7jh]]r%hà)r&}r'(h*j#h7j!hSh hUhäh+}r((h-]h4]h/]h.]h5]uh[Kh]]r)hfX%Bits per transfer: 5-9 bit charactersr*…r+}r,(h*j#h7j&ubaubahUhôubhñ)r-}r.(h*XNumber of stop bits: 1, 1.5, 2r/h+}r0(h-]h4]h/]h.]h5]uh7jh]]r1hà)r2}r3(h*j/h7j-hSh hUhäh+}r4(h-]h4]h/]h.]h5]uh[Kh]]r5hfXNumber of stop bits: 1, 1.5, 2r6…r7}r8(h*j/h7j2ubaubahUhôubhñ)r9}r:(h*XParity: even, odd, noner;h+}r<(h-]h4]h/]h.]h5]uh7jh]]r=hà)r>}r?(h*j;h7j9hSh hUhäh+}r@(h-]h4]h/]h.]h5]uh[Kh]]rAhfXParity: even, odd, nonerB…rC}rD(h*j;h7j>ubaubahUhôubhñ)rE}rF(h*X>Flow control: HW, none (SW flow control currently unsupported)rGh+}rH(h-]h4]h/]h.]h5]uh7jh]]rIhà)rJ}rK(h*jGh7jEhSh hUhäh+}rL(h-]h4]h/]h.]h5]uh[Kh]]rMhfX>Flow control: HW, none (SW flow control currently unsupported)rN…rO}rP(h*jGh7jJubaubahUhôubhñ)rQ}rR(h*XFull-duplex communication h+}rS(h-]h4]h/]h.]h5]uh7jh]]rThà)rU}rV(h*XFull-duplex communicationrWh7jQhSh hUhäh+}rX(h-]h4]h/]h.]h5]uh[Kh]]rYhfXFull-duplex communicationrZ…r[}r\(h*jWh7jUubaubahUhôubehUhíubahUU definitionr]ubeubahUUdefinition_listr^ubaubhñ)r_}r`(h*X¶Each UART can simultaneously support different configurations - UART0 can have a different baud rate, number of stop bits, etc. when compared to UART1 or UART2 in the same PRU h7hëhSNhUhôh+}ra(h-]h4]h/]h.]h5]uh[Nh\hh]]rbh÷)rc}rd(h*Uh+}re(h-]h4]h/]h.]h5]uh7j_h]]rfhü)rg}rh(h*X²Each UART can simultaneously support different configurations - UART0 can have a different baud rate, number of stop bits, etc. when compared to UART1 or UART2 in the same PRU h7jchSh hUhÿh+}ri(h-]h4]h/]h.]h5]uh[Kh]]rj(j)rk}rl(h*X=Each UART can simultaneously support different configurationsrmh7jghSh hUjh+}rn(h-]h4]h/]h.]h5]uh[Kh]]rohfX=Each UART can simultaneously support different configurationsrp…rq}rr(h*jmh7jkubaubj )rs}rt(h*Uh+}ru(h-]h4]h/]h.]h5]uh7jgh]]rvhê)rw}rx(h*Uh+}ry(hïX-h.]h/]h-]h4]h5]uh7jsh]]rzhñ)r{}r|(h*XpUART0 can have a different baud rate, number of stop bits, etc. when compared to UART1 or UART2 in the same PRU h+}r}(h-]h4]h/]h.]h5]uh7jwh]]r~hà)r}r€(h*XoUART0 can have a different baud rate, number of stop bits, etc. when compared to UART1 or UART2 in the same PRUrh7j{hSh hUhäh+}r‚(h-]h4]h/]h.]h5]uh[Kh]]rƒhfXoUART0 can have a different baud rate, number of stop bits, etc. when compared to UART1 or UART2 in the same PRUr„…r…}r†(h*jh7jubaubahUhôubahUhíubahUj]ubeubahUj^ubaubhñ)r‡}rˆ(h*X÷The firmware is self-contained in a single PRU - The firmware does not use shared resources within an ICSS including IEP Timer and Scratchpad - In case 3 or less UART instances are required, only one PRU core is required for the UART firmware h7hëhSNhUhôh+}r‰(h-]h4]h/]h.]h5]uh[Nh\hh]]rŠh÷)r‹}rŒ(h*Uh+}r(h-]h4]h/]h.]h5]uh7j‡h]]rŽhü)r}r(h*XóThe firmware is self-contained in a single PRU - The firmware does not use shared resources within an ICSS including IEP Timer and Scratchpad - In case 3 or less UART instances are required, only one PRU core is required for the UART firmware h7j‹hSh hUhÿh+}r‘(h-]h4]h/]h.]h5]uh[K h]]r’(j)r“}r”(h*X.The firmware is self-contained in a single PRUr•h7jhSh hUjh+}r–(h-]h4]h/]h.]h5]uh[K h]]r—hfX.The firmware is self-contained in a single PRUr˜…r™}rš(h*j•h7j“ubaubj )r›}rœ(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]ržhê)rŸ}r (h*Uh+}r¡(hïX-h.]h/]h-]h4]h5]uh7j›h]]r¢(hñ)r£}r¤(h*X\The firmware does not use shared resources within an ICSS including IEP Timer and Scratchpadr¥h+}r¦(h-]h4]h/]h.]h5]uh7jŸh]]r§hà)r¨}r©(h*j¥h7j£hSh hUhäh+}rª(h-]h4]h/]h.]h5]uh[Kh]]r«hfX\The firmware does not use shared resources within an ICSS including IEP Timer and Scratchpadr¬…r­}r®(h*j¥h7j¨ubaubahUhôubhñ)r¯}r°(h*XcIn case 3 or less UART instances are required, only one PRU core is required for the UART firmware h+}r±(h-]h4]h/]h.]h5]uh7jŸh]]r²hà)r³}r´(h*XbIn case 3 or less UART instances are required, only one PRU core is required for the UART firmwarerµh7j¯hSh hUhäh+}r¶(h-]h4]h/]h.]h5]uh[K h]]r·hfXbIn case 3 or less UART instances are required, only one PRU core is required for the UART firmwarer¸…r¹}rº(h*jµh7j³ubaubahUhôubehUhíubahUj]ubeubahUj^ubaubeubhà)r»}r¼(h*XvThe table below shows a comparison of the features supported by the UART firmware with those available on hardware IP.r½h7hÑhSh hUhäh+}r¾(h-]h4]h/]h.]h5]uh[K"h\hh]]r¿hfXvThe table below shows a comparison of the features supported by the UART firmware with those available on hardware IP.rÀ…rÁ}rÂ(h*j½h7j»ubaubhH)rÃ}rÄ(h*Uh7hÑhSh hUUtablerÅh+}rÆ(h-]h4]h/]h.]h5]uh[Nh\hh]]rÇhD)rÈ}rÉ(h*Uh+}rÊ(h.]h/]h-]h4]h5]UcolsKuh7jÃh]]rË(cdocutils.nodes colspec rÌ)rÍ}rÎ(h*Uh+}rÏ(h.]h/]h-]h4]h5]UcolwidthKuh7jÈh]]hUUcolspecrÐubjÌ)rÑ}rÒ(h*Uh+}rÓ(h.]h/]h-]h4]h5]UcolwidthKuh7jÈh]]hUjÐubjÌ)rÔ}rÕ(h*Uh+}rÖ(h.]h/]h-]h4]h5]UcolwidthKuh7jÈh]]hUjÐubh@)r×}rØ(h*Uh+}rÙ(h-]h4]h/]h.]h5]uh7jÈh]]rÚ(h<)rÛ}rÜ(h*Uh+}rÝ(h-]h4]h/]h.]h5]uh7j×h]]rÞ(h8)rß}rà(h*Uh+}rá(h-]h4]h/]h.]h5]uh7jÛh]]râhà)rã}rä(h*X**UART Supported Feature**råh7jßhSh hUhäh+}ræ(h-]h4]h/]h.]h5]uh[K&h]]rçcdocutils.nodes strong rè)ré}rê(h*jåh+}rë(h-]h4]h/]h.]h5]uh7jãh]]rìhfXUART Supported Featurerí…rî}rï(h*Uh7jéubahUUstrongrðubaubahUUentryrñubh8)rò}ró(h*Uh+}rô(h-]h4]h/]h.]h5]uh7jÛh]]rõhà)rö}r÷(h*X**Hardware IP**røh7jòhSh hUhäh+}rù(h-]h4]h/]h.]h5]uh[K&h]]rújè)rû}rü(h*jøh+}rý(h-]h4]h/]h.]h5]uh7jöh]]rþhfX Hardware IPrÿ…r}r(h*Uh7jûubahUjðubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jÛh]]rhà)r}r(h*X**Software IP (Firmware)**rh7jhSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K&h]]r jè)r }r (h*jh+}r (h-]h4]h/]h.]h5]uh7jh]]rhfXSoftware IP (Firmware)r…r}r(h*Uh7j ubahUjðubaubahUjñubehUUrowrubh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7j×h]]r(h8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*XNumber of hardware instancesrh7jhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K(h]]rhfXNumber of hardware instancesr …r!}r"(h*jh7jubaubahUjñubh8)r#}r$(h*Uh+}r%(h-]h4]h/]h.]h5]uh7jh]]r&hà)r'}r((h*X SoC dependentr)h7j#hSh hUhäh+}r*(h-]h4]h/]h.]h5]uh[K(h]]r+hfX SoC dependentr,…r-}r.(h*j)h7j'ubaubahUjñubh8)r/}r0(h*Uh+}r1(h-]h4]h/]h.]h5]uh7jh]]r2hà)r3}r4(h*X 3 (per PRU)r5h7j/hSh hUhäh+}r6(h-]h4]h/]h.]h5]uh[K(h]]r7hfX 3 (per PRU)r8…r9}r:(h*j5h7j3ubaubahUjñubehUjubh<)r;}r<(h*Uh+}r=(h-]h4]h/]h.]h5]uh7j×h]]r>(h8)r?}r@(h*Uh+}rA(h-]h4]h/]h.]h5]uh7j;h]]rBhà)rC}rD(h*X Baud ratesrEh7j?hSh hUhäh+}rF(h-]h4]h/]h.]h5]uh[K*h]]rGhfX Baud ratesrH…rI}rJ(h*jEh7jCubaubahUjñubh8)rK}rL(h*Uh+}rM(h-]h4]h/]h.]h5]uh7j;h]]rNhà)rO}rP(h*XSoC dependent (up to 12 Mbps)rQh7jKhSh hUhäh+}rR(h-]h4]h/]h.]h5]uh[K*h]]rShfXSoC dependent (up to 12 Mbps)rT…rU}rV(h*jQh7jOubaubahUjñubh8)rW}rX(h*Uh+}rY(h-]h4]h/]h.]h5]uh7j;h]]rZhà)r[}r\(h*X(All common baud rates between 300-115200r]h7jWhSh hUhäh+}r^(h-]h4]h/]h.]h5]uh[K*h]]r_hfX(All common baud rates between 300-115200r`…ra}rb(h*j]h7j[ubaubahUjñubehUjubh<)rc}rd(h*Uh+}re(h-]h4]h/]h.]h5]uh7j×h]]rf(h8)rg}rh(h*Uh+}ri(h-]h4]h/]h.]h5]uh7jch]]rjhà)rk}rl(h*XBits per characterrmh7jghSh hUhäh+}rn(h-]h4]h/]h.]h5]uh[K-h]]rohfXBits per characterrp…rq}rr(h*jmh7jkubaubahUjñubh8)rs}rt(h*Uh+}ru(h-]h4]h/]h.]h5]uh7jch]]rvhà)rw}rx(h*X5-8 bitsryh7jshSh hUhäh+}rz(h-]h4]h/]h.]h5]uh[K-h]]r{hfX5-8 bitsr|…r}}r~(h*jyh7jwubaubahUjñubh8)r}r€(h*Uh+}r(h-]h4]h/]h.]h5]uh7jch]]r‚hà)rƒ}r„(h*X5-9 bitsr…h7jhSh hUhäh+}r†(h-]h4]h/]h.]h5]uh[K-h]]r‡hfX5-9 bitsrˆ…r‰}rŠ(h*j…h7jƒubaubahUjñubehUjubh<)r‹}rŒ(h*Uh+}r(h-]h4]h/]h.]h5]uh7j×h]]rŽ(h8)r}r(h*Uh+}r‘(h-]h4]h/]h.]h5]uh7j‹h]]r’hà)r“}r”(h*XNumber of stop bitsr•h7jhSh hUhäh+}r–(h-]h4]h/]h.]h5]uh[K/h]]r—hfXNumber of stop bitsr˜…r™}rš(h*j•h7j“ubaubahUjñubh8)r›}rœ(h*Uh+}r(h-]h4]h/]h.]h5]uh7j‹h]]ržhà)rŸ}r (h*X 1, 1.5, 2r¡h7j›hSh hUhäh+}r¢(h-]h4]h/]h.]h5]uh[K/h]]r£hfX 1, 1.5, 2r¤…r¥}r¦(h*j¡h7jŸubaubahUjñubh8)r§}r¨(h*Uh+}r©(h-]h4]h/]h.]h5]uh7j‹h]]rªhà)r«}r¬(h*X 1, 1.5, 2r­h7j§hSh hUhäh+}r®(h-]h4]h/]h.]h5]uh[K/h]]r¯hfX 1, 1.5, 2r°…r±}r²(h*j­h7j«ubaubahUjñubehUjubh<)r³}r´(h*Uh+}rµ(h-]h4]h/]h.]h5]uh7j×h]]r¶(h8)r·}r¸(h*Uh+}r¹(h-]h4]h/]h.]h5]uh7j³h]]rºhà)r»}r¼(h*X Parity typesr½h7j·hSh hUhäh+}r¾(h-]h4]h/]h.]h5]uh[K1h]]r¿hfX Parity typesrÀ…rÁ}rÂ(h*j½h7j»ubaubahUjñubh8)rÃ}rÄ(h*Uh+}rÅ(h-]h4]h/]h.]h5]uh7j³h]]rÆhà)rÇ}rÈ(h*XEven, Odd, Mark, Space, nonerÉh7jÃhSh hUhäh+}rÊ(h-]h4]h/]h.]h5]uh[K1h]]rËhfXEven, Odd, Mark, Space, nonerÌ…rÍ}rÎ(h*jÉh7jÇubaubahUjñubh8)rÏ}rÐ(h*Uh+}rÑ(h-]h4]h/]h.]h5]uh7j³h]]rÒhà)rÓ}rÔ(h*XEven, Odd, nonerÕh7jÏhSh hUhäh+}rÖ(h-]h4]h/]h.]h5]uh[K1h]]r×hfXEven, Odd, nonerØ…rÙ}rÚ(h*jÕh7jÓubaubahUjñubehUjubh<)rÛ}rÜ(h*Uh+}rÝ(h-]h4]h/]h.]h5]uh7j×h]]rÞ(h8)rß}rà(h*Uh+}rá(h-]h4]h/]h.]h5]uh7jÛh]]râhà)rã}rä(h*XFlow control typesråh7jßhSh hUhäh+}ræ(h-]h4]h/]h.]h5]uh[K3h]]rçhfXFlow control typesrè…ré}rê(h*jåh7jãubaubahUjñubh8)rë}rì(h*Uh+}rí(h-]h4]h/]h.]h5]uh7jÛh]]rîhà)rï}rð(h*X HW, SW, nonerñh7jëhSh hUhäh+}rò(h-]h4]h/]h.]h5]uh[K3h]]róhfX HW, SW, nonerô…rõ}rö(h*jñh7jïubaubahUjñubh8)r÷}rø(h*Uh+}rù(h-]h4]h/]h.]h5]uh7jÛh]]rúhà)rû}rü(h*XHW, nonerýh7j÷hSh hUhäh+}rþ(h-]h4]h/]h.]h5]uh[K3h]]rÿhfXHW, noner…r}r(h*jýh7jûubaubahUjñubehUjubehUUtbodyrubehUUtgrouprubaubeubhK)r}r(h*UhNKh7h…hSh hUhVh+}r(h-]rXfirmware organizationr ah4]h/]h.]r Uid2r ah5]uh[K7h\hh]]r (h_)r }r(h*XFirmware Organizationrh7jhSh hUhch+}r(h-]h4]h/]h.]h5]uh[K7h\hh]]rhfXFirmware Organizationr…r}r(h*jh7j ubaubhH)r}r(h*Uh7jhSh hUjÅh+}r(h-]h4]h/]h.]h5]uh[Nh\hh]]rhD)r}r(h*Uh+}r(h.]h/]h-]h4]h5]UcolsKuh7jh]]r(jÌ)r}r(h*Uh+}r(h.]h/]h-]h4]h5]UcolwidthKuh7jh]]hUjÐubjÌ)r }r!(h*Uh+}r"(h.]h/]h-]h4]h5]UcolwidthK3uh7jh]]hUjÐubh@)r#}r$(h*Uh+}r%(h-]h4]h/]h.]h5]uh7jh]]r&(h<)r'}r((h*Uh+}r)(h-]h4]h/]h.]h5]uh7j#h]]r*(h8)r+}r,(h*Uh+}r-(h-]h4]h/]h.]h5]uh7j'h]]r.hà)r/}r0(h*X **FW Item**r1h7j+hSh hUhäh+}r2(h-]h4]h/]h.]h5]uh[K:h]]r3jè)r4}r5(h*j1h+}r6(h-]h4]h/]h.]h5]uh7j/h]]r7hfXFW Itemr8…r9}r:(h*Uh7j4ubahUjðubaubahUjñubh8)r;}r<(h*Uh+}r=(h-]h4]h/]h.]h5]uh7j'h]]r>hà)r?}r@(h*X **Directory**rAh7j;hSh hUhäh+}rB(h-]h4]h/]h.]h5]uh[K:h]]rCjè)rD}rE(h*jAh+}rF(h-]h4]h/]h.]h5]uh7j?h]]rGhfX DirectoryrH…rI}rJ(h*Uh7jDubahUjðubaubahUjñubehUjubh<)rK}rL(h*Uh+}rM(h-]h4]h/]h.]h5]uh7j#h]]rN(h8)rO}rP(h*Uh+}rQ(h-]h4]h/]h.]h5]uh7jKh]]rRhà)rS}rT(h*X Source coderUh7jOhSh hUhäh+}rV(h-]h4]h/]h.]h5]uh[K/packages/ti/drv/uart/firmware/icss_i2c/srcrah7j[hSh hUhäh+}rb(h-]h4]h/]h.]h5]uh[K/packages/ti/drv/uart/firmware/icss_i2c/srcrd…re}rf(h*jah7j_ubaubahUjñubehUjubh<)rg}rh(h*Uh+}ri(h-]h4]h/]h.]h5]uh7j#h]]rj(h8)rk}rl(h*Uh+}rm(h-]h4]h/]h.]h5]uh7jgh]]rnhà)ro}rp(h*X Design Guiderqh7jkhSh hUhäh+}rr(h-]h4]h/]h.]h5]uh[K>h]]rshfX Design Guidert…ru}rv(h*jqh7joubaubahUjñubh8)rw}rx(h*Uh+}ry(h-]h4]h/]h.]h5]uh7jgh]]rzhà)r{}r|(h*X/packages/ti/drv/uart/docsr}h7jwhSh hUhäh+}r~(h-]h4]h/]h.]h5]uh[K>h]]rhfX/packages/ti/drv/uart/docsr€…r}r‚(h*j}h7j{ubaubahUjñubehUjubehUjubehUjubaubhº)rƒ}r„(h*Uh7jhSh hUh½h+}r…(h-]h4]h/]h.]h5]uh[KAh\hh]]r†hÀ)r‡}rˆ(h*UhÄKh7jƒhSh hUh[h+}r‰(h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubhK)rŠ}r‹(h*Uh7h…hSh hUhVh+}rŒ(h-]h4]h/]h.]rUfirmware-build-instructionsrŽah5]rhauh[KDh\hh]]r(h_)r‘}r’(h*XFirmware Build Instructionsr“h7jŠhSh hUhch+}r”(h-]h4]h/]h.]h5]uh[KDh\hh]]r•hfXFirmware Build Instructionsr–…r—}r˜(h*j“h7j‘ubaubhK)r™}rš(h*Uh7jŠhSh hUhVh+}r›(h-]h4]h/]h.]rœU5build-instructions-from-processor-sdk-release-packagerah5]ržh auh[KGh\hh]]rŸ(h_)r }r¡(h*X5Build instructions from Processor SDK Release packager¢h7j™hSh hUhch+}r£(h-]h4]h/]h.]h5]uh[KGh\hh]]r¤hfX5Build instructions from Processor SDK Release packager¥…r¦}r§(h*j¢h7j ubaubcdocutils.nodes rubric r¨)r©}rª(h*XPre-requisites to Buildingr«h7j™hSh hUUrubricr¬h+}r­(h.]r®Uuart-pre-requisites-to-buildingr¯ah/]h-]h4]h5]r°hauh[Nh\hh]]r±hfXPre-requisites to Buildingr²…r³}r´(h*j«h7j©ubaubhà)rµ}r¶(h*XbRefer to the Processor SDK RTOS Building page for information on setting up the build environment.r·h7j™hSh hUhäh+}r¸(h-]h4]h/]h.]h5]uh[KLh\hh]]r¹hfXbRefer to the Processor SDK RTOS Building page for information on setting up the build environment.rº…r»}r¼(h*j·h7jµubaubj¨)r½}r¾(h*XCompiling UART Firmwarer¿h7j™hSh hUj¬h+}rÀ(h.]rÁUuart-compiling-firmwarerÂah/]h-]h4]h5]rÃhauh[Nh\hh]]rÄhfXCompiling UART FirmwarerÅ…rÆ}rÇ(h*j¿h7j½ubaubhê)rÈ}rÉ(h*Uh7j™hSh hUhíh+}rÊ(hïX-h.]h/]h-]h4]h5]uh[KQh\hh]]rË(hñ)rÌ}rÍ(h*Xcd /packages/ti/drv/uartrÎh7jÈhSh hUhôh+}rÏ(h-]h4]h/]h.]h5]uh[Nh\hh]]rÐhà)rÑ}rÒ(h*jÎh7jÌhSh hUhäh+}rÓ(h-]h4]h/]h.]h5]uh[KQh]]rÔhfXcd /packages/ti/drv/uartrÕ…rÖ}r×(h*jÎh7jÑubaubaubhñ)rØ}rÙ(h*X make firm h7jÈhSh hUhôh+}rÚ(h-]h4]h/]h.]h5]uh[Nh\hh]]rÛhà)rÜ}rÝ(h*X make firmrÞh7jØhSh hUhäh+}rß(h-]h4]h/]h.]h5]uh[KRh]]ràhfX make firmrá…râ}rã(h*jÞh7jÜubaubaubeubj¨)rä}rå(h*XCompiling UART LLDræh7j™hSh hUj¬h+}rç(h.]rèUuart-compiling-driverréah/]h-]h4]h5]rêhauh[Nh\hh]]rëhfXCompiling UART LLDrì…rí}rî(h*jæh7jäubaubhê)rï}rð(h*Uh7j™hSh hUhíh+}rñ(hïX-h.]h/]h-]h4]h5]uh[KWh\hh]]rò(hñ)ró}rô(h*Xcd /packages/ti/drv/uartrõh7jïhSh hUhôh+}rö(h-]h4]h/]h.]h5]uh[Nh\hh]]r÷hà)rø}rù(h*jõh7jóhSh hUhäh+}rú(h-]h4]h/]h.]h5]uh[KWh]]rûhfXcd /packages/ti/drv/uartrü…rý}rþ(h*jõh7jøubaubaubhñ)rÿ}r(h*X make lib h7jïhSh hUhôh+}r(h-]h4]h/]h.]h5]uh[Nh\hh]]rhà)r}r(h*Xmake librh7jÿhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[KXh]]rhfXmake libr…r }r (h*jh7jubaubaubeubj¨)r }r (h*X Compiling UART Driver & Firmwarer h7j™hSh hUj¬h+}r(h.]rUuart-compiling-driver-firmwarerah/]h-]h4]h5]rhauh[Nh\hh]]rhfX Compiling UART Driver & Firmwarer…r}r(h*j h7j ubaubhê)r}r(h*Uh7j™hSh hUhíh+}r(hïX-h.]h/]h-]h4]h5]uh[K]h\hh]]r(hñ)r}r(h*Xcd /packages/rh7jhSh hUhôh+}r(h-]h4]h/]h.]h5]uh[Nh\hh]]rhà)r}r (h*jh7jhSh hUhäh+}r!(h-]h4]h/]h.]h5]uh[K]h]]r"hfXcd /packages/r#…r$}r%(h*jh7jubaubaubhñ)r&}r'(h*X make uart h7jhSh hUhôh+}r((h-]h4]h/]h.]h5]uh[Nh\hh]]r)hà)r*}r+(h*X make uartr,h7j&hSh hUhäh+}r-(h-]h4]h/]h.]h5]uh[K^h]]r.hfX make uartr/…r0}r1(h*j,h7j*ubaubaubeubhà)r2}r3(h*XFFirmware binaries at the end of the firmware build will be located at:r4h7j™hSh hUhäh+}r5(h-]h4]h/]h.]h5]uh[Kah\hh]]r6hfXFFirmware binaries at the end of the firmware build will be located at:r7…r8}r9(h*j4h7j2ubaubhê)r:}r;(h*Uh7j™hSh hUhíh+}r<(hïX-h.]h/]h-]h4]h5]uh[Kch\hh]]r=(hñ)r>}r?(h*XU/packages/ti/drv/uart/firmware//bin/// h7j:hSh hUhôh+}r@(h-]h4]h/]h.]h5]uh[Nh\hh]]rAhà)rB}rC(h*XT/packages/ti/drv/uart/firmware//bin///rDh7j>hSh hUhäh+}rE(h-]h4]h/]h.]h5]uh[Kch]]rFhfXT/packages/ti/drv/uart/firmware//bin///rG…rH}rI(h*jDh7jBubaubaubhñ)rJ}rK(h*X; indicates the firmware type i.e. icss_uart h7j:hSh hUhôh+}rL(h-]h4]h/]h.]h5]uh[Nh\hh]]rMhà)rN}rO(h*X: indicates the firmware type i.e. icss_uartrPh7jJhSh hUhäh+}rQ(h-]h4]h/]h.]h5]uh[Keh]]rRhfX: indicates the firmware type i.e. icss_uartrS…rT}rU(h*jPh7jNubaubaubhñ)rV}rW(h*X* indicates the SOC type, e.g. am335x h7j:hSh hUhôh+}rX(h-]h4]h/]h.]h5]uh[Nh\hh]]rYhà)rZ}r[(h*X) indicates the SOC type, e.g. am335xr\h7jVhSh hUhäh+}r](h-]h4]h/]h.]h5]uh[Kgh]]r^hfX) indicates the SOC type, e.g. am335xr_…r`}ra(h*j\h7jZubaubaubhñ)rb}rc(h*X^ indicates the Host core type on which the built binary can be loaded, e.g. a8host h7j:hSh hUhôh+}rd(h-]h4]h/]h.]h5]uh[Nh\hh]]rehà)rf}rg(h*X] indicates the Host core type on which the built binary can be loaded, e.g. a8hostrhh7jbhSh hUhäh+}ri(h-]h4]h/]h.]h5]uh[Kih]]rjhfX] indicates the Host core type on which the built binary can be loaded, e.g. a8hostrk…rl}rm(h*jhh7jfubaubaubhñ)rn}ro(h*X{ indicates the revision of the firmware binary based on core (there are 2 revision of PRU-ICSS core), e.g. REV1. h7j:hSh hUhôh+}rp(h-]h4]h/]h.]h5]uh[Nh\hh]]rqhà)rr}rs(h*Xz indicates the revision of the firmware binary based on core (there are 2 revision of PRU-ICSS core), e.g. REV1.rth7jnhSh hUhäh+}ru(h-]h4]h/]h.]h5]uh[Klh]]rvhfXz indicates the revision of the firmware binary based on core (there are 2 revision of PRU-ICSS core), e.g. REV1.rw…rx}ry(h*jth7jrubaubaubeubhº)rz}r{(h*Uh7j™hSh hUh½h+}r|(h-]h4]h/]h.]h5]uh[Koh\hh]]r}hÀ)r~}r(h*UhÄKh7jzhSh hUh[h+}r€(h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubeubhK)r}r‚(h*UhNKh7h…hSh hUhVh+}rƒ(h-]r„Xsupported evmsr…ah4]h/]h.]r†Uid3r‡ah5]uh[Krh\hh]]rˆ(h_)r‰}rŠ(h*XSupported EVMsr‹h7jhSh hUhch+}rŒ(h-]h4]h/]h.]h5]uh[Krh\hh]]rhfXSupported EVMsrŽ…r}r(h*j‹h7j‰ubaubhà)r‘}r’(h*XœSupported EVMs and pin configurations for these EVMs are listed below. See the design document in ``/packages/ti/drv/uart/docs/`` for more information.r“h7jhSh hUhäh+}r”(h-]h4]h/]h.]h5]uh[Kth\hh]]r•(hfXbSupported EVMs and pin configurations for these EVMs are listed below. See the design document in r–…r—}r˜(h*XbSupported EVMs and pin configurations for these EVMs are listed below. See the design document in h7j‘ubcdocutils.nodes literal r™)rš}r›(h*X$``/packages/ti/drv/uart/docs/``h+}rœ(h-]h4]h/]h.]h5]uh7j‘h]]rhfX /packages/ti/drv/uart/docs/rž…rŸ}r (h*Uh7jšubahUUliteralr¡ubhfX for more information.r¢…r£}r¤(h*X for more information.h7j‘ubeubhH)r¥}r¦(h*Uh7jhSh hUjÅh+}r§(h-]h4]h/]h.]h5]uh[Nh\hh]]r¨hD)r©}rª(h*Uh+}r«(h.]h/]h-]h4]h5]UcolsKuh7j¥h]]r¬(jÌ)r­}r®(h*Uh+}r¯(h.]h/]h-]h4]h5]UcolwidthK uh7j©h]]hUjÐubjÌ)r°}r±(h*Uh+}r²(h.]h/]h-]h4]h5]UcolwidthKuh7j©h]]hUjÐubjÌ)r³}r´(h*Uh+}rµ(h.]h/]h-]h4]h5]UcolwidthKuh7j©h]]hUjÐubcdocutils.nodes thead r¶)r·}r¸(h*Uh+}r¹(h-]h4]h/]h.]h5]uh7j©h]]rºh<)r»}r¼(h*Uh+}r½(h-]h4]h/]h.]h5]uh7j·h]]r¾(h8)r¿}rÀ(h*Uh+}rÁ(h-]h4]h/]h.]h5]uh7j»h]]rÂhà)rÃ}rÄ(h*XEVM NamerÅh7j¿hSh hUhäh+}rÆ(h-]h4]h/]h.]h5]uh[Kwh]]rÇhfXEVM NamerÈ…rÉ}rÊ(h*jÅh7jÃubaubahUjñubh8)rË}rÌ(h*Uh+}rÍ(h-]h4]h/]h.]h5]uh7j»h]]rÎhà)rÏ}rÐ(h*XPRU-ICSS InstancesrÑh7jËhSh hUhäh+}rÒ(h-]h4]h/]h.]h5]uh[Kwh]]rÓhfXPRU-ICSS InstancesrÔ…rÕ}rÖ(h*jÑh7jÏubaubahUjñubh8)r×}rØ(h*Uh+}rÙ(h-]h4]h/]h.]h5]uh7j»h]]rÚhà)rÛ}rÜ(h*XPRU-ICSS RevisionrÝh7j×hSh hUhäh+}rÞ(h-]h4]h/]h.]h5]uh[Kwh]]rßhfXPRU-ICSS Revisionrà…rá}râ(h*jÝh7jÛubaubahUjñubehUjubahUUtheadrãubh@)rä}rå(h*Uh+}ræ(h-]h4]h/]h.]h5]uh7j©h]]rçh<)rè}ré(h*Uh+}rê(h-]h4]h/]h.]h5]uh7jäh]]rë(h8)rì}rí(h*Uh+}rî(h-]h4]h/]h.]h5]uh7jèh]]rïhà)rð}rñ(h*X bbbAM335xròh7jìhSh hUhäh+}ró(h-]h4]h/]h.]h5]uh[Kyh]]rôhfX bbbAM335xrõ…rö}r÷(h*jòh7jðubaubahUjñubh8)rø}rù(h*Uh+}rú(h-]h4]h/]h.]h5]uh7jèh]]rûhà)rü}rý(h*X6h7jøhSh hUhäh+}rþ(h-]h4]h/]h.]h5]uh[Kyh]]rÿhfX6…r}r(h*X6h7jüubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jèh]]rhà)r}r(h*XREV1rh7jhSh hUhäh+}r (h-]h4]h/]h.]h5]uh[Kyh]]r hfXREV1r …r }r (h*jh7jubaubahUjñubehUjubahUjubehUjubaubhº)r}r(h*Uh7jhSh hUh½h+}r(h-]h4]h/]h.]h5]uh[K|h\hh]]rhÀ)r}r(h*UhÄKh7jhSh hUh[h+}r(h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubj¨)r}r(h*X bbbAM335xrh7jhSh hUj¬h+}r(h.]rU bbbam335xrah/]h-]h4]h5]rhauh[Nh\hh]]rhfX bbbAM335xr…r}r(h*jh7jubaubhH)r }r!(h*Uh7jhSh hUjÅh+}r"(h-]h4]h/]h.]h5]uh[Nh\hh]]r#hD)r$}r%(h*Uh+}r&(h.]h/]h-]h4]h5]UcolsKuh7j h]]r'(jÌ)r(}r)(h*Uh+}r*(h.]h/]h-]h4]h5]UcolwidthK uh7j$h]]hUjÐubjÌ)r+}r,(h*Uh+}r-(h.]h/]h-]h4]h5]UcolwidthKuh7j$h]]hUjÐubjÌ)r.}r/(h*Uh+}r0(h.]h/]h-]h4]h5]UcolwidthK uh7j$h]]hUjÐubjÌ)r1}r2(h*Uh+}r3(h.]h/]h-]h4]h5]UcolwidthKuh7j$h]]hUjÐubjÌ)r4}r5(h*Uh+}r6(h.]h/]h-]h4]h5]UcolwidthKuh7j$h]]hUjÐubjÌ)r7}r8(h*Uh+}r9(h.]h/]h-]h4]h5]UcolwidthKuh7j$h]]hUjÐubjÌ)r:}r;(h*Uh+}r<(h.]h/]h-]h4]h5]UcolwidthKuh7j$h]]hUjÐubj¶)r=}r>(h*Uh+}r?(h-]h4]h/]h.]h5]uh7j$h]]r@h<)rA}rB(h*Uh+}rC(h-]h4]h/]h.]h5]uh7j=h]]rD(h8)rE}rF(h*Uh+}rG(h-]h4]h/]h.]h5]uh7jAh]]rHhà)rI}rJ(h*XICSSrKh7jEhSh hUhäh+}rL(h-]h4]h/]h.]h5]uh[K‚h]]rMhfXICSSrN…rO}rP(h*jKh7jIubaubahUjñubh8)rQ}rR(h*Uh+}rS(h-]h4]h/]h.]h5]uh7jAh]]rThà)rU}rV(h*XPRUrWh7jQhSh hUhäh+}rX(h-]h4]h/]h.]h5]uh[K‚h]]rYhfXPRUrZ…r[}r\(h*jWh7jUubaubahUjñubh8)r]}r^(h*Uh+}r_(h-]h4]h/]h.]h5]uh7jAh]]r`hà)ra}rb(h*XInstancerch7j]hSh hUhäh+}rd(h-]h4]h/]h.]h5]uh[K‚h]]rehfXInstancerf…rg}rh(h*jch7jaubaubahUjñubh8)ri}rj(h*Uh+}rk(h-]h4]h/]h.]h5]uh7jAh]]rlhà)rm}rn(h*XFunctional Pinroh7jihSh hUhäh+}rp(h-]h4]h/]h.]h5]uh[K‚h]]rqhfXFunctional Pinrr…rs}rt(h*joh7jmubaubahUjñubh8)ru}rv(h*Uh+}rw(h-]h4]h/]h.]h5]uh7jAh]]rxhà)ry}rz(h*X PRU GPIO Pinsr{h7juhSh hUhäh+}r|(h-]h4]h/]h.]h5]uh[K‚h]]r}hfX PRU GPIO Pinsr~…r}r€(h*j{h7jyubaubahUjñubh8)r}r‚(h*Uh+}rƒ(h-]h4]h/]h.]h5]uh7jAh]]r„hà)r…}r†(h*XEVM Portr‡h7jhSh hUhäh+}rˆ(h-]h4]h/]h.]h5]uh[K‚h]]r‰hfXEVM PortrŠ…r‹}rŒ(h*j‡h7j…ubaubahUjñubh8)r}rŽ(h*Uh+}r(h-]h4]h/]h.]h5]uh7jAh]]rhà)r‘}r’(h*XEVM Pinr“h7jhSh hUhäh+}r”(h-]h4]h/]h.]h5]uh[K‚h]]r•hfXEVM Pinr–…r—}r˜(h*j“h7j‘ubaubahUjñubehUjubahUjãubh@)r™}rš(h*Uh+}r›(h-]h4]h/]h.]h5]uh7j$h]]rœ(h<)r}rž(h*Uh+}rŸ(h-]h4]h/]h.]h5]uh7j™h]]r (h8)r¡}r¢(h*Uh+}r£(h.]h/]h-]h4]UmorerowsKh5]uh7jh]]r¤hà)r¥}r¦(h*XICSS1r§h7j¡hSh hUhäh+}r¨(h-]h4]h/]h.]h5]uh[K‡h]]r©hfXICSS1rª…r«}r¬(h*j§h7j¥ubaubahUjñubh8)r­}r®(h*Uh+}r¯(h.]h/]h-]h4]UmorerowsKh5]uh7jh]]r°hà)r±}r²(h*XPRU0r³h7j­hSh hUhäh+}r´(h-]h4]h/]h.]h5]uh[K‡h]]rµhfXPRU0r¶…r·}r¸(h*j³h7j±ubaubahUjñubh8)r¹}rº(h*Uh+}r»(h.]h/]h-]h4]UmorerowsKh5]uh7jh]]r¼hà)r½}r¾(h*XUART0r¿h7j¹hSh hUhäh+}rÀ(h-]h4]h/]h.]h5]uh[K‡h]]rÁhfXUART0rÂ…rÃ}rÄ(h*j¿h7j½ubaubahUjñubh8)rÅ}rÆ(h*Uh+}rÇ(h-]h4]h/]h.]h5]uh7jh]]rÈhà)rÉ}rÊ(h*XTXrËh7jÅhSh hUhäh+}rÌ(h-]h4]h/]h.]h5]uh[K„h]]rÍhfXTXrÎ…rÏ}rÐ(h*jËh7jÉubaubahUjñubh8)rÑ}rÒ(h*Uh+}rÓ(h-]h4]h/]h.]h5]uh7jh]]rÔhà)rÕ}rÖ(h*Xpr1_pru0_pru_r30_0r×h7jÑhSh hUhäh+}rØ(h-]h4]h/]h.]h5]uh[K„h]]rÙhfXpr1_pru0_pru_r30_0rÚ…rÛ}rÜ(h*j×h7jÕubaubahUjñubh8)rÝ}rÞ(h*Uh+}rß(h-]h4]h/]h.]h5]uh7jh]]ràhà)rá}râ(h*XP9rãh7jÝhSh hUhäh+}rä(h-]h4]h/]h.]h5]uh[K„h]]råhfXP9ræ…rç}rè(h*jãh7jáubaubahUjñubh8)ré}rê(h*Uh+}rë(h-]h4]h/]h.]h5]uh7jh]]rìhà)rí}rî(h*X31rïh7jéhSh hUhäh+}rð(h-]h4]h/]h.]h5]uh[K„h]]rñhfX31rò…ró}rô(h*jïh7jíubaubahUjñubehUjubh<)rõ}rö(h*Uh+}r÷(h-]h4]h/]h.]h5]uh7j™h]]rø(h8)rù}rú(h*Uh+}rû(h-]h4]h/]h.]h5]uh7jõh]]rühà)rý}rþ(h*XRXrÿh7jùhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K†h]]rhfXRXr…r}r(h*jÿh7jýubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jõh]]rhà)r }r (h*Xpr1_pru0_pru_r31_1r h7jhSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K†h]]r hfXpr1_pru0_pru_r31_1r…r}r(h*j h7j ubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jõh]]rhà)r}r(h*XP9rh7jhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K†h]]rhfXP9r…r}r(h*jh7jubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jõh]]r hà)r!}r"(h*X29r#h7jhSh hUhäh+}r$(h-]h4]h/]h.]h5]uh[K†h]]r%hfX29r&…r'}r((h*j#h7j!ubaubahUjñubehUjubh<)r)}r*(h*Uh+}r+(h-]h4]h/]h.]h5]uh7j™h]]r,(h8)r-}r.(h*Uh+}r/(h-]h4]h/]h.]h5]uh7j)h]]r0hà)r1}r2(h*XCTSr3h7j-hSh hUhäh+}r4(h-]h4]h/]h.]h5]uh[Kˆh]]r5hfXCTSr6…r7}r8(h*j3h7j1ubaubahUjñubh8)r9}r:(h*Uh+}r;(h-]h4]h/]h.]h5]uh7j)h]]r<hà)r=}r>(h*X\-h7j9hSh hUhäh+}r?(h-]h4]h/]h.]h5]uh[Kˆh]]r@hfX-…rA}rB(h*X\-h7j=ubaubahUjñubh8)rC}rD(h*Uh+}rE(h-]h4]h/]h.]h5]uh7j)h]]rFhà)rG}rH(h*X\-h7jChSh hUhäh+}rI(h-]h4]h/]h.]h5]uh[Kˆh]]rJhfX-…rK}rL(h*X\-h7jGubaubahUjñubh8)rM}rN(h*Uh+}rO(h-]h4]h/]h.]h5]uh7j)h]]rPhà)rQ}rR(h*X\-h7jMhSh hUhäh+}rS(h-]h4]h/]h.]h5]uh[Kˆh]]rThfX-…rU}rV(h*X\-h7jQubaubahUjñubehUjubh<)rW}rX(h*Uh+}rY(h-]h4]h/]h.]h5]uh7j™h]]rZ(h8)r[}r\(h*Uh+}r](h-]h4]h/]h.]h5]uh7jWh]]r^hà)r_}r`(h*XRTSrah7j[hSh hUhäh+}rb(h-]h4]h/]h.]h5]uh[KŠh]]rchfXRTSrd…re}rf(h*jah7j_ubaubahUjñubh8)rg}rh(h*Uh+}ri(h-]h4]h/]h.]h5]uh7jWh]]rjhà)rk}rl(h*X\-h7jghSh hUhäh+}rm(h-]h4]h/]h.]h5]uh[KŠh]]rnhfX-…ro}rp(h*X\-h7jkubaubahUjñubh8)rq}rr(h*Uh+}rs(h-]h4]h/]h.]h5]uh7jWh]]rthà)ru}rv(h*X\-h7jqhSh hUhäh+}rw(h-]h4]h/]h.]h5]uh[KŠh]]rxhfX-…ry}rz(h*X\-h7juubaubahUjñubh8)r{}r|(h*Uh+}r}(h-]h4]h/]h.]h5]uh7jWh]]r~hà)r}r€(h*X\-h7j{hSh hUhäh+}r(h-]h4]h/]h.]h5]uh[KŠh]]r‚hfX-…rƒ}r„(h*X\-h7jubaubahUjñubehUjubh<)r…}r†(h*Uh+}r‡(h-]h4]h/]h.]h5]uh7j™h]]rˆ(h8)r‰}rŠ(h*Uh+}r‹(h.]h/]h-]h4]UmorerowsKh5]uh7j…h]]rŒhà)r}rŽ(h*XICSS1rh7j‰hSh hUhäh+}r(h-]h4]h/]h.]h5]uh[Kh]]r‘hfXICSS1r’…r“}r”(h*jh7jubaubahUjñubh8)r•}r–(h*Uh+}r—(h.]h/]h-]h4]UmorerowsKh5]uh7j…h]]r˜hà)r™}rš(h*XPRU0r›h7j•hSh hUhäh+}rœ(h-]h4]h/]h.]h5]uh[Kh]]rhfXPRU0rž…rŸ}r (h*j›h7j™ubaubahUjñubh8)r¡}r¢(h*Uh+}r£(h.]h/]h-]h4]UmorerowsKh5]uh7j…h]]r¤hà)r¥}r¦(h*XUART1r§h7j¡hSh hUhäh+}r¨(h-]h4]h/]h.]h5]uh[Kh]]r©hfXUART1rª…r«}r¬(h*j§h7j¥ubaubahUjñubh8)r­}r®(h*Uh+}r¯(h-]h4]h/]h.]h5]uh7j…h]]r°hà)r±}r²(h*XTXr³h7j­hSh hUhäh+}r´(h-]h4]h/]h.]h5]uh[KŒh]]rµhfXTXr¶…r·}r¸(h*j³h7j±ubaubahUjñubh8)r¹}rº(h*Uh+}r»(h-]h4]h/]h.]h5]uh7j…h]]r¼hà)r½}r¾(h*Xpr1_pru0_pru_r30_2r¿h7j¹hSh hUhäh+}rÀ(h-]h4]h/]h.]h5]uh[KŒh]]rÁhfXpr1_pru0_pru_r30_2rÂ…rÃ}rÄ(h*j¿h7j½ubaubahUjñubh8)rÅ}rÆ(h*Uh+}rÇ(h-]h4]h/]h.]h5]uh7j…h]]rÈhà)rÉ}rÊ(h*XP9rËh7jÅhSh hUhäh+}rÌ(h-]h4]h/]h.]h5]uh[KŒh]]rÍhfXP9rÎ…rÏ}rÐ(h*jËh7jÉubaubahUjñubh8)rÑ}rÒ(h*Uh+}rÓ(h-]h4]h/]h.]h5]uh7j…h]]rÔhà)rÕ}rÖ(h*X30r×h7jÑhSh hUhäh+}rØ(h-]h4]h/]h.]h5]uh[KŒh]]rÙhfX30rÚ…rÛ}rÜ(h*j×h7jÕubaubahUjñubehUjubh<)rÝ}rÞ(h*Uh+}rß(h-]h4]h/]h.]h5]uh7j™h]]rà(h8)rá}râ(h*Uh+}rã(h-]h4]h/]h.]h5]uh7jÝh]]rähà)rå}ræ(h*XRXrçh7jáhSh hUhäh+}rè(h-]h4]h/]h.]h5]uh[KŽh]]réhfXRXrê…rë}rì(h*jçh7jåubaubahUjñubh8)rí}rî(h*Uh+}rï(h-]h4]h/]h.]h5]uh7jÝh]]rðhà)rñ}rò(h*Xpr1_pru0_pru_r31_3róh7jíhSh hUhäh+}rô(h-]h4]h/]h.]h5]uh[KŽh]]rõhfXpr1_pru0_pru_r31_3rö…r÷}rø(h*jóh7jñubaubahUjñubh8)rù}rú(h*Uh+}rû(h-]h4]h/]h.]h5]uh7jÝh]]rühà)rý}rþ(h*XP9rÿh7jùhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[KŽh]]rhfXP9r…r}r(h*jÿh7jýubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jÝh]]rhà)r }r (h*X28r h7jhSh hUhäh+}r (h-]h4]h/]h.]h5]uh[KŽh]]r hfX28r…r}r(h*j h7j ubaubahUjñubehUjubh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7j™h]]r(h8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*XCTSrh7jhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[Kh]]rhfXCTSr…r}r (h*jh7jubaubahUjñubh8)r!}r"(h*Uh+}r#(h-]h4]h/]h.]h5]uh7jh]]r$hà)r%}r&(h*X\-h7j!hSh hUhäh+}r'(h-]h4]h/]h.]h5]uh[Kh]]r(hfX-…r)}r*(h*X\-h7j%ubaubahUjñubh8)r+}r,(h*Uh+}r-(h-]h4]h/]h.]h5]uh7jh]]r.hà)r/}r0(h*X\-h7j+hSh hUhäh+}r1(h-]h4]h/]h.]h5]uh[Kh]]r2hfX-…r3}r4(h*X\-h7j/ubaubahUjñubh8)r5}r6(h*Uh+}r7(h-]h4]h/]h.]h5]uh7jh]]r8hà)r9}r:(h*X\-h7j5hSh hUhäh+}r;(h-]h4]h/]h.]h5]uh[Kh]]r<hfX-…r=}r>(h*X\-h7j9ubaubahUjñubehUjubh<)r?}r@(h*Uh+}rA(h-]h4]h/]h.]h5]uh7j™h]]rB(h8)rC}rD(h*Uh+}rE(h-]h4]h/]h.]h5]uh7j?h]]rFhà)rG}rH(h*XRTSrIh7jChSh hUhäh+}rJ(h-]h4]h/]h.]h5]uh[K’h]]rKhfXRTSrL…rM}rN(h*jIh7jGubaubahUjñubh8)rO}rP(h*Uh+}rQ(h-]h4]h/]h.]h5]uh7j?h]]rRhà)rS}rT(h*X\-h7jOhSh hUhäh+}rU(h-]h4]h/]h.]h5]uh[K’h]]rVhfX-…rW}rX(h*X\-h7jSubaubahUjñubh8)rY}rZ(h*Uh+}r[(h-]h4]h/]h.]h5]uh7j?h]]r\hà)r]}r^(h*X\-h7jYhSh hUhäh+}r_(h-]h4]h/]h.]h5]uh[K’h]]r`hfX-…ra}rb(h*X\-h7j]ubaubahUjñubh8)rc}rd(h*Uh+}re(h-]h4]h/]h.]h5]uh7j?h]]rfhà)rg}rh(h*X\-h7jchSh hUhäh+}ri(h-]h4]h/]h.]h5]uh[K’h]]rjhfX-…rk}rl(h*X\-h7jgubaubahUjñubehUjubh<)rm}rn(h*Uh+}ro(h-]h4]h/]h.]h5]uh7j™h]]rp(h8)rq}rr(h*Uh+}rs(h.]h/]h-]h4]UmorerowsKh5]uh7jmh]]rthà)ru}rv(h*XICSS1rwh7jqhSh hUhäh+}rx(h-]h4]h/]h.]h5]uh[K—h]]ryhfXICSS1rz…r{}r|(h*jwh7juubaubahUjñubh8)r}}r~(h*Uh+}r(h.]h/]h-]h4]UmorerowsKh5]uh7jmh]]r€hà)r}r‚(h*XPRU0rƒh7j}hSh hUhäh+}r„(h-]h4]h/]h.]h5]uh[K—h]]r…hfXPRU0r†…r‡}rˆ(h*jƒh7jubaubahUjñubh8)r‰}rŠ(h*Uh+}r‹(h.]h/]h-]h4]UmorerowsKh5]uh7jmh]]rŒhà)r}rŽ(h*XUART2rh7j‰hSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K—h]]r‘hfXUART2r’…r“}r”(h*jh7jubaubahUjñubh8)r•}r–(h*Uh+}r—(h-]h4]h/]h.]h5]uh7jmh]]r˜hà)r™}rš(h*XTXr›h7j•hSh hUhäh+}rœ(h-]h4]h/]h.]h5]uh[K”h]]rhfXTXrž…rŸ}r (h*j›h7j™ubaubahUjñubh8)r¡}r¢(h*Uh+}r£(h-]h4]h/]h.]h5]uh7jmh]]r¤hà)r¥}r¦(h*Xpr1_pru0_pru_r30_5r§h7j¡hSh hUhäh+}r¨(h-]h4]h/]h.]h5]uh[K”h]]r©hfXpr1_pru0_pru_r30_5rª…r«}r¬(h*j§h7j¥ubaubahUjñubh8)r­}r®(h*Uh+}r¯(h-]h4]h/]h.]h5]uh7jmh]]r°hà)r±}r²(h*XP9r³h7j­hSh hUhäh+}r´(h-]h4]h/]h.]h5]uh[K”h]]rµhfXP9r¶…r·}r¸(h*j³h7j±ubaubahUjñubh8)r¹}rº(h*Uh+}r»(h-]h4]h/]h.]h5]uh7jmh]]r¼hà)r½}r¾(h*X27r¿h7j¹hSh hUhäh+}rÀ(h-]h4]h/]h.]h5]uh[K”h]]rÁhfX27rÂ…rÃ}rÄ(h*j¿h7j½ubaubahUjñubehUjubh<)rÅ}rÆ(h*Uh+}rÇ(h-]h4]h/]h.]h5]uh7j™h]]rÈ(h8)rÉ}rÊ(h*Uh+}rË(h-]h4]h/]h.]h5]uh7jÅh]]rÌhà)rÍ}rÎ(h*XRXrÏh7jÉhSh hUhäh+}rÐ(h-]h4]h/]h.]h5]uh[K–h]]rÑhfXRXrÒ…rÓ}rÔ(h*jÏh7jÍubaubahUjñubh8)rÕ}rÖ(h*Uh+}r×(h-]h4]h/]h.]h5]uh7jÅh]]rØhà)rÙ}rÚ(h*Xpr1_pru0_pru_r31_7rÛh7jÕhSh hUhäh+}rÜ(h-]h4]h/]h.]h5]uh[K–h]]rÝhfXpr1_pru0_pru_r31_7rÞ…rß}rà(h*jÛh7jÙubaubahUjñubh8)rá}râ(h*Uh+}rã(h-]h4]h/]h.]h5]uh7jÅh]]rähà)rå}ræ(h*XP9rçh7jáhSh hUhäh+}rè(h-]h4]h/]h.]h5]uh[K–h]]réhfXP9rê…rë}rì(h*jçh7jåubaubahUjñubh8)rí}rî(h*Uh+}rï(h-]h4]h/]h.]h5]uh7jÅh]]rðhà)rñ}rò(h*X25róh7jíhSh hUhäh+}rô(h-]h4]h/]h.]h5]uh[K–h]]rõhfX25rö…r÷}rø(h*jóh7jñubaubahUjñubehUjubh<)rù}rú(h*Uh+}rû(h-]h4]h/]h.]h5]uh7j™h]]rü(h8)rý}rþ(h*Uh+}rÿ(h-]h4]h/]h.]h5]uh7jùh]]rhà)r}r(h*XCTSrh7jýhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K˜h]]rhfXCTSr…r}r(h*jh7jubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jùh]]r hà)r }r(h*X\-h7j hSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K˜h]]rhfX-…r}r(h*X\-h7j ubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jùh]]rhà)r}r(h*X\-h7jhSh hUhäh+}r(h-]h4]h/]h.]h5]uh[K˜h]]rhfX-…r}r(h*X\-h7jubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jùh]]r hà)r!}r"(h*X\-h7jhSh hUhäh+}r#(h-]h4]h/]h.]h5]uh[K˜h]]r$hfX-…r%}r&(h*X\-h7j!ubaubahUjñubehUjubh<)r'}r((h*Uh+}r)(h-]h4]h/]h.]h5]uh7j™h]]r*(h8)r+}r,(h*Uh+}r-(h-]h4]h/]h.]h5]uh7j'h]]r.hà)r/}r0(h*XRTSr1h7j+hSh hUhäh+}r2(h-]h4]h/]h.]h5]uh[Kšh]]r3hfXRTSr4…r5}r6(h*j1h7j/ubaubahUjñubh8)r7}r8(h*Uh+}r9(h-]h4]h/]h.]h5]uh7j'h]]r:hà)r;}r<(h*X\-h7j7hSh hUhäh+}r=(h-]h4]h/]h.]h5]uh[Kšh]]r>hfX-…r?}r@(h*X\-h7j;ubaubahUjñubh8)rA}rB(h*Uh+}rC(h-]h4]h/]h.]h5]uh7j'h]]rDhà)rE}rF(h*X\-h7jAhSh hUhäh+}rG(h-]h4]h/]h.]h5]uh[Kšh]]rHhfX-…rI}rJ(h*X\-h7jEubaubahUjñubh8)rK}rL(h*Uh+}rM(h-]h4]h/]h.]h5]uh7j'h]]rNhà)rO}rP(h*X\-h7jKhSh hUhäh+}rQ(h-]h4]h/]h.]h5]uh[Kšh]]rRhfX-…rS}rT(h*X\-h7jOubaubahUjñubehUjubh<)rU}rV(h*Uh+}rW(h-]h4]h/]h.]h5]uh7j™h]]rX(h8)rY}rZ(h*Uh+}r[(h.]h/]h-]h4]UmorerowsKh5]uh7jUh]]r\hà)r]}r^(h*XICSS1r_h7jYhSh hUhäh+}r`(h-]h4]h/]h.]h5]uh[KŸh]]rahfXICSS1rb…rc}rd(h*j_h7j]ubaubahUjñubh8)re}rf(h*Uh+}rg(h.]h/]h-]h4]UmorerowsKh5]uh7jUh]]rhhà)ri}rj(h*XPRU1rkh7jehSh hUhäh+}rl(h-]h4]h/]h.]h5]uh[KŸh]]rmhfXPRU1rn…ro}rp(h*jkh7jiubaubahUjñubh8)rq}rr(h*Uh+}rs(h.]h/]h-]h4]UmorerowsKh5]uh7jUh]]rthà)ru}rv(h*XUART0rwh7jqhSh hUhäh+}rx(h-]h4]h/]h.]h5]uh[KŸh]]ryhfXUART0rz…r{}r|(h*jwh7juubaubahUjñubh8)r}}r~(h*Uh+}r(h-]h4]h/]h.]h5]uh7jUh]]r€hà)r}r‚(h*XTXrƒh7j}hSh hUhäh+}r„(h-]h4]h/]h.]h5]uh[Kœh]]r…hfXTXr†…r‡}rˆ(h*jƒh7jubaubahUjñubh8)r‰}rŠ(h*Uh+}r‹(h-]h4]h/]h.]h5]uh7jUh]]rŒhà)r}rŽ(h*Xpr1_pru0_pru_r30_0rh7j‰hSh hUhäh+}r(h-]h4]h/]h.]h5]uh[Kœh]]r‘hfXpr1_pru0_pru_r30_0r’…r“}r”(h*jh7jubaubahUjñubh8)r•}r–(h*Uh+}r—(h-]h4]h/]h.]h5]uh7jUh]]r˜hà)r™}rš(h*XP8r›h7j•hSh hUhäh+}rœ(h-]h4]h/]h.]h5]uh[Kœh]]rhfXP8rž…rŸ}r (h*j›h7j™ubaubahUjñubh8)r¡}r¢(h*Uh+}r£(h-]h4]h/]h.]h5]uh7jUh]]r¤hà)r¥}r¦(h*X45r§h7j¡hSh hUhäh+}r¨(h-]h4]h/]h.]h5]uh[Kœh]]r©hfX45rª…r«}r¬(h*j§h7j¥ubaubahUjñubehUjubh<)r­}r®(h*Uh+}r¯(h-]h4]h/]h.]h5]uh7j™h]]r°(h8)r±}r²(h*Uh+}r³(h-]h4]h/]h.]h5]uh7j­h]]r´hà)rµ}r¶(h*XRXr·h7j±hSh hUhäh+}r¸(h-]h4]h/]h.]h5]uh[Kžh]]r¹hfXRXrº…r»}r¼(h*j·h7jµubaubahUjñubh8)r½}r¾(h*Uh+}r¿(h-]h4]h/]h.]h5]uh7j­h]]rÀhà)rÁ}rÂ(h*Xpr1_pru0_pru_r31_1rÃh7j½hSh hUhäh+}rÄ(h-]h4]h/]h.]h5]uh[Kžh]]rÅhfXpr1_pru0_pru_r31_1rÆ…rÇ}rÈ(h*jÃh7jÁubaubahUjñubh8)rÉ}rÊ(h*Uh+}rË(h-]h4]h/]h.]h5]uh7j­h]]rÌhà)rÍ}rÎ(h*XP8rÏh7jÉhSh hUhäh+}rÐ(h-]h4]h/]h.]h5]uh[Kžh]]rÑhfXP8rÒ…rÓ}rÔ(h*jÏh7jÍubaubahUjñubh8)rÕ}rÖ(h*Uh+}r×(h-]h4]h/]h.]h5]uh7j­h]]rØhà)rÙ}rÚ(h*X46rÛh7jÕhSh hUhäh+}rÜ(h-]h4]h/]h.]h5]uh[Kžh]]rÝhfX46rÞ…rß}rà(h*jÛh7jÙubaubahUjñubehUjubh<)rá}râ(h*Uh+}rã(h-]h4]h/]h.]h5]uh7j™h]]rä(h8)rå}ræ(h*Uh+}rç(h-]h4]h/]h.]h5]uh7jáh]]rèhà)ré}rê(h*XCTSrëh7jåhSh hUhäh+}rì(h-]h4]h/]h.]h5]uh[K h]]ríhfXCTSrî…rï}rð(h*jëh7jéubaubahUjñubh8)rñ}rò(h*Uh+}ró(h-]h4]h/]h.]h5]uh7jáh]]rôhà)rõ}rö(h*Xpr1_pru1_pru_r31_2r÷h7jñhSh hUhäh+}rø(h-]h4]h/]h.]h5]uh[K h]]rùhfXpr1_pru1_pru_r31_2rú…rû}rü(h*j÷h7jõubaubahUjñubh8)rý}rþ(h*Uh+}rÿ(h-]h4]h/]h.]h5]uh7jáh]]r hà)r }r (h*XP8r h7jýhSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K h]]r hfXP8r …r }r (h*j h7j ubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jáh]]r hà)r }r (h*X43r h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K h]]r hfX43r …r }r (h*j h7j ubaubahUjñubehUjubh<)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j™h]]r (h8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j h]]r hà)r }r (h*XRTSr h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K¢h]]r! hfXRTSr" …r# }r$ (h*j h7j ubaubahUjñubh8)r% }r& (h*Uh+}r' (h-]h4]h/]h.]h5]uh7j h]]r( hà)r) }r* (h*Xpr1_pru1_pru_r30_3r+ h7j% hSh hUhäh+}r, (h-]h4]h/]h.]h5]uh[K¢h]]r- hfXpr1_pru1_pru_r30_3r. …r/ }r0 (h*j+ h7j) ubaubahUjñubh8)r1 }r2 (h*Uh+}r3 (h-]h4]h/]h.]h5]uh7j h]]r4 hà)r5 }r6 (h*XP8r7 h7j1 hSh hUhäh+}r8 (h-]h4]h/]h.]h5]uh[K¢h]]r9 hfXP8r: …r; }r< (h*j7 h7j5 ubaubahUjñubh8)r= }r> (h*Uh+}r? (h-]h4]h/]h.]h5]uh7j h]]r@ hà)rA }rB (h*X44rC h7j= hSh hUhäh+}rD (h-]h4]h/]h.]h5]uh[K¢h]]rE hfX44rF …rG }rH (h*jC h7jA ubaubahUjñubehUjubh<)rI }rJ (h*Uh+}rK (h-]h4]h/]h.]h5]uh7j™h]]rL (h8)rM }rN (h*Uh+}rO (h.]h/]h-]h4]UmorerowsKh5]uh7jI h]]rP hà)rQ }rR (h*XICSS1rS h7jM hSh hUhäh+}rT (h-]h4]h/]h.]h5]uh[K§h]]rU hfXICSS1rV …rW }rX (h*jS h7jQ ubaubahUjñubh8)rY }rZ (h*Uh+}r[ (h.]h/]h-]h4]UmorerowsKh5]uh7jI h]]r\ hà)r] }r^ (h*XPRU1r_ h7jY hSh hUhäh+}r` (h-]h4]h/]h.]h5]uh[K§h]]ra hfXPRU1rb …rc }rd (h*j_ h7j] ubaubahUjñubh8)re }rf (h*Uh+}rg (h.]h/]h-]h4]UmorerowsKh5]uh7jI h]]rh hà)ri }rj (h*XUART1rk h7je hSh hUhäh+}rl (h-]h4]h/]h.]h5]uh[K§h]]rm hfXUART1rn …ro }rp (h*jk h7ji ubaubahUjñubh8)rq }rr (h*Uh+}rs (h-]h4]h/]h.]h5]uh7jI h]]rt hà)ru }rv (h*XTXrw h7jq hSh hUhäh+}rx (h-]h4]h/]h.]h5]uh[K¤h]]ry hfXTXrz …r{ }r| (h*jw h7ju ubaubahUjñubh8)r} }r~ (h*Uh+}r (h-]h4]h/]h.]h5]uh7jI h]]r€ hà)r }r‚ (h*Xpr1_pru0_pru_r30_4rƒ h7j} hSh hUhäh+}r„ (h-]h4]h/]h.]h5]uh[K¤h]]r… hfXpr1_pru0_pru_r30_4r† …r‡ }rˆ (h*jƒ h7j ubaubahUjñubh8)r‰ }rŠ (h*Uh+}r‹ (h-]h4]h/]h.]h5]uh7jI h]]rŒ hà)r }rŽ (h*XP8r h7j‰ hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K¤h]]r‘ hfXP8r’ …r“ }r” (h*j h7j ubaubahUjñubh8)r• }r– (h*Uh+}r— (h-]h4]h/]h.]h5]uh7jI h]]r˜ hà)r™ }rš (h*X41r› h7j• hSh hUhäh+}rœ (h-]h4]h/]h.]h5]uh[K¤h]]r hfX41rž …rŸ }r  (h*j› h7j™ ubaubahUjñubehUjubh<)r¡ }r¢ (h*Uh+}r£ (h-]h4]h/]h.]h5]uh7j™h]]r¤ (h8)r¥ }r¦ (h*Uh+}r§ (h-]h4]h/]h.]h5]uh7j¡ h]]r¨ hà)r© }rª (h*XRXr« h7j¥ hSh hUhäh+}r¬ (h-]h4]h/]h.]h5]uh[K¦h]]r­ hfXRXr® …r¯ }r° (h*j« h7j© ubaubahUjñubh8)r± }r² (h*Uh+}r³ (h-]h4]h/]h.]h5]uh7j¡ h]]r´ hà)rµ }r¶ (h*Xpr1_pru0_pru_r31_5r· h7j± hSh hUhäh+}r¸ (h-]h4]h/]h.]h5]uh[K¦h]]r¹ hfXpr1_pru0_pru_r31_5rº …r» }r¼ (h*j· h7jµ ubaubahUjñubh8)r½ }r¾ (h*Uh+}r¿ (h-]h4]h/]h.]h5]uh7j¡ h]]rÀ hà)rÁ }r (h*XP8rà h7j½ hSh hUhäh+}rÄ (h-]h4]h/]h.]h5]uh[K¦h]]rÅ hfXP8rÆ …rÇ }rÈ (h*jà h7jÁ ubaubahUjñubh8)rÉ }rÊ (h*Uh+}rË (h-]h4]h/]h.]h5]uh7j¡ h]]rÌ hà)rÍ }rÎ (h*X42rÏ h7jÉ hSh hUhäh+}rÐ (h-]h4]h/]h.]h5]uh[K¦h]]rÑ hfX42rÒ …rÓ }rÔ (h*jÏ h7jÍ ubaubahUjñubehUjubh<)rÕ }rÖ (h*Uh+}r× (h-]h4]h/]h.]h5]uh7j™h]]rØ (h8)rÙ }rÚ (h*Uh+}rÛ (h-]h4]h/]h.]h5]uh7jÕ h]]rÜ hà)rÝ }rÞ (h*XCTSrß h7jÙ hSh hUhäh+}rà (h-]h4]h/]h.]h5]uh[K¨h]]rá hfXCTSrâ …rã }rä (h*jß h7jÝ ubaubahUjñubh8)rå }ræ (h*Uh+}rç (h-]h4]h/]h.]h5]uh7jÕ h]]rè hà)ré }rê (h*Xpr1_pru1_pru_r31_6rë h7jå hSh hUhäh+}rì (h-]h4]h/]h.]h5]uh[K¨h]]rí hfXpr1_pru1_pru_r31_6rî …rï }rð (h*jë h7jé ubaubahUjñubh8)rñ }rò (h*Uh+}ró (h-]h4]h/]h.]h5]uh7jÕ h]]rô hà)rõ }rö (h*XP8r÷ h7jñ hSh hUhäh+}rø (h-]h4]h/]h.]h5]uh[K¨h]]rù hfXP8rú …rû }rü (h*j÷ h7jõ ubaubahUjñubh8)rý }rþ (h*Uh+}rÿ (h-]h4]h/]h.]h5]uh7jÕ h]]r hà)r }r (h*X39r h7jý hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K¨h]]r hfX39r …r }r (h*j h7j ubaubahUjñubehUjubh<)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j™h]]r (h8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j h]]r hà)r }r (h*XRTSr h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[Kªh]]r hfXRTSr …r }r (h*j h7j ubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j h]]r hà)r }r (h*Xpr1_pru1_pru_r30_7r h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[Kªh]]r! hfXpr1_pru1_pru_r30_7r" …r# }r$ (h*j h7j ubaubahUjñubh8)r% }r& (h*Uh+}r' (h-]h4]h/]h.]h5]uh7j h]]r( hà)r) }r* (h*XP8r+ h7j% hSh hUhäh+}r, (h-]h4]h/]h.]h5]uh[Kªh]]r- hfXP8r. …r/ }r0 (h*j+ h7j) ubaubahUjñubh8)r1 }r2 (h*Uh+}r3 (h-]h4]h/]h.]h5]uh7j h]]r4 hà)r5 }r6 (h*X40r7 h7j1 hSh hUhäh+}r8 (h-]h4]h/]h.]h5]uh[Kªh]]r9 hfX40r: …r; }r< (h*j7 h7j5 ubaubahUjñubehUjubh<)r= }r> (h*Uh+}r? (h-]h4]h/]h.]h5]uh7j™h]]r@ (h8)rA }rB (h*Uh+}rC (h.]h/]h-]h4]UmorerowsKh5]uh7j= h]]rD hà)rE }rF (h*XICSS1rG h7jA hSh hUhäh+}rH (h-]h4]h/]h.]h5]uh[K¯h]]rI hfXICSS1rJ …rK }rL (h*jG h7jE ubaubahUjñubh8)rM }rN (h*Uh+}rO (h.]h/]h-]h4]UmorerowsKh5]uh7j= h]]rP hà)rQ }rR (h*XPRU1rS h7jM hSh hUhäh+}rT (h-]h4]h/]h.]h5]uh[K¯h]]rU hfXPRU1rV …rW }rX (h*jS h7jQ ubaubahUjñubh8)rY }rZ (h*Uh+}r[ (h.]h/]h-]h4]UmorerowsKh5]uh7j= h]]r\ hà)r] }r^ (h*XUART2r_ h7jY hSh hUhäh+}r` (h-]h4]h/]h.]h5]uh[K¯h]]ra hfXUART2rb …rc }rd (h*j_ h7j] ubaubahUjñubh8)re }rf (h*Uh+}rg (h-]h4]h/]h.]h5]uh7j= h]]rh hà)ri }rj (h*XTXrk h7je hSh hUhäh+}rl (h-]h4]h/]h.]h5]uh[K¬h]]rm hfXTXrn …ro }rp (h*jk h7ji ubaubahUjñubh8)rq }rr (h*Uh+}rs (h-]h4]h/]h.]h5]uh7j= h]]rt hà)ru }rv (h*Xpr1_pru0_pru_r30_8rw h7jq hSh hUhäh+}rx (h-]h4]h/]h.]h5]uh[K¬h]]ry hfXpr1_pru0_pru_r30_8rz …r{ }r| (h*jw h7ju ubaubahUjñubh8)r} }r~ (h*Uh+}r (h-]h4]h/]h.]h5]uh7j= h]]r€ hà)r }r‚ (h*XP8rƒ h7j} hSh hUhäh+}r„ (h-]h4]h/]h.]h5]uh[K¬h]]r… hfXP8r† …r‡ }rˆ (h*jƒ h7j ubaubahUjñubh8)r‰ }rŠ (h*Uh+}r‹ (h-]h4]h/]h.]h5]uh7j= h]]rŒ hà)r }rŽ (h*X27r h7j‰ hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K¬h]]r‘ hfX27r’ …r“ }r” (h*j h7j ubaubahUjñubehUjubh<)r• }r– (h*Uh+}r— (h-]h4]h/]h.]h5]uh7j™h]]r˜ (h8)r™ }rš (h*Uh+}r› (h-]h4]h/]h.]h5]uh7j• h]]rœ hà)r }rž (h*XRXrŸ h7j™ hSh hUhäh+}r  (h-]h4]h/]h.]h5]uh[K®h]]r¡ hfXRXr¢ …r£ }r¤ (h*jŸ h7j ubaubahUjñubh8)r¥ }r¦ (h*Uh+}r§ (h-]h4]h/]h.]h5]uh7j• h]]r¨ hà)r© }rª (h*Xpr1_pru0_pru_r31_9r« h7j¥ hSh hUhäh+}r¬ (h-]h4]h/]h.]h5]uh[K®h]]r­ hfXpr1_pru0_pru_r31_9r® …r¯ }r° (h*j« h7j© ubaubahUjñubh8)r± }r² (h*Uh+}r³ (h-]h4]h/]h.]h5]uh7j• h]]r´ hà)rµ }r¶ (h*XP8r· h7j± hSh hUhäh+}r¸ (h-]h4]h/]h.]h5]uh[K®h]]r¹ hfXP8rº …r» }r¼ (h*j· h7jµ ubaubahUjñubh8)r½ }r¾ (h*Uh+}r¿ (h-]h4]h/]h.]h5]uh7j• h]]rÀ hà)rÁ }r (h*X29rà h7j½ hSh hUhäh+}rÄ (h-]h4]h/]h.]h5]uh[K®h]]rÅ hfX29rÆ …rÇ }rÈ (h*jà h7jÁ ubaubahUjñubehUjubh<)rÉ }rÊ (h*Uh+}rË (h-]h4]h/]h.]h5]uh7j™h]]rÌ (h8)rÍ }rÎ (h*Uh+}rÏ (h-]h4]h/]h.]h5]uh7jÉ h]]rÐ hà)rÑ }rÒ (h*XCTSrÓ h7jÍ hSh hUhäh+}rÔ (h-]h4]h/]h.]h5]uh[K°h]]rÕ hfXCTSrÖ …r× }rØ (h*jÓ h7jÑ ubaubahUjñubh8)rÙ }rÚ (h*Uh+}rÛ (h-]h4]h/]h.]h5]uh7jÉ h]]rÜ hà)rÝ }rÞ (h*Xpr1_pru1_pru_r31_10rß h7jÙ hSh hUhäh+}rà (h-]h4]h/]h.]h5]uh[K°h]]rá hfXpr1_pru1_pru_r31_10râ …rã }rä (h*jß h7jÝ ubaubahUjñubh8)rå }ræ (h*Uh+}rç (h-]h4]h/]h.]h5]uh7jÉ h]]rè hà)ré }rê (h*XP8rë h7jå hSh hUhäh+}rì (h-]h4]h/]h.]h5]uh[K°h]]rí hfXP8rî …rï }rð (h*jë h7jé ubaubahUjñubh8)rñ }rò (h*Uh+}ró (h-]h4]h/]h.]h5]uh7jÉ h]]rô hà)rõ }rö (h*X28r÷ h7jñ hSh hUhäh+}rø (h-]h4]h/]h.]h5]uh[K°h]]rù hfX28rú …rû }rü (h*j÷ h7jõ ubaubahUjñubehUjubh<)rý }rþ (h*Uh+}rÿ (h-]h4]h/]h.]h5]uh7j™h]]r (h8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jý h]]r hà)r }r (h*XRTSr h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K²h]]r hfXRTSr …r }r (h*j h7j ubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jý h]]r hà)r }r (h*Xpr1_pru1_pru_r30_11r h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K²h]]r hfXpr1_pru1_pru_r30_11r …r }r (h*j h7j ubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jý h]]r hà)r }r (h*XP8r h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[K²h]]r! hfXP8r" …r# }r$ (h*j h7j ubaubahUjñubh8)r% }r& (h*Uh+}r' (h-]h4]h/]h.]h5]uh7jý h]]r( hà)r) }r* (h*X30r+ h7j% hSh hUhäh+}r, (h-]h4]h/]h.]h5]uh[K²h]]r- hfX30r. …r/ }r0 (h*j+ h7j) ubaubahUjñubehUjubehUjubehUjubaubhº)r1 }r2 (h*Uh7jhSh hUh½h+}r3 (h-]h4]h/]h.]h5]uh[Kµh\hh]]r4 hÀ)r5 }r6 (h*UhÄKh7j1 hSh hUh[h+}r7 (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubhK)r8 }r9 (h*Uh7h…hSh hUhVh+}r: (h-]h4]h/]h.]r; Uuart-firmware-example-testr< ah5]r= hauh[K¸h\hh]]r> (h_)r? }r@ (h*XUART Firmware Example & TestrA h7j8 hSh hUhch+}rB (h-]h4]h/]h.]h5]uh[K¸h\hh]]rC hfXUART Firmware Example & TestrD …rE }rF (h*jA h7j? ubaubhà)rG }rH (h*XdExample are test applications are available in the package for reference purpose and starting point.rI h7j8 hSh hUhäh+}rJ (h-]h4]h/]h.]h5]uh[K¹h\hh]]rK hfXdExample are test applications are available in the package for reference purpose and starting point.rL …rM }rN (h*jI h7jG ubaubhà)rO }rP (h*X°The example application uses the UART stdio API to repeatedly read characters transmitted from a PC UART. The acquired characters are then written (echoed) back to the PC UART.rQ h7j8 hSh hUhäh+}rR (h-]h4]h/]h.]h5]uh[K¼h\hh]]rS hfX°The example application uses the UART stdio API to repeatedly read characters transmitted from a PC UART. The acquired characters are then written (echoed) back to the PC UART.rT …rU }rV (h*jQ h7jO ubaubhà)rW }rX (h*XìThe test applications are more complex than the example application, and perform many more types of UART transfers than the example application. The test applications performs transfers using UART software IP (implemented in PRU firmware) and hardware IPs with different combinations of UART settings. Both the UART and UART stdio APIs are exercised (note the UART software and hardware IPs use the same UART-LLD API). The test applications are further described in the Firmware Design Guide.rY h7j8 hSh hUhäh+}rZ (h-]h4]h/]h.]h5]uh[KÀh\hh]]r[ hfXìThe test applications are more complex than the example application, and perform many more types of UART transfers than the example application. The test applications performs transfers using UART software IP (implemented in PRU firmware) and hardware IPs with different combinations of UART settings. Both the UART and UART stdio APIs are exercised (note the UART software and hardware IPs use the same UART-LLD API). The test applications are further described in the Firmware Design Guide.r\ …r] }r^ (h*jY h7jW ubaubhº)r_ }r` (h*Uh7j8 hSh hUh½h+}ra (h-]h4]h/]h.]h5]uh[KÈh\hh]]rb hÀ)rc }rd (h*UhÄKh7j_ hSh hUh[h+}re (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubhà)rf }rg (h*X"Sample code for UART write & read:rh h7j8 hSh hUhäh+}ri (h-]h4]h/]h.]h5]uh[KÊh\hh]]rj hfX"Sample code for UART write & read:rk …rl }rm (h*jh h7jf ubaubcdocutils.nodes literal_block rn )ro }rp (h*X‰/* Refer to UART FW example & tests for details */ ... /* Initialize the UART FW configuration */ UART_socInitFwCfg(); Board_init(boardCfg); ... UART_init(); /* Get the default UART init configuration */ UART_socGetFwCfg(uartInst, &uart_cfg); /* Modify the default UART configurations if necessary */ /* Set the default UART init configurations */ UART_socSetFwCfg(uartInst, &uart_cfg); ... UART_Params_init(&uartParams); uartParams.readCallback = UART_callback; uartParams.readMode = UART_MODE_CALLBACK; uartParams.writeCallback = UART_callback; uartParams.writeMode = UART_MODE_CALLBACK; uartParams.parityType = UART_PAR_NONE; handle = UART_open(uartInst, &uartParams); ... /* Initiate UART write */ UART_transactionInit(&wrCbTransaction); wrCbTransaction.buf = (void *)wrBuff; wrCbTransaction.count = sizeof(wrBuffer)/2; if (UART_write2(handle, &wrCbTransaction) == UART_ERROR) { /* UART write failed */ } ... /* Initiate UART read */ UART_transactionInit(&rdCbTransaction); rdCbTransaction.buf = (void *)rdBuff; rdCbTransaction.count = sizeof(rdBuffer)/2; if (UART_read2(handle, &callbackTransaction) == UART_ERROR) { /* UART read failed */ }h7j8 hSh hUU literal_blockrq h+}rr (h¤h¥h.]h/]h-]h4]h5]uh[MÎh\hh]]rs hfX‰/* Refer to UART FW example & tests for details */ ... /* Initialize the UART FW configuration */ UART_socInitFwCfg(); Board_init(boardCfg); ... UART_init(); /* Get the default UART init configuration */ UART_socGetFwCfg(uartInst, &uart_cfg); /* Modify the default UART configurations if necessary */ /* Set the default UART init configurations */ UART_socSetFwCfg(uartInst, &uart_cfg); ... UART_Params_init(&uartParams); uartParams.readCallback = UART_callback; uartParams.readMode = UART_MODE_CALLBACK; uartParams.writeCallback = UART_callback; uartParams.writeMode = UART_MODE_CALLBACK; uartParams.parityType = UART_PAR_NONE; handle = UART_open(uartInst, &uartParams); ... /* Initiate UART write */ UART_transactionInit(&wrCbTransaction); wrCbTransaction.buf = (void *)wrBuff; wrCbTransaction.count = sizeof(wrBuffer)/2; if (UART_write2(handle, &wrCbTransaction) == UART_ERROR) { /* UART write failed */ } ... /* Initiate UART read */ UART_transactionInit(&rdCbTransaction); rdCbTransaction.buf = (void *)rdBuff; rdCbTransaction.count = sizeof(rdBuffer)/2; if (UART_read2(handle, &callbackTransaction) == UART_ERROR) { /* UART read failed */ }rt …ru }rv (h*Uh7jo ubaubhº)rw }rx (h*Uh7j8 hSh hUh½h+}ry (h-]h4]h/]h.]h5]uh[Kùh\hh]]rz hÀ)r{ }r| (h*UhÄKh7jw hSh hUh[h+}r} (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubj¨)r~ }r (h*XList of Examples & Testsr€ h7j8 hSh hUj¬h+}r (h.]r‚ Uexamples-tests-listrƒ ah/]h-]h4]h5]r„ hauh[Nh\hh]]r… hfXList of Examples & Testsr† …r‡ }rˆ (h*j€ h7j~ ubaubhà)r‰ }rŠ (h*XURefer to the Release Notes for details concerning UART support across different EVMs.r‹ h7j8 hSh hUhäh+}rŒ (h-]h4]h/]h.]h5]uh[Kþh\hh]]r hfXURefer to the Release Notes for details concerning UART support across different EVMs.rŽ …r }r (h*j‹ h7j‰ ubaubhH)r‘ }r’ (h*Uh7j8 hSh hUjÅh+}r“ (h-]h4]h/]h.]h5]uh[Nh\hh]]r” hD)r• }r– (h*Uh+}r— (h.]h/]h-]h4]h5]UcolsKuh7j‘ h]]r˜ (jÌ)r™ }rš (h*Uh+}r› (h.]h/]h-]h4]h5]UcolwidthKuh7j• h]]hUjÐubjÌ)rœ }r (h*Uh+}rž (h.]h/]h-]h4]h5]UcolwidthKuh7j• h]]hUjÐubjÌ)rŸ }r  (h*Uh+}r¡ (h.]h/]h-]h4]h5]UcolwidthKuh7j• h]]hUjÐubj¶)r¢ }r£ (h*Uh+}r¤ (h-]h4]h/]h.]h5]uh7j• h]]r¥ h<)r¦ }r§ (h*Uh+}r¨ (h-]h4]h/]h.]h5]uh7j¢ h]]r© (h8)rª }r« (h*Uh+}r¬ (h-]h4]h/]h.]h5]uh7j¦ h]]r­ hà)r® }r¯ (h*XNamer° h7jª hSh hUhäh+}r± (h-]h4]h/]h.]h5]uh[Mh]]r² hfXNamer³ …r´ }rµ (h*j° h7j® ubaubahUjñubh8)r¶ }r· (h*Uh+}r¸ (h-]h4]h/]h.]h5]uh7j¦ h]]r¹ hà)rº }r» (h*X Descriptionr¼ h7j¶ hSh hUhäh+}r½ (h-]h4]h/]h.]h5]uh[Mh]]r¾ hfX Descriptionr¿ …rÀ }rÁ (h*j¼ h7jº ubaubahUjñubh8)r }rà (h*Uh+}rÄ (h-]h4]h/]h.]h5]uh7j¦ h]]rÅ hà)rÆ }rÇ (h*XExpected ResultsrÈ h7j hSh hUhäh+}rÉ (h-]h4]h/]h.]h5]uh[Mh]]rÊ hfXExpected ResultsrË …rÌ }rÍ (h*jÈ h7jÆ ubaubahUjñubehUjubahUjãubh@)rÎ }rÏ (h*Uh+}rÐ (h-]h4]h/]h.]h5]uh7j• h]]rÑ (h<)rÒ }rÓ (h*Uh+}rÔ (h-]h4]h/]h.]h5]uh7jÎ h]]rÕ (h8)rÖ }r× (h*Uh+}rØ (h-]h4]h/]h.]h5]uh7jÒ h]]rÙ hà)rÚ }rÛ (h*XUART_FwExamplerÜ h7jÖ hSh hUhäh+}rÝ (h-]h4]h/]h.]h5]uh[Mh]]rÞ hfXUART_FwExamplerß …rà }rá (h*jÜ h7jÚ ubaubahUjñubh8)râ }rã (h*Uh+}rä (h-]h4]h/]h.]h5]uh7jÒ h]]rå hà)ræ }rç (h*X*Example application for PRU UART FW driverrè h7jâ hSh hUhäh+}ré (h-]h4]h/]h.]h5]uh[Mh]]rê hfX*Example application for PRU UART FW driverrë …rì }rí (h*jè h7jæ ubaubahUjñubh8)rî }rï (h*Uh+}rð (h-]h4]h/]h.]h5]uh7jÒ h]]rñ (hà)rò }ró (h*XOStatus messages will be displayed on console based based on pass/fail criteria:rô h7jî hSh hUhäh+}rõ (h-]h4]h/]h.]h5]uh[Mh]]rö hfXOStatus messages will be displayed on console based based on pass/fail criteria:r÷ …rø }rù (h*jô h7jò ubaubhà)rú }rû (h*X**Pass criteria:**rü h7jî hSh hUhäh+}rý (h-]h4]h/]h.]h5]uh[Mh]]rþ jè)rÿ }r (h*jü h+}r (h-]h4]h/]h.]h5]uh7jú h]]r hfXPass criteria:r …r }r (h*Uh7jÿ ubahUjðubaubhà)r }r (h*X All Passedr h7jî hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[M h]]r hfX All Passedr …r }r (h*j h7j ubaubehUjñubehUjubh<)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jÎ h]]r (h8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j h]]r hà)r }r (h*X UART_FwTestr h7j hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[M h]]r hfX UART_FwTestr …r }r (h*j h7j ubaubahUjñubh8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7j h]]r! hà)r" }r# (h*X.Simple test application for PRU UART FW driverr$ h7j hSh hUhäh+}r% (h-]h4]h/]h.]h5]uh[M h]]r& hfX.Simple test application for PRU UART FW driverr' …r( }r) (h*j$ h7j" ubaubahUjñubh8)r* }r+ (h*Uh+}r, (h-]h4]h/]h.]h5]uh7j h]]r- (hà)r. }r/ (h*XIStatus messages will be displayed on console based on pass/fail criteria:r0 h7j* hSh hUhäh+}r1 (h-]h4]h/]h.]h5]uh[M h]]r2 hfXIStatus messages will be displayed on console based on pass/fail criteria:r3 …r4 }r5 (h*j0 h7j. ubaubhà)r6 }r7 (h*X**Pass criteria:**r8 h7j* hSh hUhäh+}r9 (h-]h4]h/]h.]h5]uh[Mh]]r: jè)r; }r< (h*j8 h+}r= (h-]h4]h/]h.]h5]uh7j6 h]]r> hfXPass criteria:r? …r@ }rA (h*Uh7j; ubahUjðubaubhà)rB }rC (h*XAll tests have passed.rD h7j* hSh hUhäh+}rE (h-]h4]h/]h.]h5]uh[Mh]]rF hfXAll tests have passed.rG …rH }rI (h*jD h7jB ubaubehUjñubehUjubh<)rJ }rK (h*Uh+}rL (h-]h4]h/]h.]h5]uh7jÎ h]]rM (h8)rN }rO (h*Uh+}rP (h-]h4]h/]h.]h5]uh7jJ h]]rQ hà)rR }rS (h*XUART_FwTestExtLbrT h7jN hSh hUhäh+}rU (h-]h4]h/]h.]h5]uh[Mh]]rV hfXUART_FwTestExtLbrW …rX }rY (h*jT h7jR ubaubahUjñubh8)rZ }r[ (h*Uh+}r\ (h-]h4]h/]h.]h5]uh7jJ h]]r] hà)r^ }r_ (h*XRMore complex test test application for PRU UART FW driver, superset of UART_FwTestr` h7jZ hSh hUhäh+}ra (h-]h4]h/]h.]h5]uh[Mh]]rb hfXRMore complex test test application for PRU UART FW driver, superset of UART_FwTestrc …rd }re (h*j` h7j^ ubaubahUjñubh8)rf }rg (h*Uh+}rh (h-]h4]h/]h.]h5]uh7jJ h]]ri (hà)rj }rk (h*XIStatus messages will be displayed on console based on pass/fail criteria:rl h7jf hSh hUhäh+}rm (h-]h4]h/]h.]h5]uh[Mh]]rn hfXIStatus messages will be displayed on console based on pass/fail criteria:ro …rp }rq (h*jl h7jj ubaubhà)rr }rs (h*X**Pass criteria:**rt h7jf hSh hUhäh+}ru (h-]h4]h/]h.]h5]uh[Mh]]rv jè)rw }rx (h*jt h+}ry (h-]h4]h/]h.]h5]uh7jr h]]rz hfXPass criteria:r{ …r| }r} (h*Uh7jw ubahUjðubaubhà)r~ }r (h*XAll tests have passed.r€ h7jf hSh hUhäh+}r (h-]h4]h/]h.]h5]uh[Mh]]r‚ hfXAll tests have passed.rƒ …r„ }r… (h*j€ h7j~ ubaubehUjñubehUjubehUjubehUjubaubhº)r† }r‡ (h*Uh7j8 hSh hUh½h+}rˆ (h-]h4]h/]h.]h5]uh[M!h\hh]]r‰ hÀ)rŠ }r‹ (h*UhÄKh7j† hSh hUh[h+}rŒ (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubj¨)r }rŽ (h*XFirmware Design Guider hNKh7j8 hSh hUj¬h+}r (h.]r‘ Uid4r’ ah/]h-]r“ Xfirmware-design-guider” ah4]h5]uh[Nh\hh]]r• hfXFirmware Design Guider– …r— }r˜ (h*j h7j ubaubhH)r™ }rš (h*Uh7j8 hSh hUjÅh+}r› (h-]h4]h/]h.]h5]uh[Nh\hh]]rœ hD)r }rž (h*Uh+}rŸ (h.]h/]h-]h4]h5]UcolsKuh7j™ h]]r  (jÌ)r¡ }r¢ (h*Uh+}r£ (h.]h/]h-]h4]h5]UcolwidthK#uh7j h]]hUjÐubjÌ)r¤ }r¥ (h*Uh+}r¦ (h.]h/]h-]h4]h5]UcolwidthK:uh7j h]]hUjÐubh@)r§ }r¨ (h*Uh+}r© (h-]h4]h/]h.]h5]uh7j h]]rª (h<)r« }r¬ (h*Uh+}r­ (h-]h4]h/]h.]h5]uh7j§ h]]r® (h8)r¯ }r° (h*Uh+}r± (h-]h4]h/]h.]h5]uh7j« h]]r² hà)r³ }r´ (h*X **Document**rµ h7j¯ hSh hUhäh+}r¶ (h-]h4]h/]h.]h5]uh[M'h]]r· jè)r¸ }r¹ (h*jµ h+}rº (h-]h4]h/]h.]h5]uh7j³ h]]r» hfXDocumentr¼ …r½ }r¾ (h*Uh7j¸ ubahUjðubaubahUjñubh8)r¿ }rÀ (h*Uh+}rÁ (h-]h4]h/]h.]h5]uh7j« h]]r hà)rà }rÄ (h*X **Location**rÅ h7j¿ hSh hUhäh+}rÆ (h-]h4]h/]h.]h5]uh[M'h]]rÇ jè)rÈ }rÉ (h*jÅ h+}rÊ (h-]h4]h/]h.]h5]uh7jà h]]rË hfXLocationrÌ …rÍ }rÎ (h*Uh7jÈ ubahUjðubaubahUjñubehUjubh<)rÏ }rÐ (h*Uh+}rÑ (h-]h4]h/]h.]h5]uh7j§ h]]rÒ (h8)rÓ }rÔ (h*Uh+}rÕ (h-]h4]h/]h.]h5]uh7jÏ h]]rÖ hà)r× }rØ (h*XUART Firmware Design GuiderÙ h7jÓ hSh hUhäh+}rÚ (h-]h4]h/]h.]h5]uh[M)h]]rÛ hfXUART Firmware Design GuiderÜ …rÝ }rÞ (h*jÙ h7j× ubaubahUjñubh8)rß }rà (h*Uh+}rá (h-]h4]h/]h.]h5]uh7jÏ h]]râ hà)rã }rä (h*X8/packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.pdfrå h7jß hSh hUhäh+}ræ (h-]h4]h/]h.]h5]uh[M)h]]rç hfX8/packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.pdfrè …ré }rê (h*jå h7jã ubaubahUjñubehUjubehUjubehUjubaubhà)rë }rì (h*XŽ**NOTE: Design document includes details for internal firmware implementation and can be used in case of modification required for firmware.**rí h7j8 hSh hUhäh+}rî (h-]h4]h/]h.]h5]uh[M,h\hh]]rï jè)rð }rñ (h*jí h+}rò (h-]h4]h/]h.]h5]uh7jë h]]ró hfXŠNOTE: Design document includes details for internal firmware implementation and can be used in case of modification required for firmware.rô …rõ }rö (h*Uh7jð ubahUjðubaubhº)r÷ }rø (h*Uh7j8 hSh hUh½h+}rù (h-]h4]h/]h.]h5]uh[M0h\hh]]rú hÀ)rû }rü (h*UhÄKh7j÷ hSh hUh[h+}rý (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubeubeubhShThUhVh+}rþ (h-]h4]h/]h.]rÿ U pru-icss-espir ah5]r hauh[K h\hh]]r (h_)r }r (h*X PRU-ICSS ESPIr h7hOhShThUhch+}r (h-]h4]h/]h.]h5]uh[K h\hh]]r hfX PRU-ICSS ESPIr …r }r (h*j h7j ubaubh”)r }r (h*X!.. _PRU-ICSS-ESPI-FIRMWARE-label:h7hOhShThUh—h+}r (h-]h4]h/]h.]r Upru-icss-espi-firmware-labelr ah5]r h"auh[K h\hh]]ubhœ)r }r (h*XShttp://ap-fpdsp-swapps.dal.design.ti.com/index.php/Processor_SDK_RTOS_ESPI_FIRMWAREh7hOhSh2hUh¢h+}r (h¤h¥h.]h/]h-]h4]h5]uh[Kh\hh]]r hfXShttp://ap-fpdsp-swapps.dal.design.ti.com/index.php/Processor_SDK_RTOS_ESPI_FIRMWAREr …r }r (h*Uh7j ubaubhK)r }r (h*UhNKh7hOhSh2hUhVh+}r (h-]r h®ah4]h/]h.]r U introductionr ah5]uh[Kh\hh]]r (h_)r }r (h*X Introductionr! h7j hSh2hUhch+}r" (h-]h4]h/]h.]h5]uh[Kh\hh]]r# hfX Introductionr$ …r% }r& (h*j! h7j ubaubhº)r' }r( (h*Uh7j hSh2hUh½h+}r) (h-]h4]h/]h.]h5]uh[Kh\hh]]r* hÀ)r+ }r, (h*XPRU-ICSS eSPI serves as an example for firmware-based eSPI peripheral support. The Processor SDK package includes full source code for eSPI FW.r- hÄKh7j' hSh2hUh[h+}r. (h-]h4]h/]h.]h5]uh[Kh\hh]]r/ hfXPRU-ICSS eSPI serves as an example for firmware-based eSPI peripheral support. The Processor SDK package includes full source code for eSPI FW.r0 …r1 }r2 (h*j- h7j+ ubaubaubhº)r3 }r4 (h*Uh7j hSh2hUh½h+}r5 (h-]h4]h/]h.]h5]uh[K h\hh]]r6 hÀ)r7 }r8 (h*UhÄKh7j3 hSh2hUh[h+}r9 (h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubhK)r: }r; (h*UhNKh7hOhSh2hUhVh+}r< (h-]r= j ah4]h/]h.]r> Ufirmware-organizationr? ah5]uh[K h\hh]]r@ (h_)rA }rB (h*XFirmware OrganizationrC h7j: hSh2hUhch+}rD (h-]h4]h/]h.]h5]uh[K h\hh]]rE hfXFirmware OrganizationrF …rG }rH (h*jC h7jA ubaubhH)rI }rJ (h*Uh7j: hSh2hUjÅh+}rK (h-]h4]h/]h.]h5]uh[Nh\hh]]rL hD)rM }rN (h*Uh+}rO (h.]h/]h-]h4]h5]UcolsKuh7jI h]]rP (jÌ)rQ }rR (h*Uh+}rS (h.]h/]h-]h4]h5]UcolwidthKuh7jM h]]hUjÐubjÌ)rT }rU (h*Uh+}rV (h.]h/]h-]h4]h5]UcolwidthK2uh7jM h]]hUjÐubj¶)rW }rX (h*Uh+}rY (h-]h4]h/]h.]h5]uh7jM h]]rZ h<)r[ }r\ (h*Uh+}r] (h-]h4]h/]h.]h5]uh7jW h]]r^ (h8)r_ }r` (h*Uh+}ra (h-]h4]h/]h.]h5]uh7j[ h]]rb hà)rc }rd (h*X **FW Item**re h7j_ hSh2hUhäh+}rf (h-]h4]h/]h.]h5]uh[Kh]]rg jè)rh }ri (h*je h+}rj (h-]h4]h/]h.]h5]uh7jc h]]rk hfXFW Itemrl …rm }rn (h*Uh7jh ubahUjðubaubahUjñubh8)ro }rp (h*Uh+}rq (h-]h4]h/]h.]h5]uh7j[ h]]rr hà)rs }rt (h*X **Directory**ru h7jo hSh2hUhäh+}rv (h-]h4]h/]h.]h5]uh[Kh]]rw jè)rx }ry (h*ju h+}rz (h-]h4]h/]h.]h5]uh7js h]]r{ hfX Directoryr| …r} }r~ (h*Uh7jx ubahUjðubaubahUjñubehUjubahUjãubh@)r }r€ (h*Uh+}r (h-]h4]h/]h.]h5]uh7jM h]]r‚ (h<)rƒ }r„ (h*Uh+}r… (h-]h4]h/]h.]h5]uh7j h]]r† (h8)r‡ }rˆ (h*Uh+}r‰ (h-]h4]h/]h.]h5]uh7jƒ h]]rŠ hà)r‹ }rŒ (h*X Source coder h7j‡ hSh2hUhäh+}rŽ (h-]h4]h/]h.]h5]uh[Kh]]r hfX Source coder …r‘ }r’ (h*j h7j‹ ubaubahUjñubh8)r“ }r” (h*Uh+}r• (h-]h4]h/]h.]h5]uh7jƒ h]]r– hà)r— }r˜ (h*X1/packages/ti/drv/spi/firmware/icss_espi/src/r™ h7j“ hSh2hUhäh+}rš (h-]h4]h/]h.]h5]uh[Kh]]r› hfX1/packages/ti/drv/spi/firmware/icss_espi/src/rœ …r }rž (h*j™ h7j— ubaubahUjñubehUjubh<)rŸ }r  (h*Uh+}r¡ (h-]h4]h/]h.]h5]uh7j h]]r¢ (h8)r£ }r¤ (h*Uh+}r¥ (h-]h4]h/]h.]h5]uh7jŸ h]]r¦ hà)r§ }r¨ (h*X Design Guider© h7j£ hSh2hUhäh+}rª (h-]h4]h/]h.]h5]uh[Kh]]r« hfX Design Guider¬ …r­ }r® (h*j© h7j§ ubaubahUjñubh8)r¯ }r° (h*Uh+}r± (h-]h4]h/]h.]h5]uh7jŸ h]]r² hà)r³ }r´ (h*X/packages/ti/drv/spi/docs/rµ h7j¯ hSh2hUhäh+}r¶ (h-]h4]h/]h.]h5]uh[Kh]]r· hfX/packages/ti/drv/spi/docs/r¸ …r¹ }rº (h*jµ h7j³ ubaubahUjñubehUjubehUjubehUjubaubeubhK)r» }r¼ (h*Uh7hOhSh2hUhVh+}r½ (h-]h4]h/]h.]r¾ Ufirmware-build-instructionr¿ ah5]rÀ h auh[Kh\hh]]rÁ (h_)r }rà (h*XFirmware Build InstructionrÄ h7j» hSh2hUhch+}rÅ (h-]h4]h/]h.]h5]uh[Kh\hh]]rÆ hfXFirmware Build InstructionrÇ …rÈ }rÉ (h*jÄ h7j ubaubhK)rÊ }rË (h*Uh7j» hSh2hUhVh+}rÌ (h-]h4]h/]h.]rÍ U4build-instruction-from-processor-sdk-release-packagerÎ ah5]rÏ hauh[Kh\hh]]rÐ (h_)rÑ }rÒ (h*X4Build instruction from Processor SDK Release packagerÓ h7jÊ hSh2hUhch+}rÔ (h-]h4]h/]h.]h5]uh[Kh\hh]]rÕ hfX4Build instruction from Processor SDK Release packagerÖ …r× }rØ (h*jÓ h7jÑ ubaubj¨)rÙ }rÚ (h*XPre-requisites to BuildingrÛ h7jÊ hSh2hUj¬h+}rÜ (h.]rÝ Uespi-pre-requisites-to-buildingrÞ ah/]h-]h4]h5]rß h!auh[Nh\hh]]rà hfXPre-requisites to Buildingrá …râ }rã (h*jÛ h7jÙ ubaubhà)rä }rå (h*XbRefer to the Processor SDK RTOS Building page for information on setting up the build environment.ræ h7jÊ hSh2hUhäh+}rç (h-]h4]h/]h.]h5]uh[Kh\hh]]rè hfXbRefer to the Processor SDK RTOS Building page for information on setting up the build environment.ré …rê }rë (h*jæ h7jä ubaubj¨)rì }rí (h*XCompiling Driver/Firmwarerî h7jÊ hSh2hUj¬h+}rï (h.]rð Uespi-compiling-driver-firmwarerñ ah/]h-]h4]h5]rò hauh[Nh\hh]]ró hfXCompiling Driver/Firmwarerô …rõ }rö (h*jî h7jì ubaubcdocutils.nodes enumerated_list r÷ )rø }rù (h*Uh7jÊ hSh2hUUenumerated_listrú h+}rû (Usuffixrü U.h.]h/]h-]Uprefixrý Uh4]h5]Uenumtyperþ Uarabicrÿ uh[K#h\hh]]rhñ)r}r(h*X``make spi`` h7jø hSh2hUhôh+}r(h-]h4]h/]h.]h5]uh[Nh\hh]]rhà)r}r(h*X ``make spi``rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[K#h]]r j™)r }r (h*jh+}r (h-]h4]h/]h.]h5]uh7jh]]r hfXmake spir…r}r(h*Uh7j ubahUj¡ubaubaubaubj¨)r}r(h*XRunning CCS Applicationrh7jÊ hSh2hUj¬h+}r(h.]rU espi-run-apprah/]h-]h4]h5]rh auh[Nh\hh]]rhfXRunning CCS Applicationr…r}r(h*jh7jubaubhà)r}r(h*X¯CCS applications will be build and run just like any other project with one exception. Before loading the binary, from the menu-bar run ``Scripts > PRU_ICSS > PRU_ICSS_Init``.rh7jÊ hSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[K)h\hh]]r (hfXˆCCS applications will be build and run just like any other project with one exception. Before loading the binary, from the menu-bar run r!…r"}r#(h*XˆCCS applications will be build and run just like any other project with one exception. Before loading the binary, from the menu-bar run h7jubj™)r$}r%(h*X&``Scripts > PRU_ICSS > PRU_ICSS_Init``h+}r&(h-]h4]h/]h.]h5]uh7jh]]r'hfX"Scripts > PRU_ICSS > PRU_ICSS_Initr(…r)}r*(h*Uh7j$ubahUj¡ubhfX.…r+}r,(h*X.h7jubeubeubeubhLhK)r-}r.(h*Uh7hOhSh2hUhVh+}r/(h-]h4]h/]h.]r0Uespi-applicationsr1ah5]r2h auh[Kqh\hh]]r3(h_)r4}r5(h*XeSPI Applicationsr6h7j-hSh2hUhch+}r7(h-]h4]h/]h.]h5]uh[Kqh\hh]]r8hfXeSPI Applicationsr9…r:}r;(h*j6h7j4ubaubhà)r<}r=(h*X-We have included a simple example test application which handles PUT_IORD_SHORT, PUT_IOWR_SHORT, PUT_MEMRD32_SHORT, and PUT_MEMWR32_SHORT packets with expected address/data values. This can be used as a starting point to build your own applications, along with the following: - eSPI uses the MCSPI APIr>h7j-hSh2hUhäh+}r?(h-]h4]h/]h.]h5]uh[Krh\hh]]r@hfX-We have included a simple example test application which handles PUT_IORD_SHORT, PUT_IOWR_SHORT, PUT_MEMRD32_SHORT, and PUT_MEMWR32_SHORT packets with expected address/data values. This can be used as a starting point to build your own applications, along with the following: - eSPI uses the MCSPI APIrA…rB}rC(h*j>h7j<ubaubcdocutils.nodes block_quote rD)rE}rF(h*Uh7j-hSNhUU block_quoterGh+}rH(h-]h4]h/]h.]h5]uh[Nh\hh]]rIhê)rJ}rK(h*Uh+}rL(hïX-h.]h/]h-]h4]h5]uh7jEh]]rMhñ)rN}rO(h*XOpen as MCSPI instance 2rPh+}rQ(h-]h4]h/]h.]h5]uh7jJh]]rRhà)rS}rT(h*jPh7jNhSh2hUhäh+}rU(h-]h4]h/]h.]h5]uh[Kth]]rVhfXOpen as MCSPI instance 2rW…rX}rY(h*jPh7jSubaubahUhôubahUhíubaubhê)rZ}r[(h*Uh7j-hSh2hUhíh+}r\(hïX-h.]h/]h-]h4]h5]uh[Kuh\hh]]r](hñ)r^}r_(h*XLHW interrupts must be enabled - i.e. HwiP_enableInterrupt(espi_cfg.intNum)h7jZhSNhUhôh+}r`(h-]h4]h/]h.]h5]uh[Nh\hh]]rah÷)rb}rc(h*Uh+}rd(h-]h4]h/]h.]h5]uh7j^h]]rehü)rf}rg(h*XJHW interrupts must be enabled - i.e. HwiP_enableInterrupt(espi_cfg.intNum)h7jbhSh2hUhÿh+}rh(h-]h4]h/]h.]h5]uh[Kuh]]ri(j)rj}rk(h*XHW interrupts must be enabledrlh7jfhSh2hUjh+}rm(h-]h4]h/]h.]h5]uh[Kuh]]rnhfXHW interrupts must be enabledro…rp}rq(h*jlh7jjubaubj )rr}rs(h*Uh+}rt(h-]h4]h/]h.]h5]uh7jfh]]ruhê)rv}rw(h*Uh+}rx(hïX-h.]h/]h-]h4]h5]uh7jrh]]ryhñ)rz}r{(h*X*i.e. HwiP_enableInterrupt(espi_cfg.intNum)r|h+}r}(h-]h4]h/]h.]h5]uh7jvh]]r~hà)r}r€(h*j|h7jzhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Kvh]]r‚hfX*i.e. HwiP_enableInterrupt(espi_cfg.intNum)rƒ…r„}r…(h*j|h7jubaubahUhôubahUhíubahUj]ubeubahUj^ubaubhñ)r†}r‡(h*X}MCSPI_transfer() is blocking and takes a SPI_Transaction parameter which is used as follows: - RX Transfer: - transaction.rxBuf = - transaction.txBuf = Null - transaction.count = max packet size - TX Transfer: - transaction.rxBuf = Null - transaction.txBuf = - transaction.count = h7jZhSNhUhôh+}rˆ(h-]h4]h/]h.]h5]uh[Nh\hh]]r‰h÷)rŠ}r‹(h*Uh+}rŒ(h-]h4]h/]h.]h5]uh7j†h]]rhü)rŽ}r(h*XmMCSPI_transfer() is blocking and takes a SPI_Transaction parameter which is used as follows: - RX Transfer: - transaction.rxBuf = - transaction.txBuf = Null - transaction.count = max packet size - TX Transfer: - transaction.rxBuf = Null - transaction.txBuf = - transaction.count = h7jŠhSh2hUhÿh+}r(h-]h4]h/]h.]h5]uh[K~h]]r‘(j)r’}r“(h*X\MCSPI_transfer() is blocking and takes a SPI_Transaction parameter which is used as follows:r”h7jŽhSh2hUjh+}r•(h-]h4]h/]h.]h5]uh[K~h]]r–hfX\MCSPI_transfer() is blocking and takes a SPI_Transaction parameter which is used as follows:r—…r˜}r™(h*j”h7j’ubaubj )rš}r›(h*Uh+}rœ(h-]h4]h/]h.]h5]uh7jŽh]]rhê)rž}rŸ(h*Uh+}r (hïX-h.]h/]h-]h4]h5]uh7jšh]]r¡(hñ)r¢}r£(h*XRX Transfer: - transaction.rxBuf = - transaction.txBuf = Null - transaction.count = max packet sizeh+}r¤(h-]h4]h/]h.]h5]uh7jžh]]r¥hà)r¦}r§(h*XRX Transfer: - transaction.rxBuf = - transaction.txBuf = Null - transaction.count = max packet sizer¨h7j¢hSh2hUhäh+}r©(h-]h4]h/]h.]h5]uh[Kxh]]rªhfXRX Transfer: - transaction.rxBuf = - transaction.txBuf = Null - transaction.count = max packet sizer«…r¬}r­(h*j¨h7j¦ubaubahUhôubhñ)r®}r¯(h*X€TX Transfer: - transaction.rxBuf = Null - transaction.txBuf = - transaction.count = h+}r°(h-]h4]h/]h.]h5]uh7jžh]]r±hà)r²}r³(h*X€TX Transfer: - transaction.rxBuf = Null - transaction.txBuf = - transaction.count = r´h7j®hSh2hUhäh+}rµ(h-]h4]h/]h.]h5]uh[K|h]]r¶hfX€TX Transfer: - transaction.rxBuf = Null - transaction.txBuf = - transaction.count = r·…r¸}r¹(h*j´h7j²ubaubahUhôubehUhíubahUj]ubeubahUj^ubaubhñ)rº}r»(h*X The application must parse the full eSPI packet, and must respond with the full proper eSPI packet (the RSP code and CRC will be taken care of by the firmware) h7jZhSh2hUhôh+}r¼(h-]h4]h/]h.]h5]uh[Nh\hh]]r½hà)r¾}r¿(h*XŸThe application must parse the full eSPI packet, and must respond with the full proper eSPI packet (the RSP code and CRC will be taken care of by the firmware)rÀh7jºhSh2hUhäh+}rÁ(h-]h4]h/]h.]h5]uh[K€h]]rÂhfXŸThe application must parse the full eSPI packet, and must respond with the full proper eSPI packet (the RSP code and CRC will be taken care of by the firmware)rÃ…rÄ}rÅ(h*jÀh7j¾ubaubaubeubj¨)rÆ}rÇ(h*Xexample-applicationrÈh7j-hSh2hUj¬h+}rÉ(h.]rÊUespi-example-applicationrËah/]h-]h4]h5]rÌhauh[Nh\hh]]rÍhfXexample-applicationrÎ…rÏ}rÐ(h*jÈh7jÆubaubjn )rÑ}rÒ(h*X¦/* Refer to eSPI FW Example for details */ Board_init(boardCfg); ... /* Initialize the ESPI fw configuration */ ESPI_socInitFwCfg(); /* Get the default ESPI init configurations */ ESPI_socGetFwCfg(ESPI_INSTANCE, &espi_cfg); /* Modify the default eSPI configurations if necessary */ /* Set the default ESPI init configurations */ ESPI_socSetFwCfg(ESPI_INSTANCE, &espi_cfg); /* Set GPIO pin configurations */ GPIO_setConfig(ESPI_GPIO_PIN_RESET, GPIO_DEVICE_CONFIG(espi_cfg.resetPin.port, espi_cfg.resetPin.pinNum) | GPIO_CFG_IN_INT_RISING | GPIO_CFG_INPUT); /* Initialize GPIO */ GPIO_init(); /* Initialize the MCSPI paramters */ MCSPI_Params_init(&mcspiParams); /* Init SPI driver */ MCSPI_init(); /* Enable interrupts (necessary for */ HwiP_enableInterrupt(espi_cfg.intNum); /* Grab ESPI handle from SoC config list */ fwHandle = (MCSPI_Handle)MCSPI_open(ESPI_INSTANCE, 0, &mcspiParams); ... /* Read ESPI Packet */ transaction.txBuf = NULL; /* indicates we want RX */ transaction.rxBuf = (uint8_t*) rxBuf; transaction.count = ESPI_PACKET_MAX_SIZE; retVal = MCSPI_transfer(fwHandle, &transaction); /* blocking */ ... /* Prepare TX response */ transaction.txBuf = (uint8_t*) txBuf; transaction.rxBuf = NULL; /* indicates we want TX */ transaction.count = ESPI_PACKET_MAX_SIZE; ... /* Put response in TX queue */ retVal = MCSPI_transfer(fwHandle, &transaction); ...h7j-hSh2hUjq h+}rÓ(UlinenosrÔ‰UlanguagerÕXch¤h¥h.]h/]h-]Uhighlight_argsrÖ}h4]h5]uh[K…h\hh]]r×hfX¦/* Refer to eSPI FW Example for details */ Board_init(boardCfg); ... /* Initialize the ESPI fw configuration */ ESPI_socInitFwCfg(); /* Get the default ESPI init configurations */ ESPI_socGetFwCfg(ESPI_INSTANCE, &espi_cfg); /* Modify the default eSPI configurations if necessary */ /* Set the default ESPI init configurations */ ESPI_socSetFwCfg(ESPI_INSTANCE, &espi_cfg); /* Set GPIO pin configurations */ GPIO_setConfig(ESPI_GPIO_PIN_RESET, GPIO_DEVICE_CONFIG(espi_cfg.resetPin.port, espi_cfg.resetPin.pinNum) | GPIO_CFG_IN_INT_RISING | GPIO_CFG_INPUT); /* Initialize GPIO */ GPIO_init(); /* Initialize the MCSPI paramters */ MCSPI_Params_init(&mcspiParams); /* Init SPI driver */ MCSPI_init(); /* Enable interrupts (necessary for */ HwiP_enableInterrupt(espi_cfg.intNum); /* Grab ESPI handle from SoC config list */ fwHandle = (MCSPI_Handle)MCSPI_open(ESPI_INSTANCE, 0, &mcspiParams); ... /* Read ESPI Packet */ transaction.txBuf = NULL; /* indicates we want RX */ transaction.rxBuf = (uint8_t*) rxBuf; transaction.count = ESPI_PACKET_MAX_SIZE; retVal = MCSPI_transfer(fwHandle, &transaction); /* blocking */ ... /* Prepare TX response */ transaction.txBuf = (uint8_t*) txBuf; transaction.rxBuf = NULL; /* indicates we want TX */ transaction.count = ESPI_PACKET_MAX_SIZE; ... /* Put response in TX queue */ retVal = MCSPI_transfer(fwHandle, &transaction); ...rØ…rÙ}rÚ(h*Uh7jÑubaubj¨)rÛ}rÜ(h*X Examples ListrÝh7j-hSh2hUj¬h+}rÞ(h.]rßU examples-listràah/]h-]h4]h5]ráhauh[Nh\hh]]râhfX Examples Listrã…rä}rå(h*jÝh7jÛubaubhà)ræ}rç(h*XURefer to the Release Notes for details concerning eSPI support across different EVMs.rèh7j-hSh2hUhäh+}ré(h-]h4]h/]h.]h5]uh[KÅh\hh]]rêhfXURefer to the Release Notes for details concerning eSPI support across different EVMs.rë…rì}rí(h*jèh7jæubaubhH)rî}rï(h*Uh7j-hSh2hUjÅh+}rð(h-]h4]h/]h.]h5]uh[Nh\hh]]rñhD)rò}ró(h*Uh+}rô(h.]h/]h-]h4]h5]UcolsKuh7jîh]]rõ(jÌ)rö}r÷(h*Uh+}rø(h.]h/]h-]h4]h5]UcolwidthKuh7jòh]]hUjÐubjÌ)rù}rú(h*Uh+}rû(h.]h/]h-]h4]h5]UcolwidthKuh7jòh]]hUjÐubjÌ)rü}rý(h*Uh+}rþ(h.]h/]h-]h4]h5]UcolwidthKuh7jòh]]hUjÐubj¶)rÿ}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jòh]]rh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jÿh]]r(h8)r}r(h*Uh+}r (h-]h4]h/]h.]h5]uh7jh]]r hà)r }r (h*XNamer h7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KÈh]]rhfXNamer…r}r(h*j h7j ubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*X Descriptionrh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KÈh]]rhfX Descriptionr…r}r(h*jh7jubaubahUjñubh8)r}r (h*Uh+}r!(h-]h4]h/]h.]h5]uh7jh]]r"hà)r#}r$(h*XExpected Resultsr%h7jhSh2hUhäh+}r&(h-]h4]h/]h.]h5]uh[KÈh]]r'hfXExpected Resultsr(…r)}r*(h*j%h7j#ubaubahUjñubehUjubahUjãubh@)r+}r,(h*Uh+}r-(h-]h4]h/]h.]h5]uh7jòh]]r.h<)r/}r0(h*Uh+}r1(h-]h4]h/]h.]h5]uh7j+h]]r2(h8)r3}r4(h*Uh+}r5(h-]h4]h/]h.]h5]uh7j/h]]r6hà)r7}r8(h*XESPI_FwExampler9h7j3hSh2hUhäh+}r:(h-]h4]h/]h.]h5]uh[KÊh]]r;hfXESPI_FwExampler<…r=}r>(h*j9h7j7ubaubahUjñubh8)r?}r@(h*Uh+}rA(h-]h4]h/]h.]h5]uh7j/h]]rBhà)rC}rD(h*X9Driver Firmware example application for ESPI FW instancesrEh7j?hSh2hUhäh+}rF(h-]h4]h/]h.]h5]uh[KÊh]]rGhfX9Driver Firmware example application for ESPI FW instancesrH…rI}rJ(h*jEh7jCubaubahUjñubh8)rK}rL(h*Uh+}rM(h-]h4]h/]h.]h5]uh7j/h]]rNhà)rO}rP(h*X A short write to 0xDEAD or 0x0D0E0A0D will not print or return anything. A short read from 0xDEAD or 0x0D0E0A0D will return the command opcode + the byte-number of the response. A read from any other address will return the opcode minus the byte-number of the response.rQh7jKhSh2hUhäh+}rR(h-]h4]h/]h.]h5]uh[KÊh]]rShfX A short write to 0xDEAD or 0x0D0E0A0D will not print or return anything. A short read from 0xDEAD or 0x0D0E0A0D will return the command opcode + the byte-number of the response. A read from any other address will return the opcode minus the byte-number of the response.rT…rU}rV(h*jQh7jOubaubahUjñubehUjubahUjubehUjubaubhº)rW}rX(h*Uh7j-hSh2hUh½h+}rY(h-]h4]h/]h.]h5]uh[KØh\hh]]rZhÀ)r[}r\(h*UhÄKh7jWhSh2hUh[h+}r](h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubj¨)r^}r_(h*XFirmware Design Guider`hNKh7j-hSh2hUj¬h+}ra(h.]rbUfirmware-design-guidercah/]h-]rdj” ah4]h5]uh[Nh\hh]]rehfXFirmware Design Guiderf…rg}rh(h*j`h7j^ubaubhH)ri}rj(h*Uh7j-hSh2hUjÅh+}rk(h-]h4]h/]h.]h5]uh[Nh\hh]]rlhD)rm}rn(h*Uh+}ro(h.]h/]h-]h4]h5]UcolsKuh7jih]]rp(jÌ)rq}rr(h*Uh+}rs(h.]h/]h-]h4]h5]UcolwidthK#uh7jmh]]hUjÐubjÌ)rt}ru(h*Uh+}rv(h.]h/]h-]h4]h5]UcolwidthK9uh7jmh]]hUjÐubj¶)rw}rx(h*Uh+}ry(h-]h4]h/]h.]h5]uh7jmh]]rzh<)r{}r|(h*Uh+}r}(h-]h4]h/]h.]h5]uh7jwh]]r~(h8)r}r€(h*Uh+}r(h-]h4]h/]h.]h5]uh7j{h]]r‚hà)rƒ}r„(h*X **Document**r…h7jhSh2hUhäh+}r†(h-]h4]h/]h.]h5]uh[KÞh]]r‡jè)rˆ}r‰(h*j…h+}rŠ(h-]h4]h/]h.]h5]uh7jƒh]]r‹hfXDocumentrŒ…r}rŽ(h*Uh7jˆubahUjðubaubahUjñubh8)r}r(h*Uh+}r‘(h-]h4]h/]h.]h5]uh7j{h]]r’hà)r“}r”(h*X **Location**r•h7jhSh2hUhäh+}r–(h-]h4]h/]h.]h5]uh[KÞh]]r—jè)r˜}r™(h*j•h+}rš(h-]h4]h/]h.]h5]uh7j“h]]r›hfXLocationrœ…r}rž(h*Uh7j˜ubahUjðubaubahUjñubehUjubahUjãubh@)rŸ}r (h*Uh+}r¡(h-]h4]h/]h.]h5]uh7jmh]]r¢h<)r£}r¤(h*Uh+}r¥(h-]h4]h/]h.]h5]uh7jŸh]]r¦(h8)r§}r¨(h*Uh+}r©(h-]h4]h/]h.]h5]uh7j£h]]rªhà)r«}r¬(h*XeSPI FIRMWARE Design Guider­h7j§hSh2hUhäh+}r®(h-]h4]h/]h.]h5]uh[Kàh]]r¯hfXeSPI FIRMWARE Design Guider°…r±}r²(h*j­h7j«ubaubahUjñubh8)r³}r´(h*Uh+}rµ(h-]h4]h/]h.]h5]uh7j£h]]r¶hà)r·}r¸(h*X7/packages/ti/drv/spi/docs/ESPI_FW_DESIGN_GUIDE.docr¹h7j³hSh2hUhäh+}rº(h-]h4]h/]h.]h5]uh[Kàh]]r»hfX7/packages/ti/drv/spi/docs/ESPI_FW_DESIGN_GUIDE.docr¼…r½}r¾(h*j¹h7j·ubaubahUjñubehUjubahUjubehUjubaubhà)r¿}rÀ(h*XÔ**NOTE: For normal use of eSPI FW, there is no need to refer to the design guide. This document can be cosulted in case of interest in details of internal firmware operation, or a desire to modify the firmware.**rÁh7j-hSh2hUhäh+}rÂ(h-]h4]h/]h.]h5]uh[Kãh\hh]]rÃjè)rÄ}rÅ(h*jÁh+}rÆ(h-]h4]h/]h.]h5]uh7j¿h]]rÇhfXÐNOTE: For normal use of eSPI FW, there is no need to refer to the design guide. This document can be cosulted in case of interest in details of internal firmware operation, or a desire to modify the firmware.rÈ…rÉ}rÊ(h*Uh7jÄubahUjðubaubhº)rË}rÌ(h*Uh7j-hSh2hUh½h+}rÍ(h-]h4]h/]h.]h5]uh[Kçh\hh]]rÎhÀ)rÏ}rÐ(h*UhÄKh7jËhSh2hUh[h+}rÑ(h-]h4]h/]h.]h5]uh[Kh\hh]]ubaubeubeubhSh2hUhVh+}rÒ(h-]rÓj…ah4]h/]h.]rÔUsupported-evmsrÕah5]uh[K,h\hh]]rÖ(h_)r×}rØ(h*XSupported EVMsrÙh7hLhSh2hUhch+}rÚ(h-]h4]h/]h.]h5]uh[K,h\hh]]rÛhfXSupported EVMsrÜ…rÝ}rÞ(h*jÙh7j×ubaubhà)rß}rà(h*X›Supported EVMs and pin configurations for these EVMs are listed below. See the design document in ``/packages/ti/drv/spi/docs/`` for more information.ráh7hLhSh2hUhäh+}râ(h-]h4]h/]h.]h5]uh[K.h\hh]]rã(hfXbSupported EVMs and pin configurations for these EVMs are listed below. See the design document in rä…rå}ræ(h*XbSupported EVMs and pin configurations for these EVMs are listed below. See the design document in h7jßubj™)rç}rè(h*X#``/packages/ti/drv/spi/docs/``h+}ré(h-]h4]h/]h.]h5]uh7jßh]]rêhfX/packages/ti/drv/spi/docs/rë…rì}rí(h*Uh7jçubahUj¡ubhfX for more information.rî…rï}rð(h*X for more information.h7jßubeubhH)rñ}rò(h*Uh7hLhSh2hUjÅh+}ró(h-]h4]h/]h.]h5]uh[Nh\hh]]rôhD)rõ}rö(h*Uh+}r÷(h.]h/]h-]h4]h5]UcolsKuh7jñh]]rø(jÌ)rù}rú(h*Uh+}rû(h.]h/]h-]h4]h5]UcolwidthK uh7jõh]]hUjÐubjÌ)rü}rý(h*Uh+}rþ(h.]h/]h-]h4]h5]UcolwidthKuh7jõh]]hUjÐubjÌ)rÿ}r(h*Uh+}r(h.]h/]h-]h4]h5]UcolwidthKuh7jõh]]hUjÐubj¶)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jõh]]rh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]r (h8)r }r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jh]]r hà)r}r(h*XEVM Namerh7j hSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[K1h]]rhfXEVM Namer…r}r(h*jh7jubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*XPRU-ICSS Instancesrh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[K1h]]rhfXPRU-ICSS Instancesr…r }r!(h*jh7jubaubahUjñubh8)r"}r#(h*Uh+}r$(h-]h4]h/]h.]h5]uh7jh]]r%hà)r&}r'(h*XPRU-ICSS Revisionr(h7j"hSh2hUhäh+}r)(h-]h4]h/]h.]h5]uh[K1h]]r*hfXPRU-ICSS Revisionr+…r,}r-(h*j(h7j&ubaubahUjñubehUjubahUjãubh@)r.}r/(h*Uh+}r0(h-]h4]h/]h.]h5]uh7jõh]]r1(h<)r2}r3(h*Uh+}r4(h-]h4]h/]h.]h5]uh7j.h]]r5(h8)r6}r7(h*Uh+}r8(h-]h4]h/]h.]h5]uh7j2h]]r9hà)r:}r;(h*X bbbAM335xr<h7j6hSh2hUhäh+}r=(h-]h4]h/]h.]h5]uh[K3h]]r>hfX bbbAM335xr?…r@}rA(h*j<h7j:ubaubahUjñubh8)rB}rC(h*Uh+}rD(h-]h4]h/]h.]h5]uh7j2h]]rEhà)rF}rG(h*X1h7jBhSh2hUhäh+}rH(h-]h4]h/]h.]h5]uh[K3h]]rIhfX1…rJ}rK(h*X1h7jFubaubahUjñubh8)rL}rM(h*Uh+}rN(h-]h4]h/]h.]h5]uh7j2h]]rOhà)rP}rQ(h*XREV1rRh7jLhSh2hUhäh+}rS(h-]h4]h/]h.]h5]uh[K3h]]rThfXREV1rU…rV}rW(h*jRh7jPubaubahUjñubehUjubh<)rX}rY(h*Uh+}rZ(h-]h4]h/]h.]h5]uh7j.h]]r[(h8)r\}r](h*Uh+}r^(h-]h4]h/]h.]h5]uh7jXh]]r_hà)r`}ra(h*X idkAM437xrbh7j\hSh2hUhäh+}rc(h-]h4]h/]h.]h5]uh[K5h]]rdhfX idkAM437xre…rf}rg(h*jbh7j`ubaubahUjñubh8)rh}ri(h*Uh+}rj(h-]h4]h/]h.]h5]uh7jXh]]rkhà)rl}rm(h*X2h7jhhSh2hUhäh+}rn(h-]h4]h/]h.]h5]uh[K5h]]rohfX2…rp}rq(h*X2h7jlubaubahUjñubh8)rr}rs(h*Uh+}rt(h-]h4]h/]h.]h5]uh7jXh]]ruhà)rv}rw(h*XREV1rxh7jrhSh2hUhäh+}ry(h-]h4]h/]h.]h5]uh[K5h]]rzhfXREV1r{…r|}r}(h*jxh7jvubaubahUjñubehUjubehUjubehUjubaubj¨)r~}r(h*X bbbAM335xr€h7hLhSh2hUj¬h+}r(h.]r‚Uespi-bbbam335xrƒah/]h-]h4]h5]r„hauh[Nh\hh]]r…hfX bbbAM335xr†…r‡}rˆ(h*j€h7j~ubaubhIj¨)r‰}rŠ(h*X idkAM437xr‹h7hLhSh2hUj¬h+}rŒ(h.]rUespi-idkam437xrŽah/]h-]h4]h5]rhauh[Nh\hh]]rhfX idkAM437xr‘…r’}r“(h*j‹h7j‰ubaubhH)r”}r•(h*Uh7hLhSh2hUjÅh+}r–(h-]h4]h/]h.]h5]uh[Nh\hh]]r—hD)r˜}r™(h*Uh+}rš(h.]h/]h-]h4]h5]UcolsKuh7j”h]]r›(jÌ)rœ}r(h*Uh+}rž(h.]h/]h-]h4]h5]UcolwidthK uh7j˜h]]hUjÐubjÌ)rŸ}r (h*Uh+}r¡(h.]h/]h-]h4]h5]UcolwidthKuh7j˜h]]hUjÐubjÌ)r¢}r£(h*Uh+}r¤(h.]h/]h-]h4]h5]UcolwidthKuh7j˜h]]hUjÐubjÌ)r¥}r¦(h*Uh+}r§(h.]h/]h-]h4]h5]UcolwidthKuh7j˜h]]hUjÐubjÌ)r¨}r©(h*Uh+}rª(h.]h/]h-]h4]h5]UcolwidthKuh7j˜h]]hUjÐubjÌ)r«}r¬(h*Uh+}r­(h.]h/]h-]h4]h5]UcolwidthKuh7j˜h]]hUjÐubj¶)r®}r¯(h*Uh+}r°(h-]h4]h/]h.]h5]uh7j˜h]]r±h<)r²}r³(h*Uh+}r´(h-]h4]h/]h.]h5]uh7j®h]]rµ(h8)r¶}r·(h*Uh+}r¸(h-]h4]h/]h.]h5]uh7j²h]]r¹hà)rº}r»(h*XCorer¼h7j¶hSh2hUhäh+}r½(h-]h4]h/]h.]h5]uh[K^h]]r¾hfXCorer¿…rÀ}rÁ(h*j¼h7jºubaubahUjñubh8)rÂ}rÃ(h*Uh+}rÄ(h-]h4]h/]h.]h5]uh7j²h]]rÅhà)rÆ}rÇ(h*XPRUrÈh7jÂhSh2hUhäh+}rÉ(h-]h4]h/]h.]h5]uh[K^h]]rÊhfXPRUrË…rÌ}rÍ(h*jÈh7jÆubaubahUjñubh8)rÎ}rÏ(h*Uh+}rÐ(h-]h4]h/]h.]h5]uh7j²h]]rÑhà)rÒ}rÓ(h*XFunctional PinrÔh7jÎhSh2hUhäh+}rÕ(h-]h4]h/]h.]h5]uh[K^h]]rÖhfXFunctional Pinr×…rØ}rÙ(h*jÔh7jÒubaubahUjñubh8)rÚ}rÛ(h*Uh+}rÜ(h-]h4]h/]h.]h5]uh7j²h]]rÝhà)rÞ}rß(h*X GPIO Pinsràh7jÚhSh2hUhäh+}rá(h-]h4]h/]h.]h5]uh[K^h]]râhfX GPIO Pinsrã…rä}rå(h*jàh7jÞubaubahUjñubh8)ræ}rç(h*Uh+}rè(h-]h4]h/]h.]h5]uh7j²h]]réhà)rê}rë(h*XEVM Portrìh7jæhSh2hUhäh+}rí(h-]h4]h/]h.]h5]uh[K^h]]rîhfXEVM Portrï…rð}rñ(h*jìh7jêubaubahUjñubh8)rò}ró(h*Uh+}rô(h-]h4]h/]h.]h5]uh7j²h]]rõhà)rö}r÷(h*XEVM Pinrøh7jòhSh2hUhäh+}rù(h-]h4]h/]h.]h5]uh[K^h]]rúhfXEVM Pinrû…rü}rý(h*jøh7jöubaubahUjñubehUjubahUjãubh@)rþ}rÿ(h*Uh+}r(h-]h4]h/]h.]h5]uh7j˜h]]r(h<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jþh]]r(h8)r}r(h*Uh+}r(h.]h/]h-]h4]UmorerowsKh5]uh7jh]]r hà)r }r (h*XICSS1r h7jhSh2hUhäh+}r (h-]h4]h/]h.]h5]uh[Kdh]]rhfXICSS1r…r}r(h*j h7j ubaubahUjñubh8)r}r(h*Uh+}r(h.]h/]h-]h4]UmorerowsKh5]uh7jh]]rhà)r}r(h*XPRU0rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Kdh]]rhfXPRU0r…r}r(h*jh7jubaubahUjñubh8)r}r(h*Uh+}r (h.]h/]h-]h4]UmorerowsKh5]uh7jh]]r!(jD)r"}r#(h*Uh+}r$(h-]h4]h/]h.]h5]uh7jh]]r%hà)r&}r'(h*XOUT[0]r(h7j"hSh2hUhäh+}r)(h-]h4]h/]h.]h5]uh[K`h]]r*hfXOUT[0]r+…r,}r-(h*j(h7j&ubaubahUjGubjD)r.}r/(h*Uh+}r0(h-]h4]h/]h.]h5]uh7jh]]r1hà)r2}r3(h*XAlertr4h7j.hSh2hUhäh+}r5(h-]h4]h/]h.]h5]uh[Kbh]]r6hfXAlertr7…r8}r9(h*j4h7j2ubaubahUjGubjD)r:}r;(h*Uh+}r<(h-]h4]h/]h.]h5]uh7jh]]r=hà)r>}r?(h*XENr@h7j:hSh2hUhäh+}rA(h-]h4]h/]h.]h5]uh[Kdh]]rBhfXENrC…rD}rE(h*j@h7j>ubaubahUjGubjD)rF}rG(h*Uh+}rH(h-]h4]h/]h.]h5]uh7jh]]rIhà)rJ}rK(h*XIN[0]rLh7jFhSh2hUhäh+}rM(h-]h4]h/]h.]h5]uh[Kfh]]rNhfXIN[0]rO…rP}rQ(h*jLh7jJubaubahUjGubjD)rR}rS(h*Uh+}rT(h-]h4]h/]h.]h5]uh7jh]]rUhà)rV}rW(h*XSCLrXh7jRhSh2hUhäh+}rY(h-]h4]h/]h.]h5]uh[Khh]]rZhfXSCLr[…r\}r](h*jXh7jVubaubahUjGubjD)r^}r_(h*Uh+}r`(h-]h4]h/]h.]h5]uh7jh]]rahà)rb}rc(h*XCSrdh7j^hSh2hUhäh+}re(h-]h4]h/]h.]h5]uh[Kjh]]rfhfXCSrg…rh}ri(h*jdh7jbubaubahUjGubehUjñubh8)rj}rk(h*Uh+}rl(h-]h4]h/]h.]h5]uh7jh]]rmhà)rn}ro(h*Xpr1_pru0_pru_r30_6rph7jjhSh2hUhäh+}rq(h-]h4]h/]h.]h5]uh[K`h]]rrhfXpr1_pru0_pru_r30_6rs…rt}ru(h*jph7jnubaubahUjñubh8)rv}rw(h*Uh+}rx(h-]h4]h/]h.]h5]uh7jh]]ryhà)rz}r{(h*XP16r|h7jvhSh2hUhäh+}r}(h-]h4]h/]h.]h5]uh[K`h]]r~hfXP16r…r€}r(h*j|h7jzubaubahUjñubh8)r‚}rƒ(h*Uh+}r„(h-]h4]h/]h.]h5]uh7jh]]r…hà)r†}r‡(h*X49rˆh7j‚hSh2hUhäh+}r‰(h-]h4]h/]h.]h5]uh[K`h]]rŠhfX49r‹…rŒ}r(h*jˆh7j†ubaubahUjñubehUjubh<)rŽ}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jþh]]r‘(h8)r’}r“(h*Uh+}r”(h-]h4]h/]h.]h5]uh7jŽh]]r•hà)r–}r—(h*Xpr1_pru0_pru_r30_11r˜h7j’hSh2hUhäh+}r™(h-]h4]h/]h.]h5]uh[Kbh]]ršhfXpr1_pru0_pru_r30_11r›…rœ}r(h*j˜h7j–ubaubahUjñubh8)rž}rŸ(h*Uh+}r (h-]h4]h/]h.]h5]uh7jŽh]]r¡hà)r¢}r£(h*XP16r¤h7jžhSh2hUhäh+}r¥(h-]h4]h/]h.]h5]uh[Kbh]]r¦hfXP16r§…r¨}r©(h*j¤h7j¢ubaubahUjñubh8)rª}r«(h*Uh+}r¬(h-]h4]h/]h.]h5]uh7jŽh]]r­hà)r®}r¯(h*X48r°h7jªhSh2hUhäh+}r±(h-]h4]h/]h.]h5]uh[Kbh]]r²hfX48r³…r´}rµ(h*j°h7j®ubaubahUjñubehUjubh<)r¶}r·(h*Uh+}r¸(h-]h4]h/]h.]h5]uh7jþh]]r¹(h8)rº}r»(h*Uh+}r¼(h-]h4]h/]h.]h5]uh7j¶h]]r½hà)r¾}r¿(h*Xpr1_pru0_pru_r30_8rÀh7jºhSh2hUhäh+}rÁ(h-]h4]h/]h.]h5]uh[Kdh]]rÂhfXpr1_pru0_pru_r30_8rÃ…rÄ}rÅ(h*jÀh7j¾ubaubahUjñubh8)rÆ}rÇ(h*Uh+}rÈ(h-]h4]h/]h.]h5]uh7j¶h]]rÉhà)rÊ}rË(h*XP16rÌh7jÆhSh2hUhäh+}rÍ(h-]h4]h/]h.]h5]uh[Kdh]]rÎhfXP16rÏ…rÐ}rÑ(h*jÌh7jÊubaubahUjñubh8)rÒ}rÓ(h*Uh+}rÔ(h-]h4]h/]h.]h5]uh7j¶h]]rÕhà)rÖ}r×(h*X6h7jÒhSh2hUhäh+}rØ(h-]h4]h/]h.]h5]uh[Kdh]]rÙhfX6…rÚ}rÛ(h*X6h7jÖubaubahUjñubehUjubh<)rÜ}rÝ(h*Uh+}rÞ(h-]h4]h/]h.]h5]uh7jþh]]rß(h8)rà}rá(h*Uh+}râ(h-]h4]h/]h.]h5]uh7jÜh]]rãhà)rä}rå(h*Xpr1_pru0_pru_r30_16ræh7jàhSh2hUhäh+}rç(h-]h4]h/]h.]h5]uh[Kfh]]rèhfXpr1_pru0_pru_r30_16ré…rê}rë(h*jæh7jäubaubahUjñubh8)rì}rí(h*Uh+}rî(h-]h4]h/]h.]h5]uh7jÜh]]rïhà)rð}rñ(h*XP16ròh7jìhSh2hUhäh+}ró(h-]h4]h/]h.]h5]uh[Kfh]]rôhfXP16rõ…rö}r÷(h*jòh7jðubaubahUjñubh8)rø}rù(h*Uh+}rú(h-]h4]h/]h.]h5]uh7jÜh]]rûhà)rü}rý(h*X42rþh7jøhSh2hUhäh+}rÿ(h-]h4]h/]h.]h5]uh[Kfh]]rhfX42r…r}r(h*jþh7jüubaubahUjñubehUjubh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jþh]]r(h8)r}r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jh]]r hà)r }r (h*Xpr1_pru0_pru_r30_10rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Khh]]rhfXpr1_pru0_pru_r30_10r…r}r(h*jh7j ubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*XP16rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Khh]]rhfXP16r…r}r(h*jh7jubaubahUjñubh8)r }r!(h*Uh+}r"(h-]h4]h/]h.]h5]uh7jh]]r#hà)r$}r%(h*X46r&h7j hSh2hUhäh+}r'(h-]h4]h/]h.]h5]uh[Khh]]r(hfX46r)…r*}r+(h*j&h7j$ubaubahUjñubehUjubh<)r,}r-(h*Uh+}r.(h-]h4]h/]h.]h5]uh7jþh]]r/(h8)r0}r1(h*Uh+}r2(h-]h4]h/]h.]h5]uh7j,h]]r3hà)r4}r5(h*Xpr1_pru0_pru_r30_9r6h7j0hSh2hUhäh+}r7(h-]h4]h/]h.]h5]uh[Kjh]]r8hfXpr1_pru0_pru_r30_9r9…r:}r;(h*j6h7j4ubaubahUjñubh8)r<}r=(h*Uh+}r>(h-]h4]h/]h.]h5]uh7j,h]]r?hà)r@}rA(h*XP16rBh7j<hSh2hUhäh+}rC(h-]h4]h/]h.]h5]uh[Kjh]]rDhfXP16rE…rF}rG(h*jBh7j@ubaubahUjñubh8)rH}rI(h*Uh+}rJ(h-]h4]h/]h.]h5]uh7j,h]]rKhà)rL}rM(h*X8h7jHhSh2hUhäh+}rN(h-]h4]h/]h.]h5]uh[Kjh]]rOhfX8…rP}rQ(h*X8h7jLubaubahUjñubehUjubh<)rR}rS(h*Uh+}rT(h-]h4]h/]h.]h5]uh7jþh]]rU(h8)rV}rW(h*Uh+}rX(h-]h4]h/]h.]h5]uh7jRh]]rYhà)rZ}r[(h*XA9r\h7jVhSh2hUhäh+}r](h-]h4]h/]h.]h5]uh[Klh]]r^hfXA9r_…r`}ra(h*j\h7jZubaubahUjñubh8)rb}rc(h*Uh+}rd(h-]h4]h/]h.]h5]uh7jRh]]rehà)rf}rg(h*Xn/arhh7jbhSh2hUhäh+}ri(h-]h4]h/]h.]h5]uh[Klh]]rjhfXn/ark…rl}rm(h*jhh7jfubaubahUjñubh8)rn}ro(h*Uh+}rp(h-]h4]h/]h.]h5]uh7jRh]]rqhà)rr}rs(h*XResetrth7jnhSh2hUhäh+}ru(h-]h4]h/]h.]h5]uh[Klh]]rvhfXResetrw…rx}ry(h*jth7jrubaubahUjñubh8)rz}r{(h*Uh+}r|(h-]h4]h/]h.]h5]uh7jRh]]r}hà)r~}r(h*XGPIO_5_9r€h7jzhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Klh]]r‚hfXGPIO_5_9rƒ…r„}r…(h*j€h7j~ubaubahUjñubh8)r†}r‡(h*Uh+}rˆ(h-]h4]h/]h.]h5]uh7jRh]]r‰hà)rŠ}r‹(h*XP16rŒh7j†hSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[Klh]]rŽhfXP16r…r}r‘(h*jŒh7jŠubaubahUjñubh8)r’}r“(h*Uh+}r”(h-]h4]h/]h.]h5]uh7jRh]]r•hà)r–}r—(h*X32r˜h7j’hSh2hUhäh+}r™(h-]h4]h/]h.]h5]uh[Klh]]ršhfX32r›…rœ}r(h*j˜h7j–ubaubahUjñubehUjubehUjubehUjubaubeubhSh2hUjÅh+}rž(h-]h4]h/]h.]h5]uh[Nh\hh]]rŸhEaubh]]r (jÌ)r¡}r¢(h*Uh+}r£(h.]h/]h-]h4]h5]UcolwidthK uh7hEh]]hUjÐubjÌ)r¤}r¥(h*Uh+}r¦(h.]h/]h-]h4]h5]UcolwidthKuh7hEh]]hUjÐubjÌ)r§}r¨(h*Uh+}r©(h.]h/]h-]h4]h5]UcolwidthKuh7hEh]]hUjÐubjÌ)rª}r«(h*Uh+}r¬(h.]h/]h-]h4]h5]UcolwidthKuh7hEh]]hUjÐubjÌ)r­}r®(h*Uh+}r¯(h.]h/]h-]h4]h5]UcolwidthKuh7hEh]]hUjÐubjÌ)r°}r±(h*Uh+}r²(h.]h/]h-]h4]h5]UcolwidthKuh7hEh]]hUjÐubj¶)r³}r´(h*Uh+}rµ(h-]h4]h/]h.]h5]uh7hEh]]r¶h<)r·}r¸(h*Uh+}r¹(h-]h4]h/]h.]h5]uh7j³h]]rº(h8)r»}r¼(h*Uh+}r½(h-]h4]h/]h.]h5]uh7j·h]]r¾hà)r¿}rÀ(h*XCorerÁh7j»hSh2hUhäh+}rÂ(h-]h4]h/]h.]h5]uh[K=h]]rÃhfXCorerÄ…rÅ}rÆ(h*jÁh7j¿ubaubahUjñubh8)rÇ}rÈ(h*Uh+}rÉ(h-]h4]h/]h.]h5]uh7j·h]]rÊhà)rË}rÌ(h*XPRUrÍh7jÇhSh2hUhäh+}rÎ(h-]h4]h/]h.]h5]uh[K=h]]rÏhfXPRUrÐ…rÑ}rÒ(h*jÍh7jËubaubahUjñubh8)rÓ}rÔ(h*Uh+}rÕ(h-]h4]h/]h.]h5]uh7j·h]]rÖhà)r×}rØ(h*XFunctional PinrÙh7jÓhSh2hUhäh+}rÚ(h-]h4]h/]h.]h5]uh[K=h]]rÛhfXFunctional PinrÜ…rÝ}rÞ(h*jÙh7j×ubaubahUjñubh8)rß}rà(h*Uh+}rá(h-]h4]h/]h.]h5]uh7j·h]]râhà)rã}rä(h*X GPIO Pinsråh7jßhSh2hUhäh+}ræ(h-]h4]h/]h.]h5]uh[K=h]]rçhfX GPIO Pinsrè…ré}rê(h*jåh7jãubaubahUjñubh8)rë}rì(h*Uh+}rí(h-]h4]h/]h.]h5]uh7j·h]]rîhà)rï}rð(h*XEVM Portrñh7jëhSh2hUhäh+}rò(h-]h4]h/]h.]h5]uh[K=h]]róhfXEVM Portrô…rõ}rö(h*jñh7jïubaubahUjñubh8)r÷}rø(h*Uh+}rù(h-]h4]h/]h.]h5]uh7j·h]]rúhà)rû}rü(h*XEVM Pinrýh7j÷hSh2hUhäh+}rþ(h-]h4]h/]h.]h5]uh[K=h]]rÿhfXEVM Pinr…r}r(h*jýh7jûubaubahUjñubehUjubahUjãubhAehUjubh]]r(h=h<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7hAh]]r(h8)r}r (h*Uh+}r (h-]h4]h/]h.]h5]uh7jh]]r hà)r }r (h*Xpr1_pru0_pru_r30_5rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KAh]]rhfXpr1_pru0_pru_r30_5r…r}r(h*jh7j ubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jh]]rhà)r}r(h*XJ3rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KAh]]rhfXJ3r…r}r(h*jh7jubaubahUjñubh8)r }r!(h*Uh+}r"(h-]h4]h/]h.]h5]uh7jh]]r#hà)r$}r%(h*X42r&h7j hSh2hUhäh+}r'(h-]h4]h/]h.]h5]uh[KAh]]r(hfX42r)…r*}r+(h*j&h7j$ubaubahUjñubehUjubh<)r,}r-(h*Uh+}r.(h-]h4]h/]h.]h5]uh7hAh]]r/(h8)r0}r1(h*Uh+}r2(h-]h4]h/]h.]h5]uh7j,h]]r3hà)r4}r5(h*Xpr1_pru0_pru_r30_6r6h7j0hSh2hUhäh+}r7(h-]h4]h/]h.]h5]uh[KCh]]r8hfXpr1_pru0_pru_r30_6r9…r:}r;(h*j6h7j4ubaubahUjñubh8)r<}r=(h*Uh+}r>(h-]h4]h/]h.]h5]uh7j,h]]r?hà)r@}rA(h*XJ3rBh7j<hSh2hUhäh+}rC(h-]h4]h/]h.]h5]uh[KCh]]rDhfXJ3rE…rF}rG(h*jBh7j@ubaubahUjñubh8)rH}rI(h*Uh+}rJ(h-]h4]h/]h.]h5]uh7j,h]]rKhà)rL}rM(h*X39rNh7jHhSh2hUhäh+}rO(h-]h4]h/]h.]h5]uh[KCh]]rPhfX39rQ…rR}rS(h*jNh7jLubaubahUjñubehUjubh<)rT}rU(h*Uh+}rV(h-]h4]h/]h.]h5]uh7hAh]]rW(h8)rX}rY(h*Uh+}rZ(h-]h4]h/]h.]h5]uh7jTh]]r[hà)r\}r](h*Xpr1_pru0_pru_r30_7r^h7jXhSh2hUhäh+}r_(h-]h4]h/]h.]h5]uh[KEh]]r`hfXpr1_pru0_pru_r30_7ra…rb}rc(h*j^h7j\ubaubahUjñubh8)rd}re(h*Uh+}rf(h-]h4]h/]h.]h5]uh7jTh]]rghà)rh}ri(h*XJ3rjh7jdhSh2hUhäh+}rk(h-]h4]h/]h.]h5]uh[KEh]]rlhfXJ3rm…rn}ro(h*jjh7jhubaubahUjñubh8)rp}rq(h*Uh+}rr(h-]h4]h/]h.]h5]uh7jTh]]rshà)rt}ru(h*X40rvh7jphSh2hUhäh+}rw(h-]h4]h/]h.]h5]uh[KEh]]rxhfX40ry…rz}r{(h*jvh7jtubaubahUjñubehUjubh<)r|}r}(h*Uh+}r~(h-]h4]h/]h.]h5]uh7hAh]]r(h8)r€}r(h*Uh+}r‚(h-]h4]h/]h.]h5]uh7j|h]]rƒhà)r„}r…(h*Xpr1_pru0_pru_r30_9r†h7j€hSh2hUhäh+}r‡(h-]h4]h/]h.]h5]uh[KGh]]rˆhfXpr1_pru0_pru_r30_9r‰…rŠ}r‹(h*j†h7j„ubaubahUjñubh8)rŒ}r(h*Uh+}rŽ(h-]h4]h/]h.]h5]uh7j|h]]rhà)r}r‘(h*XJ3r’h7jŒhSh2hUhäh+}r“(h-]h4]h/]h.]h5]uh[KGh]]r”hfXJ3r•…r–}r—(h*j’h7jubaubahUjñubh8)r˜}r™(h*Uh+}rš(h-]h4]h/]h.]h5]uh7j|h]]r›hà)rœ}r(h*X29ržh7j˜hSh2hUhäh+}rŸ(h-]h4]h/]h.]h5]uh[KGh]]r hfX29r¡…r¢}r£(h*jžh7jœubaubahUjñubehUjubh<)r¤}r¥(h*Uh+}r¦(h-]h4]h/]h.]h5]uh7hAh]]r§(h8)r¨}r©(h*Uh+}rª(h-]h4]h/]h.]h5]uh7j¤h]]r«hà)r¬}r­(h*Xpr1_pru0_pru_r30_10r®h7j¨hSh2hUhäh+}r¯(h-]h4]h/]h.]h5]uh[KIh]]r°hfXpr1_pru0_pru_r30_10r±…r²}r³(h*j®h7j¬ubaubahUjñubh8)r´}rµ(h*Uh+}r¶(h-]h4]h/]h.]h5]uh7j¤h]]r·hà)r¸}r¹(h*XJ3rºh7j´hSh2hUhäh+}r»(h-]h4]h/]h.]h5]uh[KIh]]r¼hfXJ3r½…r¾}r¿(h*jºh7j¸ubaubahUjñubh8)rÀ}rÁ(h*Uh+}rÂ(h-]h4]h/]h.]h5]uh7j¤h]]rÃhà)rÄ}rÅ(h*X28rÆh7jÀhSh2hUhäh+}rÇ(h-]h4]h/]h.]h5]uh[KIh]]rÈhfX28rÉ…rÊ}rË(h*jÆh7jÄubaubahUjñubehUjubh<)rÌ}rÍ(h*Uh+}rÎ(h-]h4]h/]h.]h5]uh7hAh]]rÏ(h8)rÐ}rÑ(h*Uh+}rÒ(h-]h4]h/]h.]h5]uh7jÌh]]rÓhà)rÔ}rÕ(h*Xpr1_pru0_pru_r30_0rÖh7jÐhSh2hUhäh+}r×(h-]h4]h/]h.]h5]uh[KKh]]rØhfXpr1_pru0_pru_r30_0rÙ…rÚ}rÛ(h*jÖh7jÔubaubahUjñubh8)rÜ}rÝ(h*Uh+}rÞ(h-]h4]h/]h.]h5]uh7jÌh]]rßhà)rà}rá(h*XJ3râh7jÜhSh2hUhäh+}rã(h-]h4]h/]h.]h5]uh[KKh]]rähfXJ3rå…ræ}rç(h*jâh7jàubaubahUjñubh8)rè}ré(h*Uh+}rê(h-]h4]h/]h.]h5]uh7jÌh]]rëhà)rì}rí(h*X45rîh7jèhSh2hUhäh+}rï(h-]h4]h/]h.]h5]uh[KKh]]rðhfX45rñ…rò}ró(h*jîh7jìubaubahUjñubehUjubh<)rô}rõ(h*Uh+}rö(h-]h4]h/]h.]h5]uh7hAh]]r÷(h8)rø}rù(h*Uh+}rú(h-]h4]h/]h.]h5]uh7jôh]]rûhà)rü}rý(h*Xpr1_pru0_pru_r30_1rþh7jøhSh2hUhäh+}rÿ(h-]h4]h/]h.]h5]uh[KMh]]rhfXpr1_pru0_pru_r30_1r…r}r(h*jþh7jüubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jôh]]rhà)r}r (h*XJ3r h7jhSh2hUhäh+}r (h-]h4]h/]h.]h5]uh[KMh]]r hfXJ3r …r}r(h*j h7jubaubahUjñubh8)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7jôh]]rhà)r}r(h*X46rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KMh]]rhfX46r…r}r(h*jh7jubaubahUjñubehUjubh<)r}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7hAh]]r(h8)r }r!(h*Uh+}r"(h-]h4]h/]h.]h5]uh7jh]]r#hà)r$}r%(h*Xpr1_pru0_pru_r30_2r&h7j hSh2hUhäh+}r'(h-]h4]h/]h.]h5]uh[KOh]]r(hfXpr1_pru0_pru_r30_2r)…r*}r+(h*j&h7j$ubaubahUjñubh8)r,}r-(h*Uh+}r.(h-]h4]h/]h.]h5]uh7jh]]r/hà)r0}r1(h*XJ3r2h7j,hSh2hUhäh+}r3(h-]h4]h/]h.]h5]uh[KOh]]r4hfXJ3r5…r6}r7(h*j2h7j0ubaubahUjñubh8)r8}r9(h*Uh+}r:(h-]h4]h/]h.]h5]uh7jh]]r;hà)r<}r=(h*X43r>h7j8hSh2hUhäh+}r?(h-]h4]h/]h.]h5]uh[KOh]]r@hfX43rA…rB}rC(h*j>h7j<ubaubahUjñubehUjubh<)rD}rE(h*Uh+}rF(h-]h4]h/]h.]h5]uh7hAh]]rG(h8)rH}rI(h*Uh+}rJ(h-]h4]h/]h.]h5]uh7jDh]]rKhà)rL}rM(h*Xpr1_pru0_pru_r30_3rNh7jHhSh2hUhäh+}rO(h-]h4]h/]h.]h5]uh[KQh]]rPhfXpr1_pru0_pru_r30_3rQ…rR}rS(h*jNh7jLubaubahUjñubh8)rT}rU(h*Uh+}rV(h-]h4]h/]h.]h5]uh7jDh]]rWhà)rX}rY(h*XJ3rZh7jThSh2hUhäh+}r[(h-]h4]h/]h.]h5]uh[KQh]]r\hfXJ3r]…r^}r_(h*jZh7jXubaubahUjñubh8)r`}ra(h*Uh+}rb(h-]h4]h/]h.]h5]uh7jDh]]rchà)rd}re(h*X44rfh7j`hSh2hUhäh+}rg(h-]h4]h/]h.]h5]uh[KQh]]rhhfX44ri…rj}rk(h*jfh7jdubaubahUjñubehUjubh<)rl}rm(h*Uh+}rn(h-]h4]h/]h.]h5]uh7hAh]]ro(h8)rp}rq(h*Uh+}rr(h-]h4]h/]h.]h5]uh7jlh]]rshà)rt}ru(h*Xpr1_pru0_pru_r30_8rvh7jphSh2hUhäh+}rw(h-]h4]h/]h.]h5]uh[KSh]]rxhfXpr1_pru0_pru_r30_8ry…rz}r{(h*jvh7jtubaubahUjñubh8)r|}r}(h*Uh+}r~(h-]h4]h/]h.]h5]uh7jlh]]rhà)r€}r(h*XJ3r‚h7j|hSh2hUhäh+}rƒ(h-]h4]h/]h.]h5]uh[KSh]]r„hfXJ3r……r†}r‡(h*j‚h7j€ubaubahUjñubh8)rˆ}r‰(h*Uh+}rŠ(h-]h4]h/]h.]h5]uh7jlh]]r‹hà)rŒ}r(h*X27rŽh7jˆhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KSh]]rhfX27r‘…r’}r“(h*jŽh7jŒubaubahUjñubehUjubh<)r”}r•(h*Uh+}r–(h-]h4]h/]h.]h5]uh7hAh]]r—(h8)r˜}r™(h*Uh+}rš(h-]h4]h/]h.]h5]uh7j”h]]r›hà)rœ}r(h*Xpr1_pru0_pru_r30_11ržh7j˜hSh2hUhäh+}rŸ(h-]h4]h/]h.]h5]uh[KUh]]r hfXpr1_pru0_pru_r30_11r¡…r¢}r£(h*jžh7jœubaubahUjñubh8)r¤}r¥(h*Uh+}r¦(h-]h4]h/]h.]h5]uh7j”h]]r§hà)r¨}r©(h*XJ3rªh7j¤hSh2hUhäh+}r«(h-]h4]h/]h.]h5]uh[KUh]]r¬hfXJ3r­…r®}r¯(h*jªh7j¨ubaubahUjñubh8)r°}r±(h*Uh+}r²(h-]h4]h/]h.]h5]uh7j”h]]r³hà)r´}rµ(h*X30r¶h7j°hSh2hUhäh+}r·(h-]h4]h/]h.]h5]uh[KUh]]r¸hfX30r¹…rº}r»(h*j¶h7j´ubaubahUjñubehUjubh<)r¼}r½(h*Uh+}r¾(h-]h4]h/]h.]h5]uh7hAh]]r¿(h8)rÀ}rÁ(h*Uh+}rÂ(h-]h4]h/]h.]h5]uh7j¼h]]rÃhà)rÄ}rÅ(h*XA8rÆh7jÀhSh2hUhäh+}rÇ(h-]h4]h/]h.]h5]uh[KWh]]rÈhfXA8rÉ…rÊ}rË(h*jÆh7jÄubaubahUjñubh8)rÌ}rÍ(h*Uh+}rÎ(h-]h4]h/]h.]h5]uh7j¼h]]rÏhà)rÐ}rÑ(h*Xn/arÒh7jÌhSh2hUhäh+}rÓ(h-]h4]h/]h.]h5]uh[KWh]]rÔhfXn/arÕ…rÖ}r×(h*jÒh7jÐubaubahUjñubh8)rØ}rÙ(h*Uh+}rÚ(h-]h4]h/]h.]h5]uh7j¼h]]rÛhà)rÜ}rÝ(h*XResetrÞh7jØhSh2hUhäh+}rß(h-]h4]h/]h.]h5]uh[KWh]]ràhfXResetrá…râ}rã(h*jÞh7jÜubaubahUjñubh8)rä}rå(h*Uh+}ræ(h-]h4]h/]h.]h5]uh7j¼h]]rçhà)rè}ré(h*X GPIO_3_19rêh7jähSh2hUhäh+}rë(h-]h4]h/]h.]h5]uh[KWh]]rìhfX GPIO_3_19rí…rî}rï(h*jêh7jèubaubahUjñubh8)rð}rñ(h*Uh+}rò(h-]h4]h/]h.]h5]uh7j¼h]]róhà)rô}rõ(h*XJ9röh7jðhSh2hUhäh+}r÷(h-]h4]h/]h.]h5]uh[KWh]]røhfXJ9rù…rú}rû(h*jöh7jôubaubahUjñubh8)rü}rý(h*Uh+}rþ(h-]h4]h/]h.]h5]uh7j¼h]]rÿhà)r}r(h*X26rh7jühSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KWh]]rhfX26r…r}r(h*jh7jubaubahUjñubehUjubehUjubh]]r(h8)r }r (h*Uh+}r (h.]h/]h-]h4]UmorerowsK h5]uh7h=h]]r hà)r }r(h*XICSS1rh7j hSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KIh]]rhfXICSS1r…r}r(h*jh7j ubaubahUjñubh8)r}r(h*Uh+}r(h.]h/]h-]h4]UmorerowsK h5]uh7h=h]]rhà)r}r(h*XPRU1rh7jhSh2hUhäh+}r(h-]h4]h/]h.]h5]uh[KIh]]rhfXPRU1r…r}r (h*jh7jubaubahUjñubh9h8)r!}r"(h*Uh+}r#(h-]h4]h/]h.]h5]uh7h=h]]r$hà)r%}r&(h*Xpr1_pru0_pru_r30_4r'h7j!hSh2hUhäh+}r((h-]h4]h/]h.]h5]uh[K?h]]r)hfXpr1_pru0_pru_r30_4r*…r+}r,(h*j'h7j%ubaubahUjñubh8)r-}r.(h*Uh+}r/(h-]h4]h/]h.]h5]uh7h=h]]r0hà)r1}r2(h*XJ3r3h7j-hSh2hUhäh+}r4(h-]h4]h/]h.]h5]uh[K?h]]r5hfXJ3r6…r7}r8(h*j3h7j1ubaubahUjñubh8)r9}r:(h*Uh+}r;(h-]h4]h/]h.]h5]uh7h=h]]r<hà)r=}r>(h*X41r?h7j9hSh2hUhäh+}r@(h-]h4]h/]h.]h5]uh[K?h]]rAhfX41rB…rC}rD(h*j?h7j=ubaubahUjñubehUjubh]]rE(jD)rF}rG(h*Uh+}rH(h-]h4]h/]h.]h5]uh7h9h]]rIhà)rJ}rK(h*XOUT[0]rLh7jFhSh2hUhäh+}rM(h-]h4]h/]h.]h5]uh[K?h]]rNhfXOUT[0]rO…rP}rQ(h*jLh7jJubaubahUjGubjD)rR}rS(h*Uh+}rT(h-]h4]h/]h.]h5]uh7h9h]]rUhà)rV}rW(h*XOUT[1]rXh7jRhSh2hUhäh+}rY(h-]h4]h/]h.]h5]uh[KAh]]rZhfXOUT[1]r[…r\}r](h*jXh7jVubaubahUjGubjD)r^}r_(h*Uh+}r`(h-]h4]h/]h.]h5]uh7h9h]]rahà)rb}rc(h*XOUT[2]rdh7j^hSh2hUhäh+}re(h-]h4]h/]h.]h5]uh[KCh]]rfhfXOUT[2]rg…rh}ri(h*jdh7jbubaubahUjGubjD)rj}rk(h*Uh+}rl(h-]h4]h/]h.]h5]uh7h9h]]rmhà)rn}ro(h*XOUT[3]rph7jjhSh2hUhäh+}rq(h-]h4]h/]h.]h5]uh[KEh]]rrhfXOUT[3]rs…rt}ru(h*jph7jnubaubahUjGubjD)rv}rw(h*Uh+}rx(h-]h4]h/]h.]h5]uh7h9h]]ryhà)rz}r{(h*XAlertr|h7jvhSh2hUhäh+}r}(h-]h4]h/]h.]h5]uh[KGh]]r~hfXAlertr…r€}r(h*j|h7jzubaubahUjGubjD)r‚}rƒ(h*Uh+}r„(h-]h4]h/]h.]h5]uh7h9h]]r…hà)r†}r‡(h*XENrˆh7j‚hSh2hUhäh+}r‰(h-]h4]h/]h.]h5]uh[KIh]]rŠhfXENr‹…rŒ}r(h*jˆh7j†ubaubahUjGubjD)rŽ}r(h*Uh+}r(h-]h4]h/]h.]h5]uh7h9h]]r‘hà)r’}r“(h*XIN[0]r”h7jŽhSh2hUhäh+}r•(h-]h4]h/]h.]h5]uh[KKh]]r–hfXIN[0]r—…r˜}r™(h*j”h7j’ubaubahUjGubjD)rš}r›(h*Uh+}rœ(h-]h4]h/]h.]h5]uh7h9h]]rhà)rž}rŸ(h*XIN[1]r h7jšhSh2hUhäh+}r¡(h-]h4]h/]h.]h5]uh[KMh]]r¢hfXIN[1]r£…r¤}r¥(h*j h7jžubaubahUjGubjD)r¦}r§(h*Uh+}r¨(h-]h4]h/]h.]h5]uh7h9h]]r©hà)rª}r«(h*XIN[2]r¬h7j¦hSh2hUhäh+}r­(h-]h4]h/]h.]h5]uh[KOh]]r®hfXIN[2]r¯…r°}r±(h*j¬h7jªubaubahUjGubjD)r²}r³(h*Uh+}r´(h-]h4]h/]h.]h5]uh7h9h]]rµhà)r¶}r·(h*XIN[3]r¸h7j²hSh2hUhäh+}r¹(h-]h4]h/]h.]h5]uh[KQh]]rºhfXIN[3]r»…r¼}r½(h*j¸h7j¶ubaubahUjGubjD)r¾}r¿(h*Uh+}rÀ(h-]h4]h/]h.]h5]uh7h9h]]rÁhà)rÂ}rÃ(h*XSCLrÄh7j¾hSh2hUhäh+}rÅ(h-]h4]h/]h.]h5]uh[KSh]]rÆhfXSCLrÇ…rÈ}rÉ(h*jÄh7jÂubaubahUjGubjD)rÊ}rË(h*Uh+}rÌ(h-]h4]h/]h.]h5]uh7h9h]]rÍhà)rÎ}rÏ(h*XCSrÐh7jÊhSh2hUhäh+}rÑ(h-]h4]h/]h.]h5]uh[KUh]]rÒhfXCSrÓ…rÔ}rÕ(h*jÐh7jÎubaubahUjGubehUjñubh]]rÖhà)r×}rØ(h*X;Block quote ends without a blank line; unexpected unindent.h+}rÙ(h-]h4]h/]h.]h5]uh7h(h]]rÚhfX;Block quote ends without a blank line; unexpected unindent.rÛ…rÜ}rÝ(h*Uh7j×ubahUhäubahUUsystem_messagerÞubh')rß}rà(h*Uh+}rá(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKAUtypeUSEVERErâuh7h9h]]rã(hà)rä}rå(h*X'Unexpected section title or transition.h+}ræ(h-]h4]h/]h.]h5]uh7jßh]]rçhfX'Unexpected section title or transition.rè…ré}rê(h*Uh7jäubahUhäubjn )rë}rì(h*X--------------h+}rí(h¤h¥h.]h/]h-]h4]h5]uh7jßh]]rîhfX--------------rï…rð}rñ(h*Uh7jëubahUjq ubehUjÞubh')rò}ró(h*Uh+}rô(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKCUtypeh6uh7h9h]]rõhà)rö}r÷(h*X;Block quote ends without a blank line; unexpected unindent.h+}rø(h-]h4]h/]h.]h5]uh7jòh]]rùhfX;Block quote ends without a blank line; unexpected unindent.rú…rû}rü(h*Uh7jöubahUhäubahUjÞubh')rý}rþ(h*Uh+}rÿ(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKCUtypejâuh7h9h]]r(hà)r}r(h*X'Unexpected section title or transition.h+}r(h-]h4]h/]h.]h5]uh7jýh]]rhfX'Unexpected section title or transition.r…r}r(h*Uh7jubahUhäubjn )r}r (h*X--------------h+}r (h¤h¥h.]h/]h-]h4]h5]uh7jýh]]r hfX--------------r …r }r(h*Uh7jubahUjq ubehUjÞubh')r}r(h*Uh+}r(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKEUtypeh6uh7h9h]]rhà)r}r(h*X;Block quote ends without a blank line; unexpected unindent.h+}r(h-]h4]h/]h.]h5]uh7jh]]rhfX;Block quote ends without a blank line; unexpected unindent.r…r}r(h*Uh7jubahUhäubahUjÞubh')r}r(h*Uh+}r(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKEUtypejâuh7h9h]]r(hà)r}r(h*X'Unexpected section title or transition.h+}r (h-]h4]h/]h.]h5]uh7jh]]r!hfX'Unexpected section title or transition.r"…r#}r$(h*Uh7jubahUhäubjn )r%}r&(h*X--------------h+}r'(h¤h¥h.]h/]h-]h4]h5]uh7jh]]r(hfX--------------r)…r*}r+(h*Uh7j%ubahUjq ubehUjÞubh')r,}r-(h*Uh+}r.(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKGUtypeh6uh7h9h]]r/hà)r0}r1(h*X;Block quote ends without a blank line; unexpected unindent.h+}r2(h-]h4]h/]h.]h5]uh7j,h]]r3hfX;Block quote ends without a blank line; unexpected unindent.r4…r5}r6(h*Uh7j0ubahUhäubahUjÞubh')r7}r8(h*Uh+}r9(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKGUtypejâuh7h9h]]r:(hà)r;}r<(h*X'Unexpected section title or transition.h+}r=(h-]h4]h/]h.]h5]uh7j7h]]r>hfX'Unexpected section title or transition.r?…r@}rA(h*Uh7j;ubahUhäubjn )rB}rC(h*X--------------h+}rD(h¤h¥h.]h/]h-]h4]h5]uh7j7h]]rEhfX--------------rF…rG}rH(h*Uh7jBubahUjq ubehUjÞubh')rI}rJ(h*Uh+}rK(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKIUtypeh6uh7h9h]]rLhà)rM}rN(h*X;Block quote ends without a blank line; unexpected unindent.h+}rO(h-]h4]h/]h.]h5]uh7jIh]]rPhfX;Block quote ends without a blank line; unexpected unindent.rQ…rR}rS(h*Uh7jMubahUhäubahUjÞubh')rT}rU(h*Uh+}rV(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKIUtypejâuh7h9h]]rW(hà)rX}rY(h*X'Unexpected section title or transition.h+}rZ(h-]h4]h/]h.]h5]uh7jTh]]r[hfX'Unexpected section title or transition.r\…r]}r^(h*Uh7jXubahUhäubjn )r_}r`(h*X--------------h+}ra(h¤h¥h.]h/]h-]h4]h5]uh7jTh]]rbhfX--------------rc…rd}re(h*Uh7j_ubahUjq ubehUjÞubh')rf}rg(h*Uh+}rh(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKKUtypeh6uh7h9h]]rihà)rj}rk(h*X;Block quote ends without a blank line; unexpected unindent.h+}rl(h-]h4]h/]h.]h5]uh7jfh]]rmhfX;Block quote ends without a blank line; unexpected unindent.rn…ro}rp(h*Uh7jjubahUhäubahUjÞubh')rq}rr(h*Uh+}rs(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKKUtypejâuh7h9h]]rt(hà)ru}rv(h*X'Unexpected section title or transition.h+}rw(h-]h4]h/]h.]h5]uh7jqh]]rxhfX'Unexpected section title or transition.ry…rz}r{(h*Uh7juubahUhäubjn )r|}r}(h*X--------------h+}r~(h¤h¥h.]h/]h-]h4]h5]uh7jqh]]rhfX--------------r€…r}r‚(h*Uh7j|ubahUjq ubehUjÞubh')rƒ}r„(h*Uh+}r…(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKMUtypeh6uh7h9h]]r†hà)r‡}rˆ(h*X;Block quote ends without a blank line; unexpected unindent.h+}r‰(h-]h4]h/]h.]h5]uh7jƒh]]rŠhfX;Block quote ends without a blank line; unexpected unindent.r‹…rŒ}r(h*Uh7j‡ubahUhäubahUjÞubh')rŽ}r(h*Uh+}r(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKMUtypejâuh7h9h]]r‘(hà)r’}r“(h*X'Unexpected section title or transition.h+}r”(h-]h4]h/]h.]h5]uh7jŽh]]r•hfX'Unexpected section title or transition.r–…r—}r˜(h*Uh7j’ubahUhäubjn )r™}rš(h*X--------------h+}r›(h¤h¥h.]h/]h-]h4]h5]uh7jŽh]]rœhfX--------------r…rž}rŸ(h*Uh7j™ubahUjq ubehUjÞubh')r }r¡(h*Uh+}r¢(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKOUtypeh6uh7h9h]]r£hà)r¤}r¥(h*X;Block quote ends without a blank line; unexpected unindent.h+}r¦(h-]h4]h/]h.]h5]uh7j h]]r§hfX;Block quote ends without a blank line; unexpected unindent.r¨…r©}rª(h*Uh7j¤ubahUhäubahUjÞubh')r«}r¬(h*Uh+}r­(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKOUtypejâuh7h9h]]r®(hà)r¯}r°(h*X'Unexpected section title or transition.h+}r±(h-]h4]h/]h.]h5]uh7j«h]]r²hfX'Unexpected section title or transition.r³…r´}rµ(h*Uh7j¯ubahUhäubjn )r¶}r·(h*X--------------h+}r¸(h¤h¥h.]h/]h-]h4]h5]uh7j«h]]r¹hfX--------------rº…r»}r¼(h*Uh7j¶ubahUjq ubehUjÞubh')r½}r¾(h*Uh+}r¿(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKQUtypeh6uh7h9h]]rÀhà)rÁ}rÂ(h*X;Block quote ends without a blank line; unexpected unindent.h+}rÃ(h-]h4]h/]h.]h5]uh7j½h]]rÄhfX;Block quote ends without a blank line; unexpected unindent.rÅ…rÆ}rÇ(h*Uh7jÁubahUhäubahUjÞubh')rÈ}rÉ(h*Uh+}rÊ(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKQUtypejâuh7h9h]]rË(hà)rÌ}rÍ(h*X'Unexpected section title or transition.h+}rÎ(h-]h4]h/]h.]h5]uh7jÈh]]rÏhfX'Unexpected section title or transition.rÐ…rÑ}rÒ(h*Uh7jÌubahUhäubjn )rÓ}rÔ(h*X--------------h+}rÕ(h¤h¥h.]h/]h-]h4]h5]uh7jÈh]]rÖhfX--------------r×…rØ}rÙ(h*Uh7jÓubahUjq ubehUjÞubh')rÚ}rÛ(h*Uh+}rÜ(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKSUtypeh6uh7h9h]]rÝhà)rÞ}rß(h*X;Block quote ends without a blank line; unexpected unindent.h+}rà(h-]h4]h/]h.]h5]uh7jÚh]]ráhfX;Block quote ends without a blank line; unexpected unindent.râ…rã}rä(h*Uh7jÞubahUhäubahUjÞubh')rå}ræ(h*Uh+}rç(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKSUtypejâuh7h9h]]rè(hà)ré}rê(h*X'Unexpected section title or transition.h+}rë(h-]h4]h/]h.]h5]uh7jåh]]rìhfX'Unexpected section title or transition.rí…rî}rï(h*Uh7jéubahUhäubjn )rð}rñ(h*X--------------h+}rò(h¤h¥h.]h/]h-]h4]h5]uh7jåh]]róhfX--------------rô…rõ}rö(h*Uh7jðubahUjq ubehUjÞubh')r÷}rø(h*Uh+}rù(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKUUtypeh6uh7h9h]]rúhà)rû}rü(h*X;Block quote ends without a blank line; unexpected unindent.h+}rý(h-]h4]h/]h.]h5]uh7j÷h]]rþhfX;Block quote ends without a blank line; unexpected unindent.rÿ…r}r(h*Uh7jûubahUhäubahUjÞubh')r}r(h*Uh+}r(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKUUtypejâuh7h9h]]r(hà)r}r(h*X'Unexpected section title or transition.h+}r(h-]h4]h/]h.]h5]uh7jh]]r hfX'Unexpected section title or transition.r …r }r (h*Uh7jubahUhäubjn )r }r(h*X--------------h+}r(h¤h¥h.]h/]h-]h4]h5]uh7jh]]rhfX--------------r…r}r(h*Uh7j ubahUjq ubehUjÞubh')r}r(h*Uh+}r(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKbUtypeh6uh7jh]]rhà)r}r(h*X;Block quote ends without a blank line; unexpected unindent.h+}r(h-]h4]h/]h.]h5]uh7jh]]rhfX;Block quote ends without a blank line; unexpected unindent.r…r}r(h*Uh7jubahUhäubahUjÞubh')r}r (h*Uh+}r!(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKbUtypejâuh7jh]]r"(hà)r#}r$(h*X'Unexpected section title or transition.h+}r%(h-]h4]h/]h.]h5]uh7jh]]r&hfX'Unexpected section title or transition.r'…r(}r)(h*Uh7j#ubahUhäubjn )r*}r+(h*X--------------h+}r,(h¤h¥h.]h/]h-]h4]h5]uh7jh]]r-hfX--------------r.…r/}r0(h*Uh7j*ubahUjq ubehUjÞubh')r1}r2(h*Uh+}r3(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKdUtypeh6uh7jh]]r4hà)r5}r6(h*X;Block quote ends without a blank line; unexpected unindent.h+}r7(h-]h4]h/]h.]h5]uh7j1h]]r8hfX;Block quote ends without a blank line; unexpected unindent.r9…r:}r;(h*Uh7j5ubahUhäubahUjÞubh')r<}r=(h*Uh+}r>(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKdUtypejâuh7jh]]r?(hà)r@}rA(h*X'Unexpected section title or transition.h+}rB(h-]h4]h/]h.]h5]uh7j<h]]rChfX'Unexpected section title or transition.rD…rE}rF(h*Uh7j@ubahUhäubjn )rG}rH(h*X--------------h+}rI(h¤h¥h.]h/]h-]h4]h5]uh7j<h]]rJhfX--------------rK…rL}rM(h*Uh7jGubahUjq ubehUjÞubh')rN}rO(h*Uh+}rP(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKfUtypeh6uh7jh]]rQhà)rR}rS(h*X;Block quote ends without a blank line; unexpected unindent.h+}rT(h-]h4]h/]h.]h5]uh7jNh]]rUhfX;Block quote ends without a blank line; unexpected unindent.rV…rW}rX(h*Uh7jRubahUhäubahUjÞubh')rY}rZ(h*Uh+}r[(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKfUtypejâuh7jh]]r\(hà)r]}r^(h*X'Unexpected section title or transition.h+}r_(h-]h4]h/]h.]h5]uh7jYh]]r`hfX'Unexpected section title or transition.ra…rb}rc(h*Uh7j]ubahUhäubjn )rd}re(h*X--------------h+}rf(h¤h¥h.]h/]h-]h4]h5]uh7jYh]]rghfX--------------rh…ri}rj(h*Uh7jdubahUjq ubehUjÞubh')rk}rl(h*Uh+}rm(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKhUtypeh6uh7jh]]rnhà)ro}rp(h*X;Block quote ends without a blank line; unexpected unindent.h+}rq(h-]h4]h/]h.]h5]uh7jkh]]rrhfX;Block quote ends without a blank line; unexpected unindent.rs…rt}ru(h*Uh7joubahUhäubahUjÞubh')rv}rw(h*Uh+}rx(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKhUtypejâuh7jh]]ry(hà)rz}r{(h*X'Unexpected section title or transition.h+}r|(h-]h4]h/]h.]h5]uh7jvh]]r}hfX'Unexpected section title or transition.r~…r}r€(h*Uh7jzubahUhäubjn )r}r‚(h*X--------------h+}rƒ(h¤h¥h.]h/]h-]h4]h5]uh7jvh]]r„hfX--------------r……r†}r‡(h*Uh7jubahUjq ubehUjÞubh')rˆ}r‰(h*Uh+}rŠ(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKjUtypeh6uh7jh]]r‹hà)rŒ}r(h*X;Block quote ends without a blank line; unexpected unindent.h+}rŽ(h-]h4]h/]h.]h5]uh7jˆh]]rhfX;Block quote ends without a blank line; unexpected unindent.r…r‘}r’(h*Uh7jŒubahUhäubahUjÞubh')r“}r”(h*Uh+}r•(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKjUtypejâuh7jh]]r–(hà)r—}r˜(h*X'Unexpected section title or transition.h+}r™(h-]h4]h/]h.]h5]uh7j“h]]ršhfX'Unexpected section title or transition.r›…rœ}r(h*Uh7j—ubahUhäubjn )rž}rŸ(h*X--------------h+}r (h¤h¥h.]h/]h-]h4]h5]uh7j“h]]r¡hfX--------------r¢…r£}r¤(h*Uh7jžubahUjq ubehUjÞubh')r¥}r¦(h*Uh7j-hSh2hUjÞh+}r§(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKtUtypeUERRORr¨uh[Ksh\hh]]r©hà)rª}r«(h*XUnexpected indentation.h+}r¬(h-]h4]h/]h.]h5]uh7j¥h]]r­hfXUnexpected indentation.r®…r¯}r°(h*Uh7jªubahUhäubaubh')r±}r²(h*Uh7j-hSNhUjÞh+}r³(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKuUtypeh6uh[Nh\hh]]r´hà)rµ}r¶(h*X;Block quote ends without a blank line; unexpected unindent.h+}r·(h-]h4]h/]h.]h5]uh7j±h]]r¸hfX;Block quote ends without a blank line; unexpected unindent.r¹…rº}r»(h*Uh7jµubahUhäubaubh')r¼}r½(h*Uh7j-hSX_internal padding after source/rtos/PDK_Platform_Software/PRU_ICSS_Drivers/ESPI_FIRMWARE.rst.incr¾hUjÞh+}r¿(h-]UlevelKh.]h/]Usourceh2h4]h5]UlineKéUtypej¨uh[Kêh\hh]]rÀ(hà)rÁ}rÂ(h*X;Content block expected for the "raw" directive; none found.h+}rÃ(h-]h4]h/]h.]h5]uh7j¼h]]rÄhfX;Content block expected for the "raw" directive; none found.rÅ…rÆ}rÇ(h*Uh7jÁubahUhäubjn )rÈ}rÉ(h*X.. raw:: html h+}rÊ(h¤h¥h.]h/]h-]h4]h5]uh7j¼h]]rËhfX.. raw:: html rÌ…rÍ}rÎ(h*Uh7jÈubahUjq ubeubh')rÏ}rÐ(h*Uh7hªhSh hUjÞh+}rÑ(h-]UlevelKh.]h/]rÒh°aUsourceh h4]h5]UlineKUtypeUINFOrÓuh[Kh\hh]]rÔhà)rÕ}rÖ(h*X/Duplicate implicit target name: "introduction".h+}r×(h-]h4]h/]h.]h5]uh7jÏh]]rØhfX/Duplicate implicit target name: "introduction".rÙ…rÚ}rÛ(h*Uh7jÕubahUhäubaubh')rÜ}rÝ(h*Uh7jhSh hUjÞh+}rÞ(h-]UlevelKh.]h/]rßj aUsourceh h4]h5]UlineK7UtypejÓuh[K7h\hh]]ràhà)rá}râ(h*X8Duplicate implicit target name: "firmware organization".h+}rã(h-]h4]h/]h.]h5]uh7jÜh]]rähfX8Duplicate implicit target name: "firmware organization".rå…ræ}rç(h*Uh7jáubahUhäubaubh')rè}ré(h*Uh7jhSh hUjÞh+}rê(h-]UlevelKh.]h/]rëj‡aUsourceh h4]h5]UlineKrUtypejÓuh[Krh\hh]]rìhà)rí}rî(h*X1Duplicate implicit target name: "supported evms".h+}rï(h-]h4]h/]h.]h5]uh7jèh]]rðhfX1Duplicate implicit target name: "supported evms".rñ…rò}ró(h*Uh7jíubahUhäubaubh')rô}rõ(h*Uh7j8 hSh hUjÞh+}rö(h-]UlevelKh.]h/]Usourceh h4]h5]UlineKùUtypeh6uh[Køh\hh]]r÷hà)rø}rù(h*X=Literal block ends without a blank line; unexpected unindent.h+}rú(h-]h4]h/]h.]h5]uh7jôh]]rûhfX=Literal block ends without a blank line; unexpected unindent.rü…rý}rþ(h*Uh7jøubahUhäubaubh')rÿ}r(h*Uh+}r(h-]UlevelKh.]h/]rj’ aUsourcehTh4]h5]UlineKUtypeh6uh7j h]]rhà)r}r(h*X8Duplicate explicit target name: "firmware-design-guide".h+}r(h-]h4]h/]h.]h5]uh7jÿh]]rhfX8Duplicate explicit target name: "firmware-design-guide".r…r }r (h*Uh7jubahUhäubahUjÞubh')r }r (h*Uh7j8 hSX_internal padding after source/rtos/PDK_Platform_Software/PRU_ICSS_Drivers/UART_FIRMWARE.rst.incr hUjÞh+}r(h-]UlevelKh.]h/]Usourceh h4]h5]UlineM2Utypej¨uh[M4h\hh]]r(hà)r}r(h*X;Content block expected for the "raw" directive; none found.h+}r(h-]h4]h/]h.]h5]uh7j h]]rhfX;Content block expected for the "raw" directive; none found.r…r}r(h*Uh7jubahUhäubjn )r}r(h*X.. raw:: html h+}r(h¤h¥h.]h/]h-]h4]h5]uh7j h]]rhfX.. raw:: html r…r}r(h*Uh7jubahUjq ubeubeUcurrent_sourcerNU decorationrNUautofootnote_startr KUnameidsr!}r"(hjÎ hh‰hjñ h jh jh j¿ h hYh NhNhjéhhšhjËhj< hjƒ hjhNhjŽhjàhNhjŽhj¯hj hhÕhjhjÂhjƒh j1h!jÞ h"j uh]]r#hQah*UU transformerr$NU footnote_refsr%}r&Urefnamesr'}r(Usymbol_footnotesr)]r*Uautofootnote_refsr+]r,Usymbol_footnote_refsr-]r.U citationsr/]r0h\hU current_liner1NUtransform_messagesr2]r3(h')r4}r5(h*Uh+}r6(h-]UlevelKh.]h/]UsourcehTh4]h5]UlineK UtypejÓuh]]r7hà)r8}r9(h*Uh+}r:(h-]h4]h/]h.]h5]uh7j4h]]r;hfXBHyperlink target "pru-icss-espi-firmware-label" is not referenced.r<…r=}r>(h*Uh7j8ubahUhäubahUjÞubh')r?}r@(h*Uh+}rA(h-]UlevelKh.]h/]UsourcehTh4]h5]UlineKþUtypejÓuh]]rBhà)rC}rD(h*Uh+}rE(h-]h4]h/]h.]h5]uh7j?h]]rFhfXBHyperlink target "pru-icss-uart-firmware-label" is not referenced.rG…rH}rI(h*Uh7jCubahUhäubahUjÞubeUreporterrJNUid_startrKKU autofootnotesrL]rMU citation_refsrN}rOUindirect_targetsrP]rQUsettingsrR(cdocutils.frontend Values rSorT}rU(Ufootnote_backlinksrVKUrecord_dependenciesrWNU rfc_base_urlrXUhttps://tools.ietf.org/html/rYU tracebackrZˆUpep_referencesr[NUstrip_commentsr\NU toc_backlinksr]jñU language_coder^Uenr_U datestampr`NU report_levelraKU _destinationrbNU halt_levelrcKU strip_classesrdNhcNUerror_encoding_error_handlerreUbackslashreplacerfUdebugrgNUembed_stylesheetrh‰Uoutput_encoding_error_handlerriUstrictrjU sectnum_xformrkKUdump_transformsrlNU docinfo_xformrmKUwarning_streamrnNUpep_file_url_templateroUpep-%04drpUexit_status_levelrqKUconfigrrNUstrict_visitorrsNUcloak_email_addressesrtˆUtrim_footnote_reference_spaceru‰UenvrvNUdump_pseudo_xmlrwNUexpose_internalsrxNUsectsubtitle_xformry‰U source_linkrzNUrfc_referencesr{NUoutput_encodingr|Uutf-8r}U source_urlr~NUinput_encodingrU utf-8-sigr€U_disable_configrNU id_prefixr‚UU tab_widthrƒKUerror_encodingr„UUTF-8r…U_sourcer†hTUgettext_compactr‡ˆU generatorrˆNUdump_internalsr‰NU smart_quotesrЉU pep_base_urlr‹U https://www.python.org/dev/peps/rŒUsyntax_highlightrUlongrŽUinput_encoding_error_handlerrjjUauto_id_prefixrUidr‘Udoctitle_xformr’‰Ustrip_elements_with_classesr“NU _config_filesr”]Ufile_insertion_enabledr•ˆU raw_enabledr–KU dump_settingsr—NubUsymbol_footnote_startr˜KUidsr™}rš(jjjñ jì j¯j©j¿ j» j1j-j j jéjäj’ j j jj‡jh°hªhšh•jËjÆj< j8 hYhQjƒ j~ jj jŽj‰jàjÛjcj^hÕhÑjÂj½jÕhLjƒj~j? j: jÞ jÙ jŽjŠj hOj j h‰h…jÎ jÊ jjjj™uUsubstitution_namesr›}rœhUh\h+}r(h-]h.]h/]UsourcehTh4]h5]uU footnotesrž]rŸUrefidsr }r¡ub.