altos/detherm: Add ms5607 to detherm
authorKeith Packard <keithp@keithp.com>
Wed, 6 Apr 2016 05:03:37 +0000 (22:03 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 13 Apr 2016 13:19:28 +0000 (06:19 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/detherm/ao_detherm.c
src/detherm/ao_pins.h
src/drivers/ao_ms5607.c
src/stmf0/ao_arch_funcs.h

index cc0137539bde034fe0ae81a0afc49894a31d9f3f..64dee586225e328dda546a7510901b246d517b11 100644 (file)
@@ -35,8 +35,8 @@ void main(void)
        ao_usb_init();
 
        ao_storage_init();
+       ao_ms5607_init();
 //     ao_flight_init();
-//     ao_ms5607_init();
        ao_pwm_init();
        ao_log_init();
        ao_report_init();
index 9b62362776ae5cd1ed9f9e5f910175766140c965..8cd4a9c45a36aa671645268176de16e9ad81f853 100644 (file)
 /* MS5607 */
 #define HAS_MS5607             1
 
-#define AO_MS5607_CS_PORT      (&stm_gpiob)
-#define AO_MS5607_CS_PIN       6
+#define AO_MS5607_CS_PORT      (&stm_gpioa)
+#define AO_MS5607_CS_PIN       0
 #define AO_MS5607_SPI_INDEX    AO_SPI_1_PB3_PB4_PB5
 #define AO_MS5607_MISO_PORT    (&stm_gpiob)
 #define AO_MS5607_MISO_PIN     4
+#define AO_MS5607_PRIVATE_PINS 1
+#define AO_MS5607_SPI_SPEED    AO_SPI_SPEED_6MHz
 
 /* Flash */
 
index 6098699edf4b1735a8a0ede41fd163722ba809aa..ef31882ef4ff818628f27e66c458922fdf536140 100644 (file)
 __xdata struct ao_ms5607_prom  ao_ms5607_prom;
 static __xdata uint8_t         ms5607_configured;
 
+#ifndef AO_MS5607_SPI_SPEED
+#define AO_MS5607_SPI_SPEED    AO_SPI_SPEED_FAST
+#endif
+
 static void
 ao_ms5607_start(void) {
-       ao_spi_get_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_CS, AO_MS5607_SPI_INDEX, AO_SPI_SPEED_FAST);
+       ao_spi_get_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_CS, AO_MS5607_SPI_INDEX, AO_MS5607_SPI_SPEED);
 }
 
 static void
index 4e3ef0189601f9267d2bdee5fe8cf81eb8446ef0..ccfa3fc78d5dc4905a3e640d4058dbd11534bc7f 100644 (file)
 /* ao_spi_stm.c
  */
 
-/* PCLK is set to 16MHz (HCLK 32MHz, APB prescaler 2) */
+/* PCLK is set to 48MHz (HCLK 48MHz, HPRE 1, PPRE 1) */
 
-#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_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_8MHz
+#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_125kHz
+#define AO_SPI_SPEED_200kHz    AO_SPI_SPEED_187500Hz
 
 #define AO_SPI_CONFIG_1                0x00
 #define AO_SPI_1_CONFIG_PA5_PA6_PA7    AO_SPI_CONFIG_1