altos: Use new ao_spi_speed inline to set SPI speeds using spec'd frequencies
authorKeith Packard <keithp@keithp.com>
Wed, 29 Jul 2020 17:53:39 +0000 (10:53 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 30 Jul 2020 18:06:50 +0000 (11:06 -0700)
Instead of hand-adjusting SPI speeds for each driver and product based
on processor supported rates, create an inline function that takes the
maximum frequency supported by the device and maps that to a value
supported by the SoC. This ensures that we don't accidentally drive devices
faster than they want (as could happen with AO_SPI_SPEED_FAST), but do go
as fast as possible in every configuration. Using an inline function means
the value is computed at compile time.

Signed-off-by: Keith Packard <keithp@keithp.com>
40 files changed:
src/drivers/ao_adxl375.c
src/drivers/ao_bmx160.c
src/drivers/ao_cc1120.c
src/drivers/ao_cc115l.c
src/drivers/ao_cc1200.c
src/drivers/ao_companion.c
src/drivers/ao_m25.c
src/drivers/ao_mma655x.c
src/drivers/ao_mpu6000.c
src/drivers/ao_mpu9250.c
src/drivers/ao_ms5607.c
src/easymega-v2.0/ao_pins.h
src/easymega-v3.0/ao_pins.h
src/easymini-v2.0/ao_pins.h
src/lpc/ao_arch.h
src/stm/ao_arch_funcs.h
src/stmf0/ao_arch_funcs.h
src/telebt-v3.0/ao_pins.h
src/telebt-v4.0/ao_pins.h
src/teledongle-v3.0/ao_pins.h
src/telefireeight-v1.0/ao_pins.h
src/telefireeight-v2.0/ao_pins.h
src/telefireone-v1.0/ao_pins.h
src/telefireone-v2.0/ao_pins.h
src/telefiretwo-v0.1/ao_pins.h
src/telefiretwo-v0.2/ao_pins.h
src/telegps-v0.1/ao_pins.h
src/telegps-v0.3/ao_pins.h
src/telegps-v1.0/ao_pins.h
src/telegps-v2.0/ao_pins.h
src/telelco-v0.2-cc1200/ao_pins.h
src/telelco-v0.3/ao_pins.h
src/telelco-v2.0/ao_pins.h
src/telelcotwo-v0.1/ao_pins.h
src/telemega-v2.0/ao_pins.h
src/telemega-v3.0/ao_pins.h
src/telemega-v4.0/ao_pins.h
src/telemetrum-v3.0/ao_pins.h
src/telemini-v3.0/ao_pins.h
src/telestatic-v3.0/ao_pins.h

index dca2213b1ba94cb3b111a19ed81301c6e1cf8450..c7cf78af7d8f7940c985a10c2171630a6c606d77 100644 (file)
@@ -26,6 +26,8 @@
 #define PRINTD(l,...)
 #endif
 
+#define AO_ADXL375_SPI_SPEED   ao_spi_speed(5000000)
+
 struct ao_adxl375_sample       ao_adxl375_current;
 
 static void
index c3922b60651130a6dcccaef19bf302b0a755c787..427a081bc36e21db5e56a65e92101225f0690517 100644 (file)
@@ -24,7 +24,9 @@ static uint8_t        ao_bmx160_configured;
 
 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,    \
index b1a1377875c0d17be8c9c65185e89bbdd8b35fbc..1ebc0ea20bc9afcda54969bd3b944aebeee316cc 100644 (file)
@@ -42,8 +42,10 @@ extern const uint32_t        ao_radio_cal;
 
 #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)
index 2b5fd3fd9313ffaf636b78649752ed74a42a05f3..dc8e9ff315ad303df49ee0b1ccc151767e8c842e 100644 (file)
@@ -39,6 +39,8 @@ static uint8_t ao_radio_abort;                /* radio operation should abort */
 
 #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)
index 105e0d50a80aa072a2147248d1cf57edd4a0e8e2..3ccf121f1a1f3301f0b2e720d2308e78febb5be9 100644 (file)
@@ -51,9 +51,7 @@ extern const uint32_t ao_radio_cal;
 #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)
index d6fbb6b7480de528c322eac0f778a671b9d44d85..093356a59981ecdea92b82927f3ac919f1a1facf 100644 (file)
 #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 {                    \
index 550c9535f2735837d566d09ff131f6bbe73bedb6..2e4cbedf989d23991c54245b6a6a18d392e2d1b1 100644 (file)
@@ -101,7 +101,9 @@ static uint8_t ao_m25_mutex;
 
 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
index 4c24e98b71c1e432883f32703a90e2f569d16ce8..7736a0f89c4889d49cb3a86a31667fb226d56794 100644 (file)
 #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
index c894239ec0e54ae0934781886c44a759e8bcc38b..7c9d6b6bffaa343469576c4429bf4d883fad69d5 100644 (file)
@@ -32,7 +32,9 @@ static uint8_t        ao_mpu6000_configured;
 
 #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,   \
@@ -383,7 +385,7 @@ ao_mpu6000_init(void)
         */
 
        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
 
index 0597a81c57fbc8677bc64d93002db7d0d0ca88b5..09b65bfa749c8cd7de7b1e5f6ff712d5cc602c74 100644 (file)
@@ -35,7 +35,7 @@ static uint8_t        ao_mpu9250_configured;
 #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)
index 1ebba3e9c6f99ccfb0fd7a7bbebd42b1e7da2c58..c5e733a46e6bf4dacca71dd40ba9e581cd745d90 100644 (file)
@@ -25,9 +25,7 @@
 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) {
index 399654f0ed6f598ed1fa9fb2f5559436181724c4..d7f903344b0e186d19012061d3b70ac75d2469b1 100644 (file)
@@ -324,7 +324,6 @@ struct ao_adc {
 #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
index fa810fdae4efde8be69f5768d4e2cf21b73670b7..31ebfa4588a320f71b83dd03bcadc3b25aca63d2 100644 (file)
@@ -324,7 +324,6 @@ struct ao_adc {
 #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
index 38d463100d3fd14d767bd7caf81bce52be7e31f7..ba5749e94c35e25b25ef541b132ebf994f0bddb7 100644 (file)
@@ -93,7 +93,6 @@
 #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
 
index c638aa22b9658846a0a4319daec94b377706b6d4..eedac777a46fae6a010a09ba04aaba6098c5b231 100644 (file)
@@ -103,18 +103,28 @@ ao_serial_init(void);
 
 /* 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))
index 5c8d990b22a5462395735aa9134cbcbfac13c3f2..8f4f6cd4ce9e70658a64a352ab81b7a3ca015df2 100644 (file)
 
 /* 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
@@ -151,8 +157,6 @@ ao_spi_recv(void *block, uint16_t len, uint8_t spi_index);
 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);
 
index 190f9d1766ea7dbd96f1b95c9a2b6ac52c7f3061..defe259896e67b4eaf0f78ae0be48808dddcbede 100644 (file)
 
 /* 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
@@ -141,8 +148,6 @@ ao_spi_recv(void *block, uint16_t len, uint8_t spi_index);
 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);
 
index 62dddf2a2f8fa7da5ab1acfe9716aaa48196f97a..dcb5098dd7d41530d1aefb3cc4bfb5af13787230 100644 (file)
@@ -198,7 +198,6 @@ struct ao_adc {
 #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)
index f3d70d1ad31eb1e81f698345a7aa349d48af152e..ef988d8bf4dc5399d069dd1a916f79ea0ffe28f7 100644 (file)
@@ -272,7 +272,6 @@ struct ao_adc {
 #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)
index be710aef3ca17a10458822e30ce8ddac68a11dfe..effc2322028e23733c806ba545abcb6b6157c837 100644 (file)
@@ -96,7 +96,6 @@
 #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
index c15e06bf1e4adf70167cf06315b09443f443d1c9..b1952278815d98dd2ecc18e92fa4e4dc7d896826 100644 (file)
 #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)
index 046514b42e64204528c1bf297216e2b10e304191..a71eb441046a6ca1891fc580016c6d6fb19a3797 100644 (file)
@@ -88,7 +88,6 @@
 #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)
index cd8eb65861d3b4b7d8bc460a3fa489524c1246fd..9d43c2c23e1be832a42f28c307e3802b86a43eec 100644 (file)
 #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)
index 8025ace6a660c239872db4e0a02909c0495c1f78..3b76cccfa475d17d148b9c023a46da366778be94 100644 (file)
 #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)
index dedd0fad3ece4345d47e0c35f665518a6965e739..a3bc0a8565ae83dddc99ee15722416a88f574d5f 100644 (file)
 #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)
index 01faace2dfad944deff3825f8a5a9fc546c9ad69..e04c4fd793ae6f093db91762b9c394fc4487dcd4 100644 (file)
 #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)
index 5afc9498c7d22bcdd01d1032ba85e86a5cf602b1..317289660aadeef0eb5e26a941aeef12f2391f6c 100644 (file)
 #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)
index 873474bbab3ac074a8aefd4389c2a1139c54cbfc..e22331d14061fbaf8b8bbb9d459005fb7caf2242 100644 (file)
@@ -96,7 +96,6 @@
 #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
index f3bdc0ac73f135360baaa9a5ae047dfded1b2f11..fbc767393fdd4d5c0f0460348f5272a0136e888d 100644 (file)
@@ -98,7 +98,6 @@
 #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
index a2e812fa51f5570762b07d0e1c8b16004ea0c9b1..5c6aee0e302e3615a7b06d53354d17019e37d5f9 100644 (file)
@@ -158,7 +158,6 @@ struct ao_adc {
 #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
index f3850ebd199c231d3b375988dd706ac0ab0955e1..b434e7cb4b374aac2fb79ff90f13cc63ee31673e 100644 (file)
@@ -95,7 +95,6 @@
 #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)
index c806268f7964991429d72f8204dc691f66c4e1a5..de89d746a41bb55e35c036e3cba74d91c9e9cf07 100644 (file)
@@ -95,7 +95,6 @@
 #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)
index e06633145fe7a1dc097c5d4e4d13a3bc6d2749c5..bfbda42381ade84c51347df56a753dc527c3074a 100644 (file)
@@ -93,7 +93,6 @@
 #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)
index 3ef88c7476a93ae742e790fc137a855a4ed2cebf..cf93976e43e32f3a2e457350cd557dfc4a8fa282 100644 (file)
@@ -94,7 +94,6 @@
 #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)
index ba302c7409a2683c27bee0db87ce4ec36b1e2ebb..efb8edd202529cac6efb0190a9fdb2ef046c649e 100644 (file)
@@ -311,7 +311,6 @@ struct ao_adc {
 #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
index ce22390785a1c03a8097de26a422cc3e252cfa67..4fff507633edb8275f41a2912fb18de4836da67d 100644 (file)
@@ -311,7 +311,6 @@ struct ao_adc {
 #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
index 84af615c00a89fa9ef7301c17c93d644df1b5d3e..97267de98d39f1a44c07ff54581dc7242f7a4da9 100644 (file)
@@ -306,7 +306,6 @@ struct ao_adc {
 #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
@@ -351,7 +350,6 @@ struct ao_adc {
 #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
index 68bec1be3f789066f031121b983f5d2454a39d70..a9651abb7e72956c4daea7202f0a1441b48217ef 100644 (file)
@@ -260,7 +260,6 @@ struct ao_adc {
 #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)
@@ -283,7 +282,6 @@ struct ao_adc {
 #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
index ae8534b9c3fbaf56ef3545f42dcaf6296273da3d..a734ff0aaaa1f139c48729edc8b52e107db9a31b 100644 (file)
 #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
index aad17664bde320fd49357177b06c7c0fe6ebeb8c..866206ce28661538f7fdf4faf1294579f759b7fa 100644 (file)
 #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)