X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fmicropeak-v2.0%2Fao_pins.h;h=69e8eb64bd4fc6f135aa1aee901016ba5bd5a0f0;hb=eea198932b8f12d4729f6138a40489d954d6f93a;hp=13a4fd10316ed26818b4dee03e3399f2fa852a4a;hpb=217d77dadbef4192d2f32e290a5c5f50159f2e0d;p=fw%2Faltos diff --git a/src/micropeak-v2.0/ao_pins.h b/src/micropeak-v2.0/ao_pins.h index 13a4fd10..69e8eb64 100644 --- a/src/micropeak-v2.0/ao_pins.h +++ b/src/micropeak-v2.0/ao_pins.h @@ -20,12 +20,11 @@ extern uint8_t ao_on_battery; -#define AO_SYSCLK (ao_on_battery ? STM_HSI_FREQ : 48000000) +#define AO_SYSCLK STM_MSI_FREQ -#define LED_PORT_ENABLE STM_RCC_AHBENR_IOPAEN -#define LED_PORT (&stm_gpioa) -#define LED_PIN_ORANGE 2 -#define AO_LED_ORANGE (1 << LED_PIN_ORANGE) +#define LED_0_PORT (&stm_gpioa) +#define LED_0_PIN 1 +#define AO_LED_ORANGE (1 << 0) #define AO_LED_REPORT AO_LED_ORANGE #define AO_LED_PANIC AO_LED_ORANGE @@ -33,45 +32,41 @@ extern uint8_t ao_on_battery; #define AO_POWER_MANAGEMENT 0 -/* 48MHz clock based on USB */ -#define AO_HSI48 1 -/* Need HSI running to flash */ -#define AO_NEED_HSI 1 +/* HCLK = MSI (2.097MHz) */ +#define AO_AHB_PRESCALER (1) +#define AO_RCC_CFGR_HPRE_DIV (STM_RCC_CFGR_HPRE_DIV_1) -/* HCLK = 12MHz usb / 2MHz battery */ -#define AO_AHB_PRESCALER (ao_on_battery ? 16 : 1) -#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 HAS_USB 1 -#define AO_PA11_PA12_RMP 1 +/* APB = MSI */ +#define AO_APB1_PRESCALER (1) +#define AO_APB2_PRESCALER (1) +#define AO_RCC_CFGR_PPRE_DIV (STM_RCC_CFGR_PPRE_DIV_1) #define PACKET_HAS_SLAVE 0 #define HAS_SERIAL_1 0 #define HAS_SERIAL_2 1 -#define USE_SERIAL_2_STDIN 0 -#define HAS_SERIAL_SW_FLOW 0 -#define SERIAL_2_PA2_PA3 1 -#define SERIAL_2_PA14_PA15 0 -#define USE_SERIAL2_FLOW 0 -#define USE_SERIAL2_SW_FLOW 0 +#define USE_SERIAL_2_STDIN 1 +#define USE_SERIAL_2_FLOW 0 +#define USE_SERIAL_2_SW_FLOW 0 +#define SERIAL_2_PA9_PA10 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 0 +#define HAS_EEPROM 1 +#define HAS_CONFIG_SAVE 0 #define HAS_BEEP 0 /* Logging */ #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 /* Kalman filter */ @@ -80,6 +75,7 @@ extern uint8_t ao_on_battery; /* 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 @@ -102,9 +98,8 @@ typedef int32_t alt_t; #define AO_ALT_VALUE(x) ((x) * (alt_t) 10) -#define AO_DATA_RING 32 - #define HAS_ADC 0 +#define HAS_AO_DELAY 1 static inline void ao_power_off(void) __attribute((noreturn)); @@ -117,14 +112,14 @@ ao_power_off(void) { extern alt_t ao_max_height; -void ao_delay_until(uint16_t target); - #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 { \ + ao_serial_init(); \ stm_moder_set(&stm_gpioa, 2, STM_MODER_ALTERNATE); \ ao_delay(AO_MS_TO_TICKS(100)); \ } while (0) @@ -134,6 +129,7 @@ void ao_delay_until(uint16_t target); #define ao_eeprom_read(pos, ptr, size) ao_storage_read(pos, ptr, size) #define ao_eeprom_write(pos, ptr, size) ao_storage_write(pos, ptr, size) #define MAX_LOG_OFFSET ao_storage_total +#define ao_storage_log_max ao_storage_total extern uint32_t __flash__[]; extern uint32_t __flash_end__[];