Skip to content

Commit

Permalink
stm32/dac: Update DAC samples for new DAC API
Browse files Browse the repository at this point in the history
  • Loading branch information
flatmush committed Jan 7, 2021
1 parent 9b7c2c3 commit eed042c
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@ static void adc_setup(void)
static void dac_setup(void)
{
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO5);
dac_disable(CHANNEL_2);
dac_disable_waveform_generation(CHANNEL_2);
dac_enable(CHANNEL_2);
dac_set_trigger_source(DAC_CR_TSEL2_SW);
dac_disable(DAC1, DAC_CHANNEL2);
dac_disable_waveform_generation(DAC1, DAC_CHANNEL2);
dac_enable(DAC1, DAC_CHANNEL2);
dac_set_trigger_source(DAC1, DAC_CR_TSEL2_SW);
}

static uint16_t read_adc_naiive(uint8_t channel)
Expand Down Expand Up @@ -150,8 +150,9 @@ int main(void)
while (1) {
uint16_t input_adc0 = read_adc_naiive(0);
uint16_t target = input_adc0 / 2;
dac_load_data_buffer_single(target, RIGHT12, CHANNEL_2);
dac_software_trigger(CHANNEL_2);
dac_load_data_buffer_single(
DAC1, target, DAC_ALIGN_RIGHT12, DAC_CHANNEL2);
dac_software_trigger(DAC1, DAC_CHANNEL2);
uint16_t input_adc1 = read_adc_naiive(1);
printf("tick: %d: adc0= %u, target adc1=%d, adc1=%d\n",
j++, input_adc0, target, input_adc1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ static void adc_setup(void)
static void dac_setup(void)
{
gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO5);
dac_disable(CHANNEL_2);
dac_disable_waveform_generation(CHANNEL_2);
dac_enable(CHANNEL_2);
dac_set_trigger_source(DAC_CR_TSEL2_SW);
dac_disable(DAC1, DAC_CHANNEL2);
dac_disable_waveform_generation(DAC1, DAC_CHANNEL2);
dac_enable(DAC1, DAC_CHANNEL2);
dac_set_trigger_source(DAC1, DAC_CR_TSEL2_SW);
}

static uint16_t read_adc_naiive(uint8_t channel)
Expand Down Expand Up @@ -143,8 +143,9 @@ int main(void)
while (1) {
uint16_t input_adc0 = read_adc_naiive(0);
uint16_t target = input_adc0 / 2;
dac_load_data_buffer_single(target, RIGHT12, CHANNEL_2);
dac_software_trigger(CHANNEL_2);
dac_load_data_buffer_single(
DAC1, target, DAC_ALIGN_RIGHT12, DAC_CHANNEL2);
dac_software_trigger(DAC1, DAC_CHANNEL2);
uint16_t input_adc1 = read_adc_naiive(1);
printf("tick: %d: adc0= %u, target adc1=%d, adc1=%d\n",
j++, input_adc0, target, input_adc1);
Expand Down
8 changes: 4 additions & 4 deletions examples/stm32/f4/stm32f4-discovery/dac-dma/dac-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ static void dac_setup(void)
rcc_periph_clock_enable(RCC_DAC);
/* Setup the DAC channel 1, with timer 2 as trigger source.
* Assume the DAC has woken up by the time the first transfer occurs */
dac_trigger_enable(CHANNEL_1);
dac_set_trigger_source(DAC_CR_TSEL1_T2);
dac_dma_enable(CHANNEL_1);
dac_enable(CHANNEL_1);
dac_trigger_enable(DAC1, DAC_CHANNEL1);
dac_set_trigger_source(DAC1, DAC_CR_TSEL1_T2);
dac_dma_enable(DAC1, DAC_CHANNEL1);
dac_enable(DAC1, DAC_CHANNEL1);
}

/*--------------------------------------------------------------------*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,10 @@ static void adc_setup(void)
static void dac_setup(void)
{
gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO5);
dac_disable(CHANNEL_2);
dac_disable_waveform_generation(CHANNEL_2);
dac_enable(CHANNEL_2);
dac_set_trigger_source(DAC_CR_TSEL2_SW);
dac_disable(DAC1, DAC_CHANNEL2);
dac_disable_waveform_generation(DAC1, DAC_CHANNEL2);
dac_enable(DAC1, DAC_CHANNEL2);
dac_set_trigger_source(DAC1, DAC_CR_TSEL2_SW);
}

static uint16_t read_adc_naiive(uint8_t channel)
Expand Down Expand Up @@ -144,8 +144,9 @@ int main(void)
while (1) {
uint16_t input_adc0 = read_adc_naiive(0);
uint16_t target = input_adc0 / 2;
dac_load_data_buffer_single(target, RIGHT12, CHANNEL_2);
dac_software_trigger(CHANNEL_2);
dac_load_data_buffer_single(
DAC1, target, DAC_ALIGN_RIGHT12, DAC_CHANNEL2);
dac_software_trigger(DAC1, DAC_CHANNEL2);
uint16_t input_adc1 = read_adc_naiive(1);
printf("tick: %d: adc0= %u, target adc1=%d, adc1=%d\n",
j++, input_adc0, target, input_adc1);
Expand Down
8 changes: 4 additions & 4 deletions examples/stm32/f4/stm32f429i-discovery/dac-dma/dac-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ static void dac_setup(void)
rcc_periph_clock_enable(RCC_DAC);
/* Setup the DAC channel 1, with timer 2 as trigger source.
* Assume the DAC has woken up by the time the first transfer occurs */
dac_trigger_enable(CHANNEL_1);
dac_set_trigger_source(DAC_CR_TSEL1_T2);
dac_dma_enable(CHANNEL_1);
dac_enable(CHANNEL_1);
dac_trigger_enable(DAC1, DAC_CHANNEL1);
dac_set_trigger_source(DAC1, DAC_CR_TSEL1_T2);
dac_dma_enable(DAC1, DAC_CHANNEL1);
dac_enable(DAC1, DAC_CHANNEL1);
}

/*--------------------------------------------------------------------*/
Expand Down
2 changes: 1 addition & 1 deletion libopencm3
Submodule libopencm3 updated 283 files

0 comments on commit eed042c

Please sign in to comment.