#include <ao_quadrature.h>
#include <ao_button.h>
#include <ao_boot.h>
+#include <ao_adc_single.h>
struct ao_task demo_task;
}
}
+
static void
ao_temp (void)
{
- struct ao_data packet;
+ struct ao_adc adc;
int temp;
+#if HAS_ADC
+ struct ao_data packet;
ao_data_get(&packet);
+ adc = packet.adc;
+#endif
+#if HAS_ADC_SINGLE
+ ao_adc_single_get(&adc);
+#endif
/*
* r = (110 - 25) / (ts_cal_hot - ts_cal_cold)
* 25 + (110 - 25) * (temp - ts_cal_cold) / (ts_cal_hot - ts_cal_cold)
*/
- temp = 25 + (110 - 25) * (packet.adc.temp - stm_temp_cal.ts_cal_cold) / (stm_temp_cal.ts_cal_hot - stm_temp_cal.ts_cal_cold);
+ temp = 25 + (110 - 25) * (adc.temp - stm_temp_cal.ts_cal_cold) / (stm_temp_cal.ts_cal_hot - stm_temp_cal.ts_cal_cold);
printf ("temp: %d\n", temp);
}
// ao_timer_set_adc_interval(100);
- ao_adc_init();
+ ao_adc_single_init();
ao_usb_init();
ao_add_task(&ao_blink_task, ao_blink, "blink");
#define AO_LCD_DUTY STM_LCD_CR_DUTY_STATIC
-#define HAS_ADC 1
-
-#define AO_ADC_RING 32
+#define HAS_ADC_SINGLE 1
struct ao_adc {
int16_t idd;
int16_t vref;
};
-#define AO_ADC_DUMP(p) printf("tick: %5u idd %5d temp %5d vref %5d\n", \
- (p)->tick, (p)->adc.idd, (p)->adc.temp, (p)->adc.vref)
+#define AO_ADC_DUMP(p) printf("idd %5d temp %5d vref %5d\n", \
+ (p)->idd, (p)->temp, (p)->vref)
#define AO_ADC_IDD 4
#define AO_ADC_PIN0_PORT (&stm_gpioa)