summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-04-05 22:03:37 -0700
committerKeith Packard <keithp@keithp.com>2016-04-13 06:19:28 -0700
commitcfb91ec7ef6ef485d813af96a0f206bb7a2204dd (patch)
tree47656520f5e31dbab359ac980c6088402371cf9d
parent8da29480a2fdf890d553b30eab58fc884210c1a5 (diff)
altos/detherm: Add ms5607 to detherm
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/detherm/ao_detherm.c2
-rw-r--r--src/detherm/ao_pins.h6
-rw-r--r--src/drivers/ao_ms5607.c6
-rw-r--r--src/stmf0/ao_arch_funcs.h22
4 files changed, 21 insertions, 15 deletions
diff --git a/src/detherm/ao_detherm.c b/src/detherm/ao_detherm.c
index cc013753..64dee586 100644
--- a/src/detherm/ao_detherm.c
+++ b/src/detherm/ao_detherm.c
@@ -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();
diff --git a/src/detherm/ao_pins.h b/src/detherm/ao_pins.h
index 9b623627..8cd4a9c4 100644
--- a/src/detherm/ao_pins.h
+++ b/src/detherm/ao_pins.h
@@ -72,11 +72,13 @@
/* 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 */
diff --git a/src/drivers/ao_ms5607.c b/src/drivers/ao_ms5607.c
index 6098699e..ef31882e 100644
--- a/src/drivers/ao_ms5607.c
+++ b/src/drivers/ao_ms5607.c
@@ -24,9 +24,13 @@
__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
diff --git a/src/stmf0/ao_arch_funcs.h b/src/stmf0/ao_arch_funcs.h
index 4e3ef018..ccfa3fc7 100644
--- a/src/stmf0/ao_arch_funcs.h
+++ b/src/stmf0/ao_arch_funcs.h
@@ -23,22 +23,22 @@
/* 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