#ifndef _AO_PINS_H_
#define _AO_PINS_H_
+/* No external crystal */
+#define AO_HSE 0
+
+#define AO_AHB_PRESCALER 1
+#define AO_RCC_CFGR_HPRE_DIV STM_RCC_CFGR_HPRE_DIV_1
+
+#define AO_APB1_PRESCALER 2
+#define AO_RCC_CFGR_PPRE1_DIV STM_RCC_CFGR_PPRE2_DIV_2
+
+#define AO_APB2_PRESCALER 2
+#define AO_RCC_CFGR_PPRE2_DIV STM_RCC_CFGR_PPRE2_DIV_2
+
+#define AO_PLLMUL 6
+#define AO_PLLDIV 4
+#define AO_RCC_CFGR_PLLMUL (STM_RCC_CFGR_PLLMUL_6)
+#define AO_RCC_CFGR_PLLDIV (STM_RCC_CFGR_PLLDIV_4)
+
#define HAS_SERIAL_1 1
#define USE_SERIAL_1_STDIN 1
#define SERIAL_1_PB6_PB7 1
#define AO_LCD_28_ON_C 1
+#define HAS_ADC 1
+
+#define AO_ADC_RING 32
+
+struct ao_adc {
+ uint16_t tick;
+ int16_t idd;
+ int16_t temp;
+ int16_t vref;
+};
+
+#define AO_ADC_IDD 4
+#define AO_ADC_PIN0_PORT stm_gpioa
+#define AO_ADC_PIN0_PIN 4
+
+#define AO_ADC_RCC_AHBENR ((1 << STM_RCC_AHBENR_GPIOAEN))
+#define AO_ADC_TEMP 16
+#define AO_ADC_VREF 17
+
+#define HAS_ADC_TEMP 1
+
+#define AO_NUM_ADC 3
+
+#define AO_ADC_SQ1 AO_ADC_IDD
+#define AO_ADC_SQ2 AO_ADC_TEMP
+#define AO_ADC_SQ3 AO_ADC_VREF
+
+#define HAS_I2C_1 1
+#define I2C_1_PB6_PB7 0
+#define I2C_1_PB8_PB9 1
+
+#define HAS_I2C_2 0
+#define I2C_2_PB10_PB11 0
+
#endif /* _AO_PINS_H_ */