get one channel working
This commit is contained in:
parent
31df12c84f
commit
2165f9d654
@ -89,8 +89,8 @@ static void gpt_cb8(GPTDriver *gptp);
|
|||||||
#define STOP_CHANNEL_2() gptStopTimer(&GPTD7)
|
#define STOP_CHANNEL_2() gptStopTimer(&GPTD7)
|
||||||
#define RESTART_CHANNEL_1() STOP_CHANNEL_1(); \
|
#define RESTART_CHANNEL_1() STOP_CHANNEL_1(); \
|
||||||
START_CHANNEL_1()
|
START_CHANNEL_1()
|
||||||
#define RESTART_CHANNEL_2() STOP_CHANNEL_1(); \
|
#define RESTART_CHANNEL_2() STOP_CHANNEL_2(); \
|
||||||
START_CHANNEL_1()
|
START_CHANNEL_2()
|
||||||
#define UPDATE_CHANNEL_1_FREQ(freq) gpt6cfg1.frequency = freq * DAC_BUFFER_SIZE; \
|
#define UPDATE_CHANNEL_1_FREQ(freq) gpt6cfg1.frequency = freq * DAC_BUFFER_SIZE; \
|
||||||
RESTART_CHANNEL_1()
|
RESTART_CHANNEL_1()
|
||||||
#define UPDATE_CHANNEL_2_FREQ(freq) gpt7cfg1.frequency = freq * DAC_BUFFER_SIZE; \
|
#define UPDATE_CHANNEL_2_FREQ(freq) gpt7cfg1.frequency = freq * DAC_BUFFER_SIZE; \
|
||||||
@ -202,6 +202,41 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// squarewave
|
||||||
|
static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = {
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
|
||||||
|
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DAC streaming callback.
|
* DAC streaming callback.
|
||||||
*/
|
*/
|
||||||
@ -246,6 +281,18 @@ static const DACConversionGroup dacgrpcfg1 = {
|
|||||||
.trigger = DAC_TRG(0)
|
.trigger = DAC_TRG(0)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const DACConfig dac1cfg2 = {
|
||||||
|
.init = 2047U,
|
||||||
|
.datamode = DAC_DHRM_12BIT_RIGHT
|
||||||
|
};
|
||||||
|
|
||||||
|
static const DACConversionGroup dacgrpcfg2 = {
|
||||||
|
.num_channels = 1U,
|
||||||
|
.end_cb = end_cb1,
|
||||||
|
.error_cb = error_cb1,
|
||||||
|
.trigger = DAC_TRG(0)
|
||||||
|
};
|
||||||
|
|
||||||
void audio_init()
|
void audio_init()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -267,6 +314,7 @@ void audio_init()
|
|||||||
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_ANALOG);
|
||||||
palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_ANALOG);
|
||||||
dacStart(&DACD1, &dac1cfg1);
|
dacStart(&DACD1, &dac1cfg1);
|
||||||
|
dacStart(&DACD2, &dac1cfg2);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Starting GPT6 driver, it is used for triggering the DAC.
|
* Starting GPT6 driver, it is used for triggering the DAC.
|
||||||
@ -279,6 +327,8 @@ void audio_init()
|
|||||||
*/
|
*/
|
||||||
dacStartConversion(&DACD1, &dacgrpcfg1,
|
dacStartConversion(&DACD1, &dacgrpcfg1,
|
||||||
(dacsample_t *)dac_buffer, DAC_BUFFER_SIZE);
|
(dacsample_t *)dac_buffer, DAC_BUFFER_SIZE);
|
||||||
|
dacStartConversion(&DACD2, &dacgrpcfg2,
|
||||||
|
(dacsample_t *)dac_buffer_2, DAC_BUFFER_SIZE);
|
||||||
// gptStartContinuous(&GPTD6, 2U);
|
// gptStartContinuous(&GPTD6, 2U);
|
||||||
|
|
||||||
|
|
||||||
@ -417,12 +467,10 @@ static void gpt_cb8(GPTDriver *gptp) {
|
|||||||
freq_alt = 30.52;
|
freq_alt = 30.52;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_CHANNEL_1_FREQ != (uint16_t)freq_alt) {
|
if (GET_CHANNEL_2_FREQ != (uint16_t)freq_alt) {
|
||||||
UPDATE_CHANNEL_1_FREQ(freq_alt);
|
UPDATE_CHANNEL_2_FREQ(freq_alt);
|
||||||
}
|
}
|
||||||
//note_timbre;
|
//note_timbre;
|
||||||
} else {
|
|
||||||
STOP_CHANNEL_1();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (polyphony_rate > 0) {
|
if (polyphony_rate > 0) {
|
||||||
@ -478,12 +526,10 @@ static void gpt_cb8(GPTDriver *gptp) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (GET_CHANNEL_2_FREQ != (uint16_t)freq) {
|
if (GET_CHANNEL_1_FREQ != (uint16_t)freq) {
|
||||||
UPDATE_CHANNEL_2_FREQ(freq);
|
UPDATE_CHANNEL_1_FREQ(freq);
|
||||||
}
|
}
|
||||||
//note_timbre;
|
//note_timbre;
|
||||||
} else {
|
|
||||||
// gptStopTimer(&GPTD7);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,7 +638,8 @@ void play_note(float freq, int vol) {
|
|||||||
|
|
||||||
gptStart(&GPTD8, &gpt8cfg1);
|
gptStart(&GPTD8, &gpt8cfg1);
|
||||||
gptStartContinuous(&GPTD8, 2U);
|
gptStartContinuous(&GPTD8, 2U);
|
||||||
|
RESTART_CHANNEL_1();
|
||||||
|
RESTART_CHANNEL_2();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user