12 #if !(IS_TEENSY3() || IS_TEENSY4())
13 # error "Wrong implementation included for this platform"
16 #if (IS_TEENSY3() && F_CPU != 48000000)
18 "Mozzi has been tested with a cpu clock speed of 16MHz on Arduino and 48MHz on Teensy 3! Results may vary with other speeds."
23 #if MOZZI_IS(MOZZI_ANALOG_READ, MOZZI_ANALOG_READ_STANDARD)
32 #define getADCReading() adc->readSingle(teensy_adc)
33 #define channelNumToIndex(channel) teensyPinMap(channel)
34 uint8_t adcPinToChannelNum(uint8_t pin) {
38 void setupFastAnalogRead(int8_t speed) {
39 adc->adc0->setAveraging(0);
40 adc->adc0->setConversionSpeed(ADC_CONVERSION_SPEED::MED_SPEED);
42 adc->adc1->setAveraging(0);
43 adc->adc1->setConversionSpeed(ADC_CONVERSION_SPEED::MED_SPEED);
50 MozziPrivate::advanceADCStep();
54 void setupMozziADC(int8_t speed) {
56 adc->adc0->enableInterrupts(adc0_isr);
58 adc->adc1->enableInterrupts(adc0_isr);
62 void adcStartConversion(uint8_t channel) {
65 if (adc->adc0->checkPin(teensy_pin)) teensy_adc = 0;
68 adc->startSingleRead(teensy_pin,teensy_adc);
71 static void startSecondADCReadOnCurrentChannel() {
72 adc->startSingleRead(teensy_pin,teensy_adc);
81 #if MOZZI_IS(MOZZI_AUDIO_MODE, MOZZI_OUTPUT_PWM, MOZZI_OUTPUT_INTERNAL_DAC, MOZZI_OUTPUT_EXTERNAL_TIMED)
83 #include "IntervalTimer.h"
88 #if MOZZI_IS(MOZZI_AUDIO_MODE, MOZZI_OUTPUT_PWM, MOZZI_OUTPUT_INTERNAL_DAC)
91 # if (MOZZI_AUDIO_CHANNELS > 1)
92 analogWrite(MOZZI_AUDIO_PIN_2, f.r()+MOZZI_AUDIO_BIAS);
97 static void startAudio() {
98 #if MOZZI_IS(MOZZI_AUDIO_MODE, MOZZI_OUTPUT_PWM, MOZZI_OUTPUT_INTERNAL_DAC)
100 analogWriteResolution(12);
102 analogWriteResolution(10);
104 # if (MOZZI_AUDIO_CHANNELS > 1)
105 analogWriteFrequency(MOZZI_AUDIO_PIN_2, 146484.38f);
109 #if MOZZI_IS(MOZZI_AUDIO_MODE, MOZZI_OUTPUT_PWM, MOZZI_OUTPUT_INTERNAL_DAC, MOZZI_OUTPUT_EXTERNAL_TIMED)
115 #if MOZZI_IS(MOZZI_AUDIO_MODE, MOZZI_OUTPUT_PWM, MOZZI_OUTPUT_INTERNAL_DAC, MOZZI_OUTPUT_EXTERNAL_TIMED)
123 void MozziRandPrivate::autoSeed() {
124 #warning Automatic random seeding is not implemented on this platform
#define MOZZI_AUDIO_PIN_1
Only for MOZZI_AUDIO_MODE s MOZZI_OUTPUT_PWM and MOZZI_OUTPUT_2PIN_PWM: The IO pin to use as (first) ...
#define MOZZI_AUDIO_RATE
Defines the audio rate, i.e.
void stopMozzi()
Stops audio and control interrupts and restores the timers to the values they had before Mozzi was st...
This struct encapsulates one frame of mono audio output.