#define PRINTD(l,...)
#endif
+#define AO_ADXL375_SPI_SPEED ao_spi_speed(5000000)
+
struct ao_adxl375_sample ao_adxl375_current;
static void
static struct ao_bmm150_trim ao_bmm150_trim;
-#define ao_bmx160_spi_get() ao_spi_get(AO_BMX160_SPI_BUS, AO_SPI_SPEED_8MHz)
+#define AO_BMX160_SPI_SPEED ao_spi_speed(10000000)
+
+#define ao_bmx160_spi_get() ao_spi_get(AO_BMX160_SPI_BUS, AO_BMX160_SPI_SPEED)
#define ao_bmx160_spi_put() ao_spi_put(AO_BMX160_SPI_BUS)
#define ao_bmx160_spi_start() ao_spi_set_cs(AO_BMX160_SPI_CS_PORT, \
#define FOSC 32000000
-#define ao_radio_try_select(task_id) ao_spi_try_get_mask(AO_CC1120_SPI_CS_PORT,(1 << AO_CC1120_SPI_CS_PIN),AO_CC1120_SPI_BUS,AO_SPI_SPEED_4MHz, task_id)
-#define ao_radio_select() ao_spi_get_mask(AO_CC1120_SPI_CS_PORT,(1 << AO_CC1120_SPI_CS_PIN),AO_CC1120_SPI_BUS,AO_SPI_SPEED_4MHz)
+#define AO_CC1120_SPI_SPEED ao_spi_speed(6100000) /* 6.1MHz max with 32MHz osc */
+
+#define ao_radio_try_select(task_id) ao_spi_try_get_mask(AO_CC1120_SPI_CS_PORT,(1 << AO_CC1120_SPI_CS_PIN),AO_CC1120_SPI_BUS,AO_CC1120_SPI_SPEED, task_id)
+#define ao_radio_select() ao_spi_get_mask(AO_CC1120_SPI_CS_PORT,(1 << AO_CC1120_SPI_CS_PIN),AO_CC1120_SPI_BUS,AO_CC1120_SPI_SPEED)
#define ao_radio_deselect() ao_spi_put_mask(AO_CC1120_SPI_CS_PORT,(1 << AO_CC1120_SPI_CS_PIN),AO_CC1120_SPI_BUS)
#define ao_radio_spi_start_bytes() ao_spi_start_bytes(AO_CC1120_SPI_BUS)
#define ao_radio_spi_stop_bytes() ao_spi_stop_bytes(AO_CC1120_SPI_BUS)
#define FOSC 26000000
+#define AO_CC115L_SPI_SPEED ao_spi_speed(6500000) /* for back-to-back access */
+
#define ao_radio_select() ao_spi_get_mask(AO_CC115L_SPI_CS_PORT,(1 << AO_CC115L_SPI_CS_PIN),AO_CC115L_SPI_BUS,AO_CC115L_SPI_SPEED)
#define ao_radio_deselect() ao_spi_put_mask(AO_CC115L_SPI_CS_PORT,(1 << AO_CC115L_SPI_CS_PIN),AO_CC115L_SPI_BUS)
#define ao_radio_spi_send(d,l) ao_spi_send((d), (l), AO_CC115L_SPI_BUS)
#define FOSC 40000000
#endif
-#ifndef AO_CC1200_SPI_SPEED
-#error AO_CC1200_SPI_SPEED undefined
-#endif
+#define AO_CC1200_SPI_SPEED ao_spi_speed(7700000) /* 7.7MHz max for extended memory reads */
#define ao_radio_select() ao_spi_get_mask(AO_CC1200_SPI_CS_PORT,(1 << AO_CC1200_SPI_CS_PIN),AO_CC1200_SPI_BUS,AO_CC1200_SPI_SPEED)
#define ao_radio_deselect() ao_spi_put_mask(AO_CC1200_SPI_CS_PORT,(1 << AO_CC1200_SPI_CS_PIN),AO_CC1200_SPI_BUS)
#error HAS_COMPANION not set in ao_companion.c
#endif
+#define AO_COMPANION_SPI_SPEED ao_spi_speed(200000)
+
#define COMPANION_SELECT() do { \
ao_spi_get_bit(AO_COMPANION_CS_PORT, \
AO_COMPANION_CS_PIN, \
AO_COMPANION_SPI_BUS, \
- AO_SPI_SPEED_200kHz); \
+ AO_COMPANION_SPI_SPEED); \
} while (0)
#define COMPANION_DESELECT() do { \
static uint8_t ao_m25_instruction[4];
-#define M25_SELECT(cs) ao_spi_get_mask(AO_M25_SPI_CS_PORT,cs,AO_M25_SPI_BUS, AO_SPI_SPEED_FAST)
+#define AO_M25_SPI_SPEED ao_spi_speed(10000000) /* this seems like a reasonable minimum speed to require */
+
+#define M25_SELECT(cs) ao_spi_get_mask(AO_M25_SPI_CS_PORT,cs,AO_M25_SPI_BUS,AO_M25_SPI_SPEED)
#define M25_DESELECT(cs) ao_spi_put_mask(AO_M25_SPI_CS_PORT,cs,AO_M25_SPI_BUS)
#define M25_BLOCK_SHIFT 16
#define PRINTD(l,...)
#endif
+#define AO_MMA655X_SPI_SPEED ao_spi_speed(8333333) /* 120ns clock period */
+
static void
ao_mma655x_start(void) {
ao_spi_get_bit(AO_MMA655X_CS_PORT,
AO_MMA655X_CS_PIN,
AO_MMA655X_SPI_INDEX,
- AO_SPI_SPEED_FAST);
+ AO_MMA655X_SPI_SPEED);
}
static void
#if AO_MPU6000_SPI
-#define ao_mpu6000_spi_get() ao_spi_get(AO_MPU6000_SPI_BUS, AO_SPI_SPEED_1MHz)
+#define AO_MPU6000_SPI_SPEED ao_spi_speed(1000000) /* 1Mhz for all register access */
+
+#define ao_mpu6000_spi_get() ao_spi_get(AO_MPU6000_SPI_BUS, AO_MPU6000_SPI_SPEED)
#define ao_mpu6000_spi_put() ao_spi_put(AO_MPU6000_SPI_BUS)
#define ao_mpu6000_spi_start() ao_spi_set_cs(AO_MPU6000_SPI_CS_PORT, \
*/
ao_cur_task = &ao_mpu6000_task;
- ao_spi_get(AO_MPU6000_SPI_BUS, AO_SPI_SPEED_1MHz);
+ ao_mpu6000_spi_get();
ao_cur_task = NULL;
#endif
#if AO_MPU9250_SPI
#ifndef AO_MPU9250_SPI_SPEED
-#define AO_MPU9250_SPI_SPEED AO_SPI_SPEED_1MHz
+#define AO_MPU9250_SPI_SPEED ao_spi_speed(1000000) /* 1MHz max SCLK */
#endif
#define ao_mpu9250_spi_get() ao_spi_get(AO_MPU9250_SPI_BUS, AO_MPU9250_SPI_SPEED)
struct ao_ms5607_prom ao_ms5607_prom;
static uint8_t ms5607_configured;
-#ifndef AO_MS5607_SPI_SPEED
-#define AO_MS5607_SPI_SPEED AO_SPI_SPEED_FAST
-#endif
+#define AO_MS5607_SPI_SPEED ao_spi_speed(20000000)
static void
ao_ms5607_start(void) {
#define AO_ADXL375_SPI_INDEX (AO_SPI_1_PB3_PB4_PB5 | AO_SPI_MODE_3)
#define AO_ADXL375_CS_PORT (&stm_gpioc)
#define AO_ADXL375_CS_PIN 12
-#define AO_ADXL375_SPI_SPEED AO_SPI_SPEED_4MHz
#define AO_ADXL375_INT1_PORT (&stm_gpiob)
#define AO_ADXL375_INT1_PIN 8
#define AO_ADXL375_SPI_INDEX (AO_SPI_1_PB3_PB4_PB5 | AO_SPI_MODE_3)
#define AO_ADXL375_CS_PORT (&stm_gpioc)
#define AO_ADXL375_CS_PIN 12
-#define AO_ADXL375_SPI_SPEED AO_SPI_SPEED_4MHz
#define AO_ADXL375_INT1_PORT (&stm_gpiob)
#define AO_ADXL375_INT1_PIN 8
#define AO_MS5607_MISO_PIN 6
#define AO_MS5607_MISO_MASK (1 << AO_MS5607_MISO_PIN)
#define AO_MS5607_SPI_INDEX AO_SPI_1_PA5_PA6_PA7
-#define AO_MS5607_SPI_SPEED AO_SPI_SPEED_12MHz
#define AO_DATA_RING 64
/* SPI definitions */
-#define AO_SPI_SPEED_12MHz 4
-#define AO_SPI_SPEED_8MHz 6
-#define AO_SPI_SPEED_6MHz 8
-#define AO_SPI_SPEED_4MHz 12
-#define AO_SPI_SPEED_2MHz 24
-#define AO_SPI_SPEED_1MHz 48
-#define AO_SPI_SPEED_500kHz 96
-#define AO_SPI_SPEED_250kHz 192
-#define AO_SPI_SPEED_125kHz 384
-#define AO_SPI_SPEED_62500Hz 768
-
-#define AO_SPI_SPEED_FAST AO_SPI_SPEED_12MHz
+#define _AO_SPI_SPEED_12MHz 4
+#define _AO_SPI_SPEED_8MHz 6
+#define _AO_SPI_SPEED_6MHz 8
+#define _AO_SPI_SPEED_4MHz 12
+#define _AO_SPI_SPEED_2MHz 24
+#define _AO_SPI_SPEED_1MHz 48
+#define _AO_SPI_SPEED_500kHz 96
+#define _AO_SPI_SPEED_250kHz 192
+#define _AO_SPI_SPEED_125kHz 384
+#define _AO_SPI_SPEED_62500Hz 768
+
+static inline uint32_t
+ao_spi_speed(uint32_t hz)
+{
+ if (hz >= 4000000) return _AO_SPI_SPEED_4MHz;
+ if (hz >= 2000000) return _AO_SPI_SPEED_2MHz;
+ if (hz >= 1000000) return _AO_SPI_SPEED_1MHz;
+ if (hz >= 500000) return _AO_SPI_SPEED_500kHz;
+ if (hz >= 250000) return _AO_SPI_SPEED_250kHz;
+ if (hz >= 125000) return _AO_SPI_SPEED_125kHz;
+ return _AO_SPI_SPEED_62500Hz;
+}
#define AO_BOOT_APPLICATION_BASE ((uint32_t *) 0x00001000)
#define AO_BOOT_APPLICATION_BOUND ((uint32_t *) (0x00000000 + 32 * 1024))
/* PCLK is set to 16MHz (HCLK 32MHz, APB prescaler 2) */
-#define AO_SPI_SPEED_8MHz STM_SPI_CR1_BR_PCLK_2
-#define AO_SPI_SPEED_4MHz STM_SPI_CR1_BR_PCLK_4
-#define AO_SPI_SPEED_2MHz STM_SPI_CR1_BR_PCLK_8
-#define AO_SPI_SPEED_1MHz STM_SPI_CR1_BR_PCLK_16
-#define AO_SPI_SPEED_500kHz STM_SPI_CR1_BR_PCLK_32
-#define AO_SPI_SPEED_250kHz STM_SPI_CR1_BR_PCLK_64
-#define AO_SPI_SPEED_125kHz STM_SPI_CR1_BR_PCLK_128
-#define AO_SPI_SPEED_62500Hz STM_SPI_CR1_BR_PCLK_256
+//#define AO_SPI_SPEED_8MHz STM_SPI_CR1_BR_PCLK_2 /* too fast to use safely */
+#define _AO_SPI_SPEED_4MHz STM_SPI_CR1_BR_PCLK_4
+#define _AO_SPI_SPEED_2MHz STM_SPI_CR1_BR_PCLK_8
+#define _AO_SPI_SPEED_1MHz STM_SPI_CR1_BR_PCLK_16
+#define _AO_SPI_SPEED_500kHz STM_SPI_CR1_BR_PCLK_32
+#define _AO_SPI_SPEED_250kHz STM_SPI_CR1_BR_PCLK_64
+#define _AO_SPI_SPEED_125kHz STM_SPI_CR1_BR_PCLK_128
+#define _AO_SPI_SPEED_62500Hz STM_SPI_CR1_BR_PCLK_256
-#define AO_SPI_SPEED_FAST AO_SPI_SPEED_8MHz
-
-/* Companion bus wants something no faster than 200kHz */
-
-#define AO_SPI_SPEED_200kHz AO_SPI_SPEED_125kHz
+static inline uint32_t
+ao_spi_speed(uint32_t hz)
+{
+ if (hz >= 4000000) return _AO_SPI_SPEED_4MHz;
+ if (hz >= 2000000) return _AO_SPI_SPEED_2MHz;
+ if (hz >= 1000000) return _AO_SPI_SPEED_1MHz;
+ if (hz >= 500000) return _AO_SPI_SPEED_500kHz;
+ if (hz >= 250000) return _AO_SPI_SPEED_250kHz;
+ if (hz >= 125000) return _AO_SPI_SPEED_125kHz;
+ return _AO_SPI_SPEED_62500Hz;
+}
#define AO_SPI_CPOL_BIT 4
#define AO_SPI_CPHA_BIT 5
void
ao_spi_duplex(const void *out, void *in, uint16_t len, uint8_t spi_index);
-extern uint16_t ao_spi_speed[STM_NUM_SPI];
-
void
ao_spi_init(void);
/* PCLK is set to 48MHz (HCLK 48MHz, HPRE 1, PPRE 1) */
-#define AO_SPI_SPEED_24MHz STM_SPI_CR1_BR_PCLK_2
-#define AO_SPI_SPEED_12MHz STM_SPI_CR1_BR_PCLK_4
-#define AO_SPI_SPEED_6MHz STM_SPI_CR1_BR_PCLK_8
-#define AO_SPI_SPEED_3MHz STM_SPI_CR1_BR_PCLK_16
-#define AO_SPI_SPEED_1500kHz STM_SPI_CR1_BR_PCLK_32
-#define AO_SPI_SPEED_750kHz STM_SPI_CR1_BR_PCLK_64
-#define AO_SPI_SPEED_375kHz STM_SPI_CR1_BR_PCLK_128
-#define AO_SPI_SPEED_187500Hz STM_SPI_CR1_BR_PCLK_256
+#define _AO_SPI_SPEED_24MHz STM_SPI_CR1_BR_PCLK_2
+#define _AO_SPI_SPEED_12MHz STM_SPI_CR1_BR_PCLK_4
+#define _AO_SPI_SPEED_6MHz STM_SPI_CR1_BR_PCLK_8
+#define _AO_SPI_SPEED_3MHz STM_SPI_CR1_BR_PCLK_16
+#define _AO_SPI_SPEED_1500kHz STM_SPI_CR1_BR_PCLK_32
+#define _AO_SPI_SPEED_750kHz STM_SPI_CR1_BR_PCLK_64
+#define _AO_SPI_SPEED_375kHz STM_SPI_CR1_BR_PCLK_128
+#define _AO_SPI_SPEED_187500Hz STM_SPI_CR1_BR_PCLK_256
-#define AO_SPI_SPEED_FAST AO_SPI_SPEED_24MHz
-
-/* Companion bus wants something no faster than 200kHz */
-
-#define AO_SPI_SPEED_200kHz AO_SPI_SPEED_187500Hz
+static inline uint32_t
+ao_spi_speed(uint32_t hz)
+{
+ if (hz >=24000000) return _AO_SPI_SPEED_24MHz;
+ if (hz >=12000000) return _AO_SPI_SPEED_12MHz;
+ if (hz >= 6000000) return _AO_SPI_SPEED_6MHz;
+ if (hz >= 3000000) return _AO_SPI_SPEED_3MHz;
+ if (hz >= 1500000) return _AO_SPI_SPEED_1500kHz;
+ if (hz >= 750000) return _AO_SPI_SPEED_750kHz;
+ if (hz >= 375000) return _AO_SPI_SPEED_375kHz;
+ return _AO_SPI_SPEED_187500Hz;
+}
#define AO_SPI_CONFIG_1 0x00
#define AO_SPI_1_CONFIG_PA5_PA6_PA7 AO_SPI_CONFIG_1
void
ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index);
-extern uint16_t ao_spi_speed[STM_NUM_SPI];
-
void
ao_spi_init(void);
#define AO_CC1200_SPI_CS_PIN 10
#define AO_CC1200_SPI_BUS AO_SPI_1_PA5_PA6_PA7
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC1200_SPI_CS_PIN 11
#define AO_CC1200_SPI_BUS AO_SPI_1_PA5_PA6_PA7
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_6MHz
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (10)
#define AO_CC1200_SPI_CS_PIN 3
#define AO_CC1200_SPI_BUS 0
#define AO_CC1200_SPI 0
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_8MHz
#define AO_CC1200_INT_PORT 0
#define AO_CC1200_INT_PIN 2
#define AO_CC1200_SPI_CS_PIN 11
#define AO_CC1200_SPI_BUS AO_SPI_1_PE13_PE14_PE15
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioe)
#define AO_CC1200_INT_PIN (12)
#define AO_CC1200_SPI_CS_PIN 11
#define AO_CC1200_SPI_BUS AO_SPI_1_PE13_PE14_PE15
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioe)
#define AO_CC1200_INT_PIN (12)
#define AO_CC1200_SPI_CS_PIN 7
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC1200_SPI_CS_PIN 3
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC1200_SPI_CS_PIN 7
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC1200_SPI_CS_PIN 7
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC115L_SPI_CS_PIN 12
#define AO_CC115L_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC115L_SPI stm_spi2
-#define AO_CC115L_SPI_SPEED AO_SPI_SPEED_4MHz
#define AO_CC115L_FIFO_INT_GPIO_IOCFG CC115L_IOCFG2
#define AO_CC115L_FIFO_INT_PORT (&stm_gpioa)
#define AO_CC115L_SPI_CS_PORT 0
#define AO_CC115L_SPI_CS_PIN 3
#define AO_CC115L_SPI_BUS 0
-#define AO_CC115L_SPI_SPEED AO_SPI_SPEED_6MHz
#define AO_CC115L_FIFO_INT_GPIO_IOCFG CC115L_IOCFG2
#define AO_CC115L_FIFO_INT_PORT 0
#define AO_CC115L_SPI_CS_PORT 0
#define AO_CC115L_SPI_CS_PIN 3
#define AO_CC115L_SPI_BUS 0
-#define AO_CC115L_SPI_SPEED AO_SPI_SPEED_6MHz
#define AO_CC115L_FIFO_INT_GPIO_IOCFG CC115L_IOCFG2
#define AO_CC115L_FIFO_INT_PORT 0
#define AO_CC1200_SPI_CS_PIN 1
#define AO_CC1200_SPI_BUS AO_SPI_1_PA5_PA6_PA7
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_6MHz
#define AO_CC1200_INT_PORT (&stm_gpioa)
#define AO_CC1200_INT_PIN 4
#define AO_CC1200_SPI_CS_PIN 0
#define AO_CC1200_SPI_BUS AO_SPI_2_PD1_PD3_PD4
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioc)
#define AO_CC1200_INT_PIN (15)
#define AO_CC1200_SPI_CS_PIN 0
#define AO_CC1200_SPI_BUS AO_SPI_2_PD1_PD3_PD4
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioc)
#define AO_CC1200_INT_PIN (15)
#define AO_CC1200_SPI_CS_PIN 0
#define AO_CC1200_SPI_BUS AO_SPI_2_PD1_PD3_PD4
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiod)
#define AO_CC1200_INT_PIN (5)
#define AO_CC1200_SPI_CS_PIN 7
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)
#define AO_CC1200_SPI_CS_PIN 5
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioe)
#define AO_CC1200_INT_PIN 1
#define AO_CC1200_SPI_CS_PIN 5
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioe)
#define AO_CC1200_INT_PIN 1
#define AO_CC1200_SPI_CS_PIN 5
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioe)
#define AO_CC1200_INT_PIN 1
#define AO_ADXL375_SPI_INDEX (AO_SPI_1_PB3_PB4_PB5 | AO_SPI_MODE_3)
#define AO_ADXL375_CS_PORT (&stm_gpiod)
#define AO_ADXL375_CS_PIN 4
-#define AO_ADXL375_SPI_SPEED AO_SPI_SPEED_4MHz
#define AO_ADXL375_AXIS x
#define AO_ADXL375_INVERT 1
#define AO_CC1200_SPI_CS_PIN 2
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpioa)
#define AO_CC1200_INT_PIN (3)
#define AO_ADXL375_SPI_INDEX (AO_SPI_1_PB3_PB4_PB5 | AO_SPI_MODE_3)
#define AO_ADXL375_CS_PORT (&stm_gpiob)
#define AO_ADXL375_CS_PIN 9
-#define AO_ADXL375_SPI_SPEED AO_SPI_SPEED_4MHz
#define AO_ADXL375_AXIS x
#define AO_ADXL375_INVERT 1
#define AO_MS5607_MISO_PIN 4
#define AO_MS5607_MISO_MASK (1 << AO_MS5607_MISO_PIN)
#define AO_MS5607_SPI_INDEX AO_SPI_1_PB3_PB4_PB5
-#define AO_MS5607_SPI_SPEED AO_SPI_SPEED_12MHz
/* CC1200 */
#define AO_CC1200_SPI_CS_PIN 0
#define AO_CC1200_SPI_BUS AO_SPI_1_PA5_PA6_PA7
#define AO_CC1200_SPI stm_spi1
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_12MHz
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN 1
#define AO_CC1200_SPI_CS_PIN 3
#define AO_CC1200_SPI_BUS AO_SPI_2_PB13_PB14_PB15
#define AO_CC1200_SPI stm_spi2
-#define AO_CC1200_SPI_SPEED AO_SPI_SPEED_FAST
#define AO_CC1200_INT_PORT (&stm_gpiob)
#define AO_CC1200_INT_PIN (11)