altos/micropeak-v2.0: Reduce power usage
[fw/altos] / src / micropeak-v2.0 / ao_pins.h
index 8b0b29718b5cce374c4b7d3f1846edfb753f83fb..d3bd22814a46f0264669237de7c06bf2beb87efb 100644 (file)
@@ -43,8 +43,8 @@ extern uint8_t ao_on_battery;
 #define AO_RCC_CFGR_HPRE_DIV   (ao_on_battery ? STM_RCC_CFGR_HPRE_DIV_16 : STM_RCC_CFGR_HPRE_DIV_1)
 
 /* APB = 12MHz usb / 2MHz battery */
 #define AO_RCC_CFGR_HPRE_DIV   (ao_on_battery ? STM_RCC_CFGR_HPRE_DIV_16 : STM_RCC_CFGR_HPRE_DIV_1)
 
 /* APB = 12MHz usb / 2MHz battery */
-#define AO_APB_PRESCALER       1
-#define AO_RCC_CFGR_PPRE_DIV   STM_RCC_CFGR_PPRE_DIV_1
+#define AO_APB_PRESCALER       (ao_on_battery ? 2 : 1)
+#define AO_RCC_CFGR_PPRE_DIV   (ao_on_battery ? STM_RCC_CFGR_PPRE_DIV_2 : STM_RCC_CFGR_PPRE_DIV_1)
 
 #define HAS_USB                        1
 #define AO_PA11_PA12_RMP       1
 
 #define HAS_USB                        1
 #define AO_PA11_PA12_RMP       1
@@ -63,6 +63,7 @@ extern uint8_t ao_on_battery;
 #define IS_FLASH_LOADER                0
 
 #define HAS_MS5607             1
 #define IS_FLASH_LOADER                0
 
 #define HAS_MS5607             1
+#define HAS_SENSOR_ERRORS      0
 #define HAS_MS5611             0
 #define HAS_MS5607_TASK                0
 #define HAS_EEPROM             1
 #define HAS_MS5611             0
 #define HAS_MS5607_TASK                0
 #define HAS_EEPROM             1
@@ -73,7 +74,7 @@ extern uint8_t ao_on_battery;
 #define LOG_INTERVAL           1
 #define SAMPLE_SLEEP           AO_MS_TO_TICKS(100)
 #define BOOST_DELAY            AO_SEC_TO_TICKS(60)
 #define LOG_INTERVAL           1
 #define SAMPLE_SLEEP           AO_MS_TO_TICKS(100)
 #define BOOST_DELAY            AO_SEC_TO_TICKS(60)
-#define AO_LOG_ID              AO_LOG_ID_MICRO_PEAK2
+#define AO_LOG_ID              AO_LOG_ID_MICROPEAK2
 #define HAS_LOG                        1
 #define AO_LOG_FORMAT          AO_LOG_FORMAT_MICROPEAK2
 #define FLIGHT_LOG_APPEND      1
 #define HAS_LOG                        1
 #define AO_LOG_FORMAT          AO_LOG_FORMAT_MICROPEAK2
 #define FLIGHT_LOG_APPEND      1
@@ -85,6 +86,7 @@ extern uint8_t ao_on_battery;
 
 /* SPI */
 #define HAS_SPI_1              1
 
 /* SPI */
 #define HAS_SPI_1              1
+#define SPI_1_POWER_MANAGE     1
 #define SPI_1_PA5_PA6_PA7      1
 #define SPI_1_PB3_PB4_PB5      0
 #define SPI_1_OSPEEDR          STM_OSPEEDR_MEDIUM
 #define SPI_1_PA5_PA6_PA7      1
 #define SPI_1_PB3_PB4_PB5      0
 #define SPI_1_OSPEEDR          STM_OSPEEDR_MEDIUM
@@ -127,9 +129,11 @@ void ao_delay_until(uint16_t target);
 #define ao_async_stop() do {                                   \
                ao_serial2_drain();                             \
                stm_moder_set(&stm_gpioa, 2, STM_MODER_OUTPUT); \
 #define ao_async_stop() do {                                   \
                ao_serial2_drain();                             \
                stm_moder_set(&stm_gpioa, 2, STM_MODER_OUTPUT); \
+               ao_serial_shutdown();                           \
        } while (0)
 
 #define ao_async_start() do {                                          \
        } while (0)
 
 #define ao_async_start() do {                                          \
+               ao_serial_init();                                       \
                stm_moder_set(&stm_gpioa, 2, STM_MODER_ALTERNATE);      \
                ao_delay(AO_MS_TO_TICKS(100));                          \
        } while (0)
                stm_moder_set(&stm_gpioa, 2, STM_MODER_ALTERNATE);      \
                ao_delay(AO_MS_TO_TICKS(100));                          \
        } while (0)