#ifndef SET_WAVE_F407_H #define SET_WAVE_F407_H #include "../../include/set_wavegen.h" /* Owns PA4, DAC channel 1, TIM6 and DMA1 stream 5/channel 7. * timer_hz is TIM6 input clock (twice APB1 when APB1 prescaler !=1). * Rate: 1..SET_WAVE_MAX_RATE (1 MS/s), exact divisors of timer_hz only. * Context and sample buffer must outlive playback; buffer must be in SRAM. */ typedef struct { uint32_t timer_hz; } set_wave_f407; set_wave_port set_wave_f407_port(set_wave_f407 *context); /* Nonzero on DMA error or DAC underrun; caller stops state on failure. */ int set_wave_f407_fault(void); #endif