@@ -87,7 +87,7 @@ Documentation
8787=============
8888API documentation for this library can be found in `PunkConsole_API <https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media/pseudo_readthedocs_punkconsole.pdf >`_.
8989
90- .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/docs /Stereo_Punk_Console_test.png
90+ .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media /Stereo_Punk_Console_test.png
9191
9292The CedarGrove PunkConsole emulates an astable square-wave oscillator and
9393synchronized non-retriggerable one-shot monostable multivibrator to create
@@ -117,55 +117,55 @@ two analog input pins. The sequencer is controlled by an internal list of
117117notes that select the oscillator frequency; pulse width is potentiometer
118118controlled.
119119
120- Minimum and maximum input ranges (may be further limited by the MPU):
121- pulse_width: 0.05ms to 5000ms
122- frequency: 1Hz to >4MHz
120+ - Minimum and maximum input ranges (may be further limited by the MPU):
121+ - pulse_width: 0.05ms to 5000ms
122+ - frequency: 1Hz to >4MHz
123123
124- Practical input ranges for audio (empirically determined):
125- pulse_width: 0.5ms to 5ms
126- frequency: 3Hz to 3kHz
124+ - Practical input ranges for audio (empirically determined):
125+ - pulse_width: 0.5ms to 5ms
126+ - frequency: 3Hz to 3kHz
127127
128128The CedarGrove Punk Console algorithm uses PWM frequency and duty cycle
129129parameters to build the output waveform. The PWM output frequency is an
130130integer multiple of the oscillator frequency input compared to the one-shot
131131pulse width input:
132132
133- ` pwm_freq = freq_in / (int((pulse_width) * freq_in) + 1) `
133+ `` pwm_freq = freq_in / (int((pulse_width) * freq_in) + 1) ` `
134134
135135The PWM output duty cycle is calculated after the PWM output frequency is
136136determined. The PWM output duty cycle is the ratio of the one-shot pulse
137137width and the wavelength of the PWM output frequency:
138138
139- `pwm_duty_cycle = pulse_width * pwm_freq `
139+ ``pwm_duty_cycle = pulse_width * pwm_freq ``
140+
140141
141- Notes:
142142Planned updates:
143143
144- For non-PWM analog output, use `audiocore ` with a waveform sample in the
145- `RawSample ` binary array, similar to the `simpleio.tone() ` helper. The output
144+ For non-PWM analog output, use `` audiocore ` ` with a waveform sample in the
145+ `` RawSample `` binary array, similar to the `` simpleio.tone() ` ` helper. The output
146146waveform's duty cycle will be adjusted by altering the contents of the array,
147147perhaps with `ulab ` to improve code execution time. The
148- `audiocore.RawSample.sample_rate ` frequency is expected to be directly
148+ `` audiocore.RawSample.sample_rate ` ` frequency is expected to be directly
149149proportional to the original algorithm's PWM frequency output value, calculated
150- from the `sample_rate ` divided by the length of the `audiocore.RawSample ` array
150+ from the `` sample_rate `` divided by the length of the `` audiocore.RawSample ` ` array
151151(number of samples).
152152
153153MIDI control: A version that uses USB and/or UART MIDI is in the queue. Note
154- that the `PunkConsole.mute ` property could be used for note-on and note-off.
155- `note_in_example.py ` shows how muting can be used for individual notes.
154+ that the `` PunkConsole.mute ` ` property could be used for note-on and note-off.
155+ `` note_in_example.py ` ` shows how muting can be used for individual notes.
156156
157157CV control: A Eurorack version was discussed, it's just a bit lower on the
158158to-do list, that's all. But you know, the first two examples use analog inputs
159159(0 to +3.3 volts) for frequency and pulse width control. Just sayin'.
160160
161161
162- .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/docs /CG_PunkConsole_04.jpeg
162+ .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media /CG_PunkConsole_04.jpeg
163163
164- .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/docs /CG_PunkConsole_01.jpeg
164+ .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media /CG_PunkConsole_01.jpeg
165165
166- .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/docs /CG_PunkConsole_02.jpeg
166+ .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media /CG_PunkConsole_02.jpeg
167167
168- .. image :: ( https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/docs /CG_PunkConsole_03.jpeg
168+ .. image :: https://github.com/CedarGroveStudios/CircuitPython_PunkConsole/blob/main/media /CG_PunkConsole_03.jpeg
169169
170170
171171For information on building library documentation, please check out
0 commit comments