X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fmegametrum-v0.1%2Fao_pins.h;h=4c645871fe758d6f6159da4aa49e38ef2823e936;hp=dc3761ba3f16506d2138e1c12b120652c58fb210;hb=8c05f608c8f103649c1e5ec0d5742621e233af78;hpb=f9f65211c378849270a6138fda05ed2a166f7d82 diff --git a/src/megametrum-v0.1/ao_pins.h b/src/megametrum-v0.1/ao_pins.h index dc3761ba..4c645871 100644 --- a/src/megametrum-v0.1/ao_pins.h +++ b/src/megametrum-v0.1/ao_pins.h @@ -18,6 +18,8 @@ #ifndef _AO_PINS_H_ #define _AO_PINS_H_ +#define HAS_TASK_QUEUE 1 + /* 8MHz High speed external crystal */ #define AO_HSE 8000000 @@ -60,6 +62,7 @@ #define ao_gps_getchar ao_serial3_getchar #define ao_gps_putchar ao_serial3_putchar #define ao_gps_set_speed ao_serial3_set_speed +#define ao_gps_fifo (ao_stm_usart3.rx_fifo) #define HAS_EEPROM 1 #define USE_INTERNAL_FLASH 0 @@ -67,19 +70,23 @@ #define HAS_BEEP 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 +#define HAS_APRS 1 #define HAS_SPI_1 1 -#define SPI_1_PA5_PA6_PA7 1 +#define SPI_1_PA5_PA6_PA7 1 /* Barometer */ #define SPI_1_PB3_PB4_PB5 0 -#define SPI_1_PE13_PE14_PE15 0 +#define SPI_1_PE13_PE14_PE15 1 /* Accelerometer */ +#define SPI_1_OSPEEDR STM_OSPEEDR_10MHz #define HAS_SPI_2 1 -#define SPI_2_PB13_PB14_PB15 1 +#define SPI_2_PB13_PB14_PB15 1 /* Flash, Companion */ #define SPI_2_PD1_PD3_PD4 0 -#define SPI_2_GPIO (&stm_gpiob) -#define SPI_2_SCK 13 -#define SPI_2_MISO 14 -#define SPI_2_MOSI 15 +#define SPI_2_OSPEEDR STM_OSPEEDR_10MHz + +#define SPI_2_PORT (&stm_gpiob) +#define SPI_2_SCK_PIN 13 +#define SPI_2_MISO_PIN 14 +#define SPI_2_MOSI_PIN 15 #define HAS_I2C_1 1 #define I2C_1_PB8_PB9 1 @@ -104,8 +111,6 @@ #define HAS_GPS 1 #define HAS_FLIGHT 1 #define HAS_ADC 1 -#define HAS_ACCEL 1 -#define HAS_ACCEL_REF 1 #define HAS_LOG 1 /* @@ -120,29 +125,26 @@ #define AO_IGNITER_CLOSED 400 #define AO_IGNITER_OPEN 60 -#define AO_IGNITER_PORT_A (&stm_gpiod) -#define AO_IGNITER_PIN_A 6 - -#define AO_IGNITER_PORT_B (&stm_gpiod) -#define AO_IGNITER_PIN_B 7 +#define AO_IGNITER_DROGUE_PORT (&stm_gpiod) +#define AO_IGNITER_DROGUE_PIN 6 -#define AO_IGNITER_PORT_C (&stm_gpiob) -#define AO_IGNITER_PIN_C 5 +#define AO_IGNITER_MAIN_PORT (&stm_gpiod) +#define AO_IGNITER_MAIN_PIN 7 -#define AO_IGNITER_PORT_D (&stm_gpioe) -#define AO_IGNITER_PIN_D 4 +#define AO_PYRO_PORT_0 (&stm_gpiob) +#define AO_PYRO_PIN_0 5 -#define AO_IGNITER_PORT_E (&stm_gpioe) -#define AO_IGNITER_PIN_E 6 +#define AO_PYRO_PORT_1 (&stm_gpioe) +#define AO_PYRO_PIN_1 4 -#define AO_IGNITER_PORT_F (&stm_gpioe) -#define AO_IGNITER_PIN_F 5 +#define AO_PYRO_PORT_2 (&stm_gpioe) +#define AO_PYRO_PIN_2 6 -#define AO_IGNITER_DROGUE_PORT AO_IGNITER_PORT_A -#define AO_IGNITER_DROGUE_PIN AO_IGNITER_PIN_A +#define AO_PYRO_PORT_3 (&stm_gpioe) +#define AO_PYRO_PIN_3 5 -#define AO_IGNITER_MAIN_PORT AO_IGNITER_PORT_B -#define AO_IGNITER_MAIN_PIN AO_IGNITER_PIN_B +/* Number of general purpose pyro channels available */ +#define AO_PYRO_NUM 4 #define AO_IGNITER_SET_DROGUE(v) stm_gpio_set(AO_IGNITER_DROGUE_PORT, AO_IGNITER_DROGUE_PIN, v) #define AO_IGNITER_SET_MAIN(v) stm_gpio_set(AO_IGNITER_MAIN_PORT, AO_IGNITER_MAIN_PIN, v) @@ -250,13 +252,15 @@ struct ao_adc { * Pressure sensor settings */ #define HAS_MS5607 1 -#define AO_MS5607_CS_GPIO (&stm_gpioc) -#define AO_MS5607_CS 4 +#define HAS_MS5611 0 +#define AO_MS5607_PRIVATE_PINS 1 +#define AO_MS5607_CS_PORT (&stm_gpioc) +#define AO_MS5607_CS_PIN 4 #define AO_MS5607_CS_MASK (1 << AO_MS5607_CS) -#define AO_MS5607_MISO_GPIO (&stm_gpioa) -#define AO_MS5607_MISO 6 +#define AO_MS5607_MISO_PORT (&stm_gpioa) +#define AO_MS5607_MISO_PIN 6 #define AO_MS5607_MISO_MASK (1 << AO_MS5607_MISO) -#define AO_MS5607_SPI_INDEX (STM_SPI_INDEX(1)) +#define AO_MS5607_SPI_INDEX AO_SPI_1_PA5_PA6_PA7 /* * SPI Flash memory @@ -265,22 +269,35 @@ struct ao_adc { #define M25_MAX_CHIPS 1 #define AO_M25_SPI_CS_PORT (&stm_gpiod) #define AO_M25_SPI_CS_MASK (1 << 3) -#define AO_M25_SPI_BUS STM_SPI_INDEX(2) +#define AO_M25_SPI_BUS AO_SPI_2_PB13_PB14_PB15 /* * Radio (cc1120) */ +/* gets pretty close to 434.550 */ + +#define AO_RADIO_CAL_DEFAULT 0x6ca333 + #define AO_FEC_DEBUG 0 #define AO_CC1120_SPI_CS_PORT (&stm_gpioc) #define AO_CC1120_SPI_CS_PIN 5 -#define AO_CC1120_SPI_BUS STM_SPI_INDEX(2) +#define AO_CC1120_SPI_BUS AO_SPI_2_PB13_PB14_PB15 +#define AO_CC1120_SPI stm_spi2 -#define AO_CC1120_INT_PORT (&stm_gpioc) -#define AO_CC1120_INT_PIN 14 +#define AO_CC1120_INT_PORT (&stm_gpioc) +#define AO_CC1120_INT_PIN 14 +#define AO_CC1120_MCU_WAKEUP_PORT (&stm_gpioc) +#define AO_CC1120_MCU_WAKEUP_PIN (0) #define AO_CC1120_INT_GPIO 2 -#define HAS_BOOT_RADIO 1 +#define AO_CC1120_INT_GPIO_IOCFG CC1120_IOCFG2 + +#define AO_CC1120_MARC_GPIO 3 +#define AO_CC1120_MARC_GPIO_IOCFG CC1120_IOCFG3 + + +#define HAS_BOOT_RADIO 0 /* * Mag sensor (hmc5883) @@ -302,6 +319,15 @@ struct ao_adc { #define HAS_HIGHG_ACCEL 0 +/* + * mma655x + */ + +#define HAS_MMA655X 1 +#define AO_MMA655X_SPI_INDEX AO_SPI_1_PE13_PE14_PE15 +#define AO_MMA655X_CS_PORT (&stm_gpiod) +#define AO_MMA655X_CS_PIN 4 + #define NUM_CMDS 16 /* @@ -310,7 +336,7 @@ struct ao_adc { #define AO_COMPANION_CS_PORT (&stm_gpiod) #define AO_COMPANION_CS_PIN (0) -#define AO_COMPANION_SPI_BUS STM_SPI_INDEX(2) +#define AO_COMPANION_SPI_BUS AO_SPI_2_PB13_PB14_PB15 /* * Monitor @@ -326,6 +352,8 @@ struct ao_adc { * Profiling Viterbi decoding */ +#ifndef AO_PROFILE #define AO_PROFILE 0 +#endif #endif /* _AO_PINS_H_ */