€•*XŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ!/translations/zh_CN/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/zh_TW/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/it_IT/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ja_JP/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ko_KR/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/pt_BR/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/sp_SP/spi/butterfly”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ3spi_butterfly - parport-to-butterfly adapter driver”h]”hŒ3spi_butterfly - parport-to-butterfly adapter driver”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ;/var/lib/git/docbuild/linux/Documentation/spi/butterfly.rst”h´KubhŒ paragraph”“”)�”}”(hX¢This is a hardware and software project that includes building and using a parallel port adapter cable, together with an "AVR Butterfly" to run firmware for user interfacing and/or sensors. A Butterfly is a $US20 battery powered card with an AVR microcontroller and lots of goodies: sensors, LCD, flash, toggle stick, and more. You can use AVR-GCC to develop firmware for this, and flash it using this adapter cable.”h]”hX¦This is a hardware and software project that includes building and using a parallel port adapter cable, together with an “AVR Butterflyâ€� to run firmware for user interfacing and/or sensors. A Butterfly is a $US20 battery powered card with an AVR microcontroller and lots of goodies: sensors, LCD, flash, toggle stick, and more. You can use AVR-GCC to develop firmware for this, and flash it using this adapter cable.”…”�”}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hXœYou can make this adapter from an old printer cable and solder things directly to the Butterfly. Or (if you have the parts and skills) you can come up with something fancier, providing circuit protection to the Butterfly and the printer port, or with a better power supply than two signal pins from the printer port. Or for that matter, you can use similar cables to talk to many AVR boards, even a breadboard.”h]”hXœYou can make this adapter from an old printer cable and solder things directly to the Butterfly. Or (if you have the parts and skills) you can come up with something fancier, providing circuit protection to the Butterfly and the printer port, or with a better power supply than two signal pins from the printer port. Or for that matter, you can use similar cables to talk to many AVR boards, even a breadboard.”…”�”}”(hhÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubhÌ)�”}”(hXThis is more powerful than "ISP programming" cables since it lets kernel SPI protocol drivers interact with the AVR, and could even let the AVR issue interrupts to them. Later, your protocol driver should work easily with a "real SPI controller", instead of this bitbanger.”h]”hXThis is more powerful than “ISP programmingâ€� cables since it lets kernel SPI protocol drivers interact with the AVR, and could even let the AVR issue interrupts to them. Later, your protocol driver should work easily with a “real SPI controllerâ€�, instead of this bitbanger.”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hXJThe first cable connections will hook Linux up to one SPI bus, with the AVR and a DataFlash chip; and to the AVR reset line. This is all you need to reflash the firmware, and the pins are the standard Atmel "ISP" connector pins (used also on non-Butterfly AVR boards). On the parport side this is like "sp12" programming cables.”h]”hXRThe first cable connections will hook Linux up to one SPI bus, with the AVR and a DataFlash chip; and to the AVR reset line. This is all you need to reflash the firmware, and the pins are the standard Atmel “ISPâ€� connector pins (used also on non-Butterfly AVR boards). On the parport side this is like “sp12â€� programming cables.”…”�”}”(hh÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒ block_quote”“”)�”}”(hX�====== ============= =================== Signal Butterfly Parport (DB-25) ====== ============= =================== SCK J403.PB1/SCK pin 2/D0 RESET J403.nRST pin 3/D1 VCC J403.VCC_EXT pin 8/D6 MOSI J403.PB2/MOSI pin 9/D7 MISO J403.PB3/MISO pin 11/S7,nBUSY GND J403.GND pin 23/GND ====== ============= =================== ”h]”hŒtable”“”)�”}”(hhh]”hŒtgroup”“”)�”}”(hhh]”(hŒcolspec”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1jhjubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjubhŒthead”“”)�”}”(hhh]”hŒrow”“”)�”}”(hhh]”(hŒentry”“”)�”}”(hhh]”hÌ)�”}”(hŒSignal”h]”hŒSignal”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<ubj@)�”}”(hhh]”hÌ)�”}”(hŒ Butterfly”h]”hŒ Butterfly”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<ubj@)�”}”(hhh]”hÌ)�”}”(hŒParport (DB-25)”h]”hŒParport (DB-25)”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubhŒtbody”“”)�”}”(hhh]”(j;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒSCK”h]”hŒSCK”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj—ubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PB1/SCK”h]”hŒ J403.PB1/SCK”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj—ubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 2/D0”h]”hŒpin 2/D0”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒRESET”h]”hŒRESET”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K#hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjåubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.nRST”h]”hŒ J403.nRST”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K#hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjåubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 3/D1”h]”hŒpin 3/D1”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjåubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒVCC”h]”hŒVCC”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K$hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj3ubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.VCC_EXT”h]”hŒ J403.VCC_EXT”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K$hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj3ubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 8/D6”h]”hŒpin 8/D6”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K$hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒMOSI”h]”hŒMOSI”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K%hj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj�ubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PB2/MOSI”h]”hŒ J403.PB2/MOSI”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K%hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj�ubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 9/D7”h]”hŒpin 9/D7”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K%hj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒMISO”h]”hŒMISO”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K&hjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjÏubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PB3/MISO”h]”hŒ J403.PB3/MISO”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K&hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjÏubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 11/S7,nBUSY”h]”hŒpin 11/S7,nBUSY”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K&hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒGND”h]”hŒGND”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K'hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒJ403.GND”h]”hŒJ403.GND”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K'hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒ pin 23/GND”h]”hŒ pin 23/GND”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K'hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Khh·h²hubhÌ)�”}”(hŒõThen to let Linux master that bus to talk to the DataFlash chip, you must (a) flash new firmware that disables SPI (set PRR.2, and disable pullups by clearing PORTB.[0-3]); (b) configure the mtd_dataflash driver; and (c) cable in the chipselect.”h]”hŒõThen to let Linux master that bus to talk to the DataFlash chip, you must (a) flash new firmware that disables SPI (set PRR.2, and disable pullups by clearing PORTB.[0-3]); (b) configure the mtd_dataflash driver; and (c) cable in the chipselect.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K*hh·h²hubj)�”}”(hX(====== ============ =================== Signal Butterfly Parport (DB-25) ====== ============ =================== VCC J400.VCC_EXT pin 7/D5 SELECT J400.PB0/nSS pin 17/C3,nSELECT GND J400.GND pin 24/GND ====== ============ =================== ”h]”j )�”}”(hhh]”j)�”}”(hhh]”(j)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhj™ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1jhj™ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhj™ubj6)�”}”(hhh]”j;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒSignal”h]”hŒSignal”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K0hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj½ubj@)�”}”(hhh]”hÌ)�”}”(hŒ Butterfly”h]”hŒ Butterfly”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K0hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj½ubj@)�”}”(hhh]”hÌ)�”}”(hŒParport (DB-25)”h]”hŒParport (DB-25)”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K0hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj™ubj“)�”}”(hhh]”(j;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒVCC”h]”hŒVCC”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K2hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒ J400.VCC_EXT”h]”hŒ J400.VCC_EXT”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K2hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 7/D5”h]”hŒpin 7/D5”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K2hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hjubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒSELECT”h]”hŒSELECT”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K3hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjbubj@)�”}”(hhh]”hÌ)�”}”(hŒ J400.PB0/nSS”h]”hŒ J400.PB0/nSS”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K3hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjbubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 17/C3,nSELECT”h]”hŒpin 17/C3,nSELECT”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K3hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hjubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒGND”h]”hŒGND”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K4hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj°ubj@)�”}”(hhh]”hÌ)�”}”(hŒJ400.GND”h]”hŒJ400.GND”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K4hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj°ubj@)�”}”(hhh]”hÌ)�”}”(hŒ pin 24/GND”h]”hŒ pin 24/GND”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K4hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j’hj™ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K/hh·h²hubhÌ)�”}”(hŒÂOr you could flash firmware making the AVR into an SPI slave (keeping the DataFlash in reset) and tweak the spi_butterfly driver to make it bind to the driver for your custom SPI-based protocol.”h]”hŒÂOr you could flash firmware making the AVR into an SPI slave (keeping the DataFlash in reset) and tweak the spi_butterfly driver to make it bind to the driver for your custom SPI-based protocol.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K7hh·h²hubhÌ)�”}”(hXThe "USI" controller, using J405, can also be used for a second SPI bus. That would let you talk to the AVR using custom SPI-with-USI firmware, while letting either Linux or the AVR use the DataFlash. There are plenty of spare parport pins to wire this one up, such as:”h]”hXThe “USIâ€� controller, using J405, can also be used for a second SPI bus. That would let you talk to the AVR using custom SPI-with-USI firmware, while letting either Linux or the AVR use the DataFlash. There are plenty of spare parport pins to wire this one up, such as:”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K;hh·h²hubj)�”}”(hXš====== ============= =================== Signal Butterfly Parport (DB-25) ====== ============= =================== SCK J403.PE4/USCK pin 5/D3 MOSI J403.PE5/DI pin 6/D4 MISO J403.PE6/DO pin 12/S5,nPAPEROUT GND J403.GND pin 22/GND IRQ J402.PF4 pin 10/S6,ACK GND J402.GND(P2) pin 25/GND ====== ============= ===================”h]”j )�”}”(hhh]”j)�”}”(hhh]”(j)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhj:ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1jhj:ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhj:ubj6)�”}”(hhh]”j;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒSignal”h]”hŒSignal”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KAhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj^ubj@)�”}”(hhh]”hÌ)�”}”(hŒ Butterfly”h]”hŒ Butterfly”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KAhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj^ubj@)�”}”(hhh]”hÌ)�”}”(hŒParport (DB-25)”h]”hŒParport (DB-25)”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KAhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj:ubj“)�”}”(hhh]”(j;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒSCK”h]”hŒSCK”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KChj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjµubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PE4/USCK”h]”hŒ J403.PE4/USCK”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KChjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjµubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 5/D3”h]”hŒpin 5/D3”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KChjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒMOSI”h]”hŒMOSI”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KDhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PE5/DI”h]”hŒ J403.PE5/DI”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KDhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 6/D4”h]”hŒpin 6/D4”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KDhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒMISO”h]”hŒMISO”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KEhjTubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjQubj@)�”}”(hhh]”hÌ)�”}”(hŒ J403.PE6/DO”h]”hŒ J403.PE6/DO”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KEhjkubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjQubj@)�”}”(hhh]”hÌ)�”}”(hŒpin 12/S5,nPAPEROUT”h]”hŒpin 12/S5,nPAPEROUT”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KEhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒGND”h]”hŒGND”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjŸubj@)�”}”(hhh]”hÌ)�”}”(hŒJ403.GND”h]”hŒJ403.GND”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjŸubj@)�”}”(hhh]”hÌ)�”}”(hŒ pin 22/GND”h]”hŒ pin 22/GND”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒIRQ”h]”hŒIRQ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KHhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjíubj@)�”}”(hhh]”hÌ)�”}”(hŒJ402.PF4”h]”hŒJ402.PF4”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KHhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjíubj@)�”}”(hhh]”hÌ)�”}”(hŒ pin 10/S6,ACK”h]”hŒ pin 10/S6,ACK”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KHhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubj;)�”}”(hhh]”(j@)�”}”(hhh]”hÌ)�”}”(hŒGND”h]”hŒGND”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj;ubj@)�”}”(hhh]”hÌ)�”}”(hŒ J402.GND(P2)”h]”hŒ J402.GND(P2)”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj;ubj@)�”}”(hhh]”hÌ)�”}”(hŒ pin 25/GND”h]”hŒ pin 25/GND”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj²ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j’hj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K@hh·h²hubeh}”(h]”Œ1spi-butterfly-parport-to-butterfly-adapter-driver”ah ]”h"]”Œ3spi_butterfly - parport-to-butterfly adapter driver”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”j?Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÌŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”j§j¤sŒ nametypes”}”j§‰sh}”j¤h·sŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.