Change width to pulseWidth, update the example, keywords.txt and gui/list.htmdds
@@ -1,4 +1,4 @@ | |||
// demonstrate pulse with slow changes in width | |||
// demonstrate pulse with slow changes in pulse width | |||
#include <Audio.h> | |||
#include <Wire.h> | |||
@@ -24,7 +24,7 @@ void setup(void) | |||
audioShield.enable(); | |||
audioShield.volume(0.45); | |||
waveform1.width(0.5); | |||
waveform1.pulseWidth(0.5); | |||
waveform1.begin(0.4, 220, WAVEFORM_PULSE); | |||
envelope1.attack(50); | |||
@@ -38,7 +38,7 @@ void loop() { | |||
float w; | |||
for (uint32_t i =1; i<20; i++) { | |||
w = i / 20.0; | |||
waveform1.width(w); | |||
waveform1.pulseWidth(w); | |||
envelope1.noteOn(); | |||
delay(800); | |||
envelope1.noteOff(); |
@@ -760,7 +760,7 @@ | |||
</script> | |||
<script type="text/x-red" data-help-name="AudioSynthWaveform"> | |||
<h3>Summary</h3> | |||
<p>Create a waveform: sine, sawtooth, square, or triangle</p> | |||
<p>Create a waveform: sine, sawtooth, square, triangle, pulse or arbitrary.</p> | |||
<h3>Audio Connections</h3> | |||
<table class=doc align=center cellpadding=3> | |||
<tr class=top><th>Port</th><th>Purpose</th></tr> | |||
@@ -787,6 +787,8 @@ | |||
<a href="http://www.pjrc.com/teensy/td_libs_AudioProcessorUsage.html" target="_blank">AudioNoInterrupts()</a> | |||
should be used to guarantee all new settings take effect together. | |||
</p> | |||
<p class=func><span class=keyword>pulseWidth</span>(amount);</p> | |||
<p class=desc>Change the width (duty cycle) of the pulse.</p> | |||
<p class=func><span class=keyword>arbitraryWaveform</span>(array, maxFreq);</p> | |||
<p class=desc> | |||
Configure the waveform to be used with WAVEFORM_ARBITRARY. Array | |||
@@ -804,6 +806,7 @@ | |||
<li><span class=literal>WAVEFORM_SQUARE</span></li> | |||
<li><span class=literal>WAVEFORM_TRIANGLE</span></li> | |||
<li><span class=literal>WAVEFORM_ARBITRARY</span></li> | |||
<li><span class=literal>WAVEFORM_PULSE</span></li> | |||
</ul> | |||
</p> | |||
</script> |
@@ -1,4 +1,4 @@ | |||
Audio KEYWORD2 | |||
Audio KEYWORD2 | |||
AudioConnection KEYWORD2 | |||
AudioInputI2S KEYWORD2 | |||
AudioOutputI2S KEYWORD2 | |||
@@ -46,6 +46,7 @@ frequency KEYWORD2 | |||
phase KEYWORD2 | |||
amplitude KEYWORD2 | |||
offset KEYWORD2 | |||
pulseWidth KEYWORD2 | |||
resonance KEYWORD2 | |||
octaveControl KEYWORD2 | |||
averageTogether KEYWORD2 | |||
@@ -133,4 +134,5 @@ WAVEFORM_SAWTOOTH LITERAL1 | |||
WAVEFORM_SQUARE LITERAL1 | |||
WAVEFORM_TRIANGLE LITERAL1 | |||
WAVEFORM_ARBITRARY LITERAL1 | |||
WAVEFORM_PULSE LITERAL1 | |||
@@ -92,11 +92,11 @@ public: | |||
else if (n > 1.0) n = 1.0; | |||
tone_offset = n * 32767.0; | |||
} | |||
void width(float n) { // 0.0 to 1.0 | |||
void pulseWidth(float n) { // 0.0 to 1.0 | |||
if (n < 0) n = 0; | |||
else if (n > 1.0) n = 1.0; | |||
tone_width = n * 0x7fffffffLL; | |||
// width is stored as the equivalent phase | |||
// pulse width is stored as the equivalent phase | |||
} | |||
void begin(short t_type) { | |||
tone_phase = 0; |