X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fstm%2Fao_adc_stm.c;fp=src%2Fstm%2Fao_adc_stm.c;h=02187205eb18a82b4256c9669c33ee5cde2bb4ee;hp=576dbf5d6c76b78c946575aa94f0c29f8d3d55ee;hb=9eeba439ce8c9dc1def8528f96b6a67c6578d656;hpb=d01c10eff4b70af13347969a7cece8730cf1a3f1 diff --git a/src/stm/ao_adc_stm.c b/src/stm/ao_adc_stm.c index 576dbf5d..02187205 100644 --- a/src/stm/ao_adc_stm.c +++ b/src/stm/ao_adc_stm.c @@ -50,15 +50,22 @@ static uint8_t ao_adc_ready; */ static void ao_adc_done(int index) { + uint8_t step = 1; ao_data_ring[ao_data_head].tick = ao_time(); #if HAS_MPU6000 + if (!ao_mpu6000_valid) + step = 0; ao_data_ring[ao_data_head].mpu6000 = ao_mpu6000_current; #endif #if HAS_MS5607 + if (!ao_ms5607_valid) + step = 0; ao_data_ring[ao_data_head].ms5607 = ao_ms5607_current; #endif - ao_data_head = ao_data_ring_next(ao_data_head); - ao_wakeup((void *) &ao_data_head); + if (step) { + ao_data_head = ao_data_ring_next(ao_data_head); + ao_wakeup((void *) &ao_data_head); + } ao_dma_done_transfer(STM_DMA_INDEX(STM_DMA_CHANNEL_ADC1)); ao_adc_ready = 1; }