Allow CC1120 to sit on other SPI busses
authorKeith Packard <keithp@keithp.com>
Mon, 31 Dec 2012 22:22:37 +0000 (14:22 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 31 Dec 2012 22:22:37 +0000 (14:22 -0800)
Reading the incoming data bypasses the SPI API and touches the SPI
data register directly; which port that is needs to be specified in
the pins file

Signed-off-by: Keith Packard <keithp@keithp.com>
src/drivers/ao_cc1120.c
src/megadongle-v0.1/ao_pins.h
src/megametrum-v0.1/ao_pins.h

index 63d2f95539dd49d5198541e109cffbf83809a632..d9b2e5bfb64891926bacb23db5d13e6f31ec3184 100644 (file)
@@ -834,8 +834,8 @@ ao_radio_rx_isr(void)
 {
        uint8_t d;
 
-       d = stm_spi2.dr;
-       stm_spi2.dr = 0;
+       d = AO_CC1120_SPI.dr;
+       AO_CC1120_SPI.dr = 0;
        if (rx_ignore == 0) {
                if (rx_data_cur >= rx_data_count)
                        ao_exti_disable(AO_CC1120_INT_PORT, AO_CC1120_INT_PIN);
@@ -922,10 +922,10 @@ ao_radio_recv(__xdata void *d, uint8_t size)
        ao_radio_wake = 0;
        ao_radio_mcu_wake = 0;
 
-       stm_spi2.cr2 = 0;
+       AO_CC1120_SPI.cr2 = 0;
 
        /* clear any RXNE */
-       (void) stm_spi2.dr;
+       (void) AO_CC1120_SPI.dr;
 
        /* Have the radio signal when the preamble quality goes high */
        ao_radio_reg_write(AO_CC1120_INT_GPIO_IOCFG, CC1120_IOCFG_GPIO_CFG_PQT_REACHED);
index 5a5eaa30ff17437fea26ceb6d04741807deddb45..c766a48c6d24b46d91fb698a6d4bb0d6a309042c 100644 (file)
 #define AO_CC1120_SPI_CS_PORT  (&stm_gpioa)
 #define AO_CC1120_SPI_CS_PIN   0
 #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_PIN      13
 
 #define AO_CC1120_MCU_WAKEUP_PORT      (&stm_gpioc)
 #define AO_CC1120_MCU_WAKEUP_PIN       (0)
index b1a70ea2ed56180ee1922b65a57f67380967aa3a..64da41a915304f618b6aa0547969701d0dcd2b55 100644 (file)
@@ -281,6 +281,7 @@ struct ao_adc {
 #define AO_CC1120_SPI_CS_PORT  (&stm_gpioc)
 #define AO_CC1120_SPI_CS_PIN   5
 #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