/* Flushes the ADC pipeline. 
Flushes the pipeline and restarts the ADC clock on the next peripheral clock edge. All conversions in progress will be lost. When flush is complete, the module will resume where it left off. */
void adc_flush(struct adc_module *const module_inst)
/* Flushes the ADC pipeline. 
Flushes the pipeline and restarts the ADC clock on the next peripheral clock edge. All conversions in progress will be lost. When flush is complete, the module will resume where it left off. */
void adc_flush(struct adc_module *const module_inst)
{
	Assert(module_inst);
	Assert(module_inst->hw);
	Adc *const adc_module = module_inst->hw;
	while (adc_is_syncing(module_inst)) {
	}
	adc_module->SWTRIG.reg |= ADC_SWTRIG_FLUSH;
	while (adc_is_syncing(module_inst)) {
	}
}