Ver código fonte

Update design tool object list and documentation

dds
PaulStoffregen 4 anos atrás
pai
commit
ee36c5beb2
1 arquivos alterados com 443 adições e 23 exclusões
  1. +443
    -23
      gui/index.html

+ 443
- 23
gui/index.html Ver arquivo

@@ -346,23 +346,39 @@ span.mainfunction {color: #993300; font-weight: bolder}
{"nodes":[
{"type":"AudioInputI2S","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2SQuad","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_quad","inputs":0,"outputs":4,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2SHex","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_hex","inputs":0,"outputs":6,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2SOct","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_oct","inputs":0,"outputs":8,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2Sslave","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2sslave","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2S2","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s2","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputSPDIF3","data":{"defaults":{"name":{"value":"new"}},"shortName":"spdif","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AsyncAudioInputSPDIF3","data":{"defaults":{"name":{"value":"new"}},"shortName":"spdif_async","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputAnalog","data":{"defaults":{"name":{"value":"new"}},"shortName":"adc","inputs":0,"outputs":1,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputAnalogStereo","data":{"defaults":{"name":{"value":"new"}},"shortName":"adcs","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputI2Sslave","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2sslave","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputPDM","data":{"defaults":{"name":{"value":"new"}},"shortName":"pdm","inputs":0,"outputs":1,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputTDM","data":{"defaults":{"name":{"value":"new"}},"shortName":"tdm","inputs":0,"outputs":16,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputTDM2","data":{"defaults":{"name":{"value":"new"}},"shortName":"tdm2","inputs":0,"outputs":16,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioInputUSB","data":{"defaults":{"name":{"value":"new"}},"shortName":"usb","inputs":0,"outputs":2,"category":"input-function","color":"#E6E0F8","icon":"arrow-in.png"}},

{"type":"AudioOutputI2S","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2SQuad","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_quad","inputs":4,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2SHex","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_hex","inputs":6,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2SOct","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s_oct","inputs":8,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2Sslave","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2sslave","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2S2","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2s2","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputSPDIF","data":{"defaults":{"name":{"value":"new"}},"shortName":"spdif","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputSPDIF2","data":{"defaults":{"name":{"value":"new"}},"shortName":"spdif2","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputSPDIF3","data":{"defaults":{"name":{"value":"new"}},"shortName":"spdif3","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputPT8211","data":{"defaults":{"name":{"value":"new"}},"shortName":"pt8211","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputPT8211_2","data":{"defaults":{"name":{"value":"new"}},"shortName":"pt8211_2","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputAnalog","data":{"defaults":{"name":{"value":"new"}},"shortName":"dac","inputs":1,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputAnalogStereo","data":{"defaults":{"name":{"value":"new"}},"shortName":"dacs","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputPWM","data":{"defaults":{"name":{"value":"new"}},"shortName":"pwm","inputs":1,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputI2Sslave","data":{"defaults":{"name":{"value":"new"}},"shortName":"i2sslave","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputMQS","data":{"defaults":{"name":{"value":"new"}},"shortName":"mqs","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputTDM","data":{"defaults":{"name":{"value":"new"}},"shortName":"tdm","inputs":16,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputTDM2","data":{"defaults":{"name":{"value":"new"}},"shortName":"tdm2","inputs":16,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputADAT","data":{"defaults":{"name":{"value":"new"}},"shortName":"adat","inputs":8,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioOutputUSB","data":{"defaults":{"name":{"value":"new"}},"shortName":"usb","inputs":2,"outputs":0,"category":"output-function","color":"#E6E0F8","icon":"arrow-in.png"}},

{"type":"AudioAmplifier","data":{"defaults":{"name":{"value":"new"}},"shortName":"amp","inputs":1,"outputs":1,"category":"mixer-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioMixer4","data":{"defaults":{"name":{"value":"new"}},"shortName":"mixer","inputs":4,"outputs":1,"category":"mixer-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioPlayMemory","data":{"defaults":{"name":{"value":"new"}},"shortName":"playMem","inputs":0,"outputs":1,"category":"play-function","color":"#E6E0F8","icon":"arrow-in.png"}},
@@ -426,6 +442,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
or another I2S device, using I2S master mode.</p>
<p align=center><img src="img/audioshield_inputs.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -440,7 +464,7 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>T3.x<br>Pin</th><th>T4.0<br>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=top><th>T3.x<br>Pin</th><th>T4.x<br>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>11</td><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>13</td><td align=center>8</td><td>RX</td><td>Input</td></tr>
@@ -510,6 +534,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
or another I2S devices, using I2S master mode.</p>
<p align=center><img src="img/audioshield_quad_in.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -527,12 +559,12 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Teensy<br>3.2 Pin</th><th>Teensy<br>3.5/3.6 Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>11</td><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>13</td><td align=center>13</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>30</td><td align=center>38</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>23</td><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
<tr class=top><th>Teensy<br>3.2<br>Pin</th><th>Teensy<br>3.5/3.6<br>Pin</th><th>Teensy<br>4.x<br>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>9</td><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>11</td><td align=center>11</td><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>13</td><td align=center>13</td><td align=center>8</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>30</td><td align=center>38</td><td align=center>6</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>23</td><td align=center>23</td><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<p>Audio from
master mode I2S may be used in the same project as ADC, DAC and
@@ -541,6 +573,9 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p class=exam>File &gt; Examples &gt; Audio &gt; HardwareTesting &gt; PassThroughQuad
</p>
<h3>Notes</h3>
<p>On Teensy 3.x, the BCLK/LRCLK ratio is 32, which is not compatible with
most MEMS microphones. Teensy 4.x uses BCLK/LRCLK ratio, which can
be used with I2S MEMS microphones.</p>
<p>Normally, this object is used with two Audio Shield, which
are controlled separately by a pair "sgtl5000" object.</p>
</script>
@@ -551,11 +586,167 @@ span.mainfunction {color: #993300; font-weight: bolder}
</div>
</script>

<script type="text/x-red" data-help-name="AudioInputI2SHex">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Receive 6 channel audio from three I2S devices, using I2S master mode.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
<tr class=odd><td align=center>Out 0</td><td>Channel #1</td></tr>
<tr class=odd><td align=center>Out 1</td><td>Channel #2</td></tr>
<tr class=odd><td align=center>Out 2</td><td>Channel #3</td></tr>
<tr class=odd><td align=center>Out 3</td><td>Channel #4</td></tr>
<tr class=odd><td align=center>Out 4</td><td>Channel #5</td></tr>
<tr class=odd><td align=center>Out 5</td><td>Channel #6</td></tr>
</table>
<h3>Functions</h3>
<p>This object has no functions to call from the Arduino sketch. It
simply streams data from the I2S hardware to its 6 output ports.</p>
<h3>Hardware</h3>
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>8</td><td>RX (ch 1+2)</td><td>Input</td></tr>
<tr class=odd><td align=center>6</td><td>RX (ch 3+4)</td><td>Input</td></tr>
<tr class=odd><td align=center>9</td><td>RX (ch 5+6)</td><td>Input</td></tr>
<tr class=odd><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<h3>Examples</h3>
<!--<p class=exam>File &gt; Examples &gt; Audio &gt; HardwareTesting &gt; PassThroughQuad
</p>-->
<h3>Notes</h3>
<p>Teensy 4.0 &amp; 4.1's I2S port has a total of 5 data pins
which may each transmit or receive stereo digital audio. This
6 channel input may be used together with the I2S stereo or
quad channel I2S output, but may not be combined with others
which use the same physical pins.</p>
</script>
<script type="text/x-red" data-template-name="AudioInputI2SHex">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>

<script type="text/x-red" data-help-name="AudioInputI2SOct">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Receive 8 channel audio from three I2S devices, using I2S master mode.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
<tr class=odd><td align=center>Out 0</td><td>Channel #1</td></tr>
<tr class=odd><td align=center>Out 1</td><td>Channel #2</td></tr>
<tr class=odd><td align=center>Out 2</td><td>Channel #3</td></tr>
<tr class=odd><td align=center>Out 3</td><td>Channel #4</td></tr>
<tr class=odd><td align=center>Out 4</td><td>Channel #5</td></tr>
<tr class=odd><td align=center>Out 5</td><td>Channel #6</td></tr>
<tr class=odd><td align=center>Out 6</td><td>Channel #7</td></tr>
<tr class=odd><td align=center>Out 7</td><td>Channel #8</td></tr>
</table>
<h3>Functions</h3>
<p>This object has no functions to call from the Arduino sketch. It
simply streams data from the I2S hardware to its 8 output ports.</p>
<h3>Hardware</h3>
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>8</td><td>RX (ch 1+2)</td><td>Input</td></tr>
<tr class=odd><td align=center>6</td><td>RX (ch 3+4)</td><td>Input</td></tr>
<tr class=odd><td align=center>9</td><td>RX (ch 5+6)</td><td>Input</td></tr>
<tr class=odd><td align=center>32</td><td>RX (ch 7+8)</td><td>Input</td></tr>
<tr class=odd><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<h3>Examples</h3>
<!--<p class=exam>File &gt; Examples &gt; Audio &gt; HardwareTesting &gt; PassThroughQuad
</p>-->
<h3>Notes</h3>
<p>Teensy 4.0 &amp; 4.1's I2S port has a total of 5 data pins
which may each transmit or receive stereo digital audio. This
8 channel input may be used together with the I2S stereo
output, but may not be combined with others
which use the same physical pins.</p>
</script>
<script type="text/x-red" data-template-name="AudioInputI2SOct">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>

<script type="text/x-red" data-help-name="AudioInputI2S2">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Receive 16 bit stereo audio from an I2S device using the 2nd I2S port on Teensy 4.x.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
<tr class=odd><td align=center>Out 0</td><td>Left Channel</td></tr>
<tr class=odd><td align=center>Out 1</td><td>Right Channel</td></tr>
</table>
<h3>Functions</h3>
<p>This object has no functions to call from the Arduino sketch. It
simply streams data from the I2S hardware to its 2 output ports.</p>
<h3>Hardware</h3>
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>T4.x<br>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>4</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>33</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>5</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>3</td><td>LRCLK</td><td>Output</td></tr>
</table>
</p>
<h3>Examples</h3>
<h3>Notes</h3>
</script>
<script type="text/x-red" data-template-name="AudioInputI2S2">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>


<script type="text/x-red" data-help-name="AudioInputAnalog">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Receive audio using the built-in analog to digital converter.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0 - experimental
<li>Teensy 4.1 - experimental
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -616,6 +807,12 @@ span.mainfunction {color: #993300; font-weight: bolder}
<div class=tooltipinfo>
<p>Receive stereo audio using the built-in analog to digital converters.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -679,6 +876,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>Receive 16 bit stereo audio from an I2S device using I2S slave mode
(where the ADC or codec chip, not Teensy, controls audio timing).</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -692,10 +897,10 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>The I2S signals are used in "slave" mode, where the I2S device controls
data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
<tr class=odd><td align=center>13</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
<tr class=top><th>Teensy<br>3.x Pin</th><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>21</td><td>BCLK</td><td>Input</td></tr>
<tr class=odd><td align=center>13</td><td align=center>8</td><td>RX</td><td>Input</td></tr>
<tr class=odd><td align=center>23</td><td align=center>20</td><td>LRCLK</td><td>Input</td></tr>
</table>
<!--
<h3>Examples</h3>
@@ -726,6 +931,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
many audio channels.</p>
<p align=center><img src="img/tdm.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -790,6 +1003,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
</p>
<p align=center><img src="img/pdmmic.jpg"><br><small>PDM MEMS Mic</small></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<!--<li>Teensy 4.0
<li>Teensy 4.1-->
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -840,6 +1061,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
sound device.</p>
<p align=center><img src="img/usbtype_audio_in.png"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -882,6 +1111,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
or another I2S device, using I2S master mode.</p>
<p align=center><img src="img/audioshield_outputs.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -954,6 +1191,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>Transmit quad (4) channel 16 bit audio, using I2S master mode.</p>
<p align=center><img src="img/audioshield_quad_out.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -972,12 +1217,12 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>22</td><td>TX (ch 1+2)</td><td>Output</td></tr>
<tr class=odd><td align=center>15</td><td>TX (ch 3+4)</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
<tr class=top><th>T3.x<br>Pin</th><th>T4.x<br>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>11</td><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>22</td><td align=center>7</td><td>TX (ch 1+2)</td><td>Output</td></tr>
<tr class=odd><td align=center>15</td><td align=center>32</td><td>TX (ch 3+4)</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<p>Audio from
master mode I2S may be used in the same project as ADC, DAC and
@@ -998,12 +1243,126 @@ span.mainfunction {color: #993300; font-weight: bolder}
</div>
</script>

<script type="text/x-red" data-help-name="AudioOutputI2SHex">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Transmit 6 channel 16 bit audio, using I2S master mode.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
<tr class=odd><td align=center>In 0</td><td>Channel #1</td></tr>
<tr class=odd><td align=center>In 1</td><td>Channel #2</td></tr>
<tr class=odd><td align=center>In 2</td><td>Channel #3</td></tr>
<tr class=odd><td align=center>In 3</td><td>Channel #4</td></tr>
<tr class=odd><td align=center>In 4</td><td>Channel #5</td></tr>
<tr class=odd><td align=center>In 5</td><td>Channel #6</td></tr>
</table>
<h3>Functions</h3>
<p>This object has no functions to call from the Arduino sketch. It
simply streams data from its 6 input ports to the I2S hardware.</p>
<h3>Hardware</h3>
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>7</td><td>TX (ch 1+2)</td><td>Output</td></tr>
<tr class=odd><td align=center>32</td><td>TX (ch 3+4)</td><td>Output</td></tr>
<tr class=odd><td align=center>9</td><td>TX (ch 5+6)</td><td>Output</td></tr>
<tr class=odd><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<h3>Examples</h3>
<h3>Notes</h3>
<p>Teensy 4.0 &amp; 4.1's I2S port has a total of 5 data pins
which may each transmit or receive stereo digital audio. This
6 channel output may be used together with the I2S stereo or
quad channel I2S input, but may not be combined with others
which use the same physical pins.</p>
</script>
<script type="text/x-red" data-template-name="AudioOutputI2SHex">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>

<script type="text/x-red" data-help-name="AudioOutputI2SOct">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Transmit 8 channel 16 bit audio, using I2S master mode.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
<tr class=odd><td align=center>In 0</td><td>Channel #1</td></tr>
<tr class=odd><td align=center>In 1</td><td>Channel #2</td></tr>
<tr class=odd><td align=center>In 2</td><td>Channel #3</td></tr>
<tr class=odd><td align=center>In 3</td><td>Channel #4</td></tr>
<tr class=odd><td align=center>In 4</td><td>Channel #5</td></tr>
<tr class=odd><td align=center>In 5</td><td>Channel #6</td></tr>
<tr class=odd><td align=center>In 6</td><td>Channel #7</td></tr>
<tr class=odd><td align=center>In 7</td><td>Channel #8</td></tr>
</table>
<h3>Functions</h3>
<p>This object has no functions to call from the Arduino sketch. It
simply streams data from its 8 input ports to the I2S hardware.</p>
<h3>Hardware</h3>
<p>The I2S signals are used in "master" mode, where Teensy creates
all 3 clock signals and controls all data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>21</td><td>BCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>MCLK</td><td>Output</td></tr>
<tr class=odd><td align=center>7</td><td>TX (ch 1+2)</td><td>Output</td></tr>
<tr class=odd><td align=center>32</td><td>TX (ch 3+4)</td><td>Output</td></tr>
<tr class=odd><td align=center>9</td><td>TX (ch 5+6)</td><td>Output</td></tr>
<tr class=odd><td align=center>6</td><td>TX (ch 7+8)</td><td>Output</td></tr>
<tr class=odd><td align=center>20</td><td>LRCLK</td><td>Output</td></tr>
</table>
<h3>Examples</h3>
<h3>Notes</h3>
<p>Teensy 4.0 &amp; 4.1's I2S port has a total of 5 data pins
which may each transmit or receive stereo digital audio. This
8 channel output may be used together with the I2S stereo
input, but may not be combined with others
which use the same physical pins.</p>
</script>
<script type="text/x-red" data-template-name="AudioOutputI2SOct">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>




<script type="text/x-red" data-help-name="AudioOutputSPDIF">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>Transmit 16 bit stereo audio as Digital S/PDIF.</p>
<p align=center><img src="img/spdif_proto.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1058,6 +1417,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
and filtering are automatically used to improve output quality.</p>
<p align=center><img src="img/pt8211.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1102,6 +1469,12 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p align=center><img src="img/dac_speaker.jpg"><br>
<small><a href="http://www.pjrc.com/store/prop_shield.html" target="_blank_">Prop Shield with 4&ohm; Speaker</a></small></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1156,6 +1529,11 @@ span.mainfunction {color: #993300; font-weight: bolder}
<!--<p align=center><img src="img/dac_speaker.jpg"><br>
<small><a href="http://www.pjrc.com/store/prop_shield.html" target="_blank_">Prop Shield with 4&ohm; Speaker</a></small></p>-->
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.5
<li>Teensy 3.6
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1203,6 +1581,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
used for coarse and fine pulses, to be combined by scaled
resistors.</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<!--<li>Teensy 4.0
<li>Teensy 4.1-->
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1252,6 +1638,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>Transmit 16 bit stereo audio to an I2S device using I2S slave mode
(where the DAC or codec chip, not Teensy, controls audio timing).</p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1265,10 +1659,10 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>The I2S signals are used in "slave" mode, where the I2S device controls
data timing.</p>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
<tr class=odd><td align=center>22</td><td>TX</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
<tr class=top><th>Teensy<br>3.x Pin</th><th>Teensy<br>4.x Pin</th><th>Signal</th><th>Direction</th></tr>
<tr class=odd><td align=center>9</td><td align=center>21</td><td>BCLK</td><td>Input</td></tr>
<tr class=odd><td align=center>22</td><td align=center>7</td><td>TX</td><td>Output</td></tr>
<tr class=odd><td align=center>23</td><td align=center>20</td><td>LRCLK</td><td>Input</td></tr>
</table>
<h3>Examples</h3>
<p class=exam>File &gt; Examples &gt; Audio &gt; HardwareTesting &gt; WM8731MikroSine
@@ -1297,6 +1691,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
many audio channels.</p>
<p align=center><img src="img/tdm.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1355,6 +1757,16 @@ span.mainfunction {color: #993300; font-weight: bolder}
<p>Transmit ADAT TOSLINK Optical Output</p>
<p align=center><img src="img/adat.jpg"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<!--<li>Teensy 4.0
<li>Teensy 4.1-->
</ul>
<p>ADAT output for Teensy 4.0 is discussed on
<a href="https://forum.pjrc.com/threads/60914?p=239824&viewfull=1#post239824">this forum thread</a>.</p>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>
@@ -1402,6 +1814,14 @@ span.mainfunction {color: #993300; font-weight: bolder}
sound device.</p>
<p align=center><img src="img/usbtype_audio_out.png"></p>
</div>
<h3>Boards Supported</h3>
<ul>
<li>Teensy 3.2
<li>Teensy 3.5
<li>Teensy 3.6
<li>Teensy 4.0
<li>Teensy 4.1
</ul>
<h3>Audio Connections</h3>
<table class=doc align=center cellpadding=3>
<tr class=top><th>Port</th><th>Purpose</th></tr>

Carregando…
Cancelar
Salvar