I am new to Arduino and pedalshield and am trying my best to understand code like this. I copied this into my program and got an error. Can sombody explain to me why this is?
// Code updated by GUMET introducing constant loudness to distortion_asymmetric.ino
// Licensed under a Creative Commons Attribution 3.0 Unported License.
// Based on rcarduino.blogspot.com previous work.
// www.electrosmash.com/pedalshield
int in_ADC0, in_ADC1; //variables for 2 ADCs values (ADC0, ADC1)
int POT0, POT1, POT2, out_DAC0, out_DAC1; //variables for 3 pots (ADC8, ADC9, ADC10)
const int LED = 3;
const int FOOTSWITCH = 7;
const int TOGGLE = 2;
int upper_threshold, lower_threshold;
void setup()
{
//ADC Configuration
ADC->ADC_MR |= 0x80; // DAC in free running mode.
ADC->ADC_CR = 2; // Starts ADC conversion.
ADC->ADC_CHER = 0x1CC0; // Enable ADC channels 0,1,8,9 and 10
//DAC Configuration
analogWrite(DAC0, 0); // Enables DAC0
analogWrite(DAC1, 0); // Enables DAC1
pinMode(LED, OUTPUT);
pinMode(FOOTSWITCH, INPUT_PULLUP);
}
void loop()
{
//Read the ADCs
while ((ADC->ADC_ISR & 0x1CC0) != 0x1CC0);// wait for ADC 0, 1, 8, 9, 10 conversion complete.
in_ADC0 = ADC->ADC_CDR[7]; // read data from ADC0
in_ADC1 = ADC->ADC_CDR[6]; // read data from ADC1
POT0 = ADC->ADC_CDR[10]; // read data from ADC8
POT1 = ADC->ADC_CDR[11]; // read data from ADC9
POT2 = ADC->ADC_CDR[12]; // read data from ADC10
upper_threshold = map(POT0, 0, 4095, 4095, 2047);
lower_threshold = map(POT1, 0, 4095, 0000, 2047);
if (in_ADC0 >= upper_threshold) in_ADC0 = upper_threshold;
else if (in_ADC0<lower_threshold) in_ADC0 = lower_threshold;
if (in_ADC1 >= upper_threshold) in_ADC1 = upper_threshold;
else if (in_ADC1<lower_threshold) in_ADC1 = lower_threshold;
//adjust the volume with POT2 with constant loudness
out_DAC0 = map(in_ADC0, lower_threshold, upper_threshold, 1, POT2);
out_DAC1 = map(in_ADC1, lower_threshold, upper_threshold, 1, POT2);
//Write the DACs
dacc_set_channel_selection(DACC_INTERFACE, 0); //select DAC channel 0
dacc_write_conversion_data(DACC_INTERFACE, out_DAC0);//write on DAC
dacc_set_channel_selection(DACC_INTERFACE, 1); //select DAC channel 1
dacc_write_conversion_data(DACC_INTERFACE, out_DAC1);//write on DAC
if (digitalRead(FOOTSWITCH)) digitalWrite(LED, HIGH);
else digitalWrite(LED, LOW);
}
These lines:
dacc_set_channel_selection(DACC_INTERFACE, 0); //select DAC channel 0
dacc_write_conversion_data(DACC_INTERFACE, out_DAC0);//write on DAC
These have red underlines under "dacc_set_channel_selection" and "dacc_write_conversion_data"
I am using visualMicro on Visual Studios