nxphlite-v3:Define and use sensor reset pins

Define and use the Sensor reset pins. Added the cide to reset
   the nxphlite-v3 sensors.
This commit is contained in:
David Sidrane
2017-09-29 10:13:51 -04:00
committed by Daniel Agar
parent c66c830909
commit a7422dc9b6
2 changed files with 24 additions and 5 deletions
@@ -228,11 +228,12 @@ __BEGIN_DECLS
#define GPIO_SPI2_EXT (GPIO_LOWDRIVE | GPIO_OUTPUT_ONE | PIN_PORTD | PIN15)
/* SPI device reset signals
* In Inactive state
* In Active state
*/
#define GPIO_GM_nRST (GPIO_LOWDRIVE | GPIO_OUTPUT_ONE | PIN_PORTD | PIN12)
#define GPIO_A_RST (GPIO_LOWDRIVE | GPIO_OUTPUT_ZER0 | PIN_PORTA | PIN25)
/* Init in reset */
#define GPIO_GM_nRST (GPIO_LOWDRIVE | GPIO_OUTPUT_ZER0 | PIN_PORTD | PIN12)
#define GPIO_A_RST (GPIO_LOWDRIVE | GPIO_OUTPUT_ONE | PIN_PORTA | PIN25)
/* Sensor interrupts */
+20 -2
View File
@@ -82,6 +82,25 @@ static const uint32_t spi2selects_gpio[] = PX4_EXTERNAL_BUS_CS_GPIO;
__EXPORT void board_spi_reset(int ms)
{
/* First float the A_MISO line tied to SA0 */
kinetis_pinconfig(PX4_MK_GPIO(PIN_SPI1_SIN, PIN_MODE_ANALOG));
/* Power Down and up */
kinetis_gpiowrite(GPIO_SENSOR_P_EN, true);
up_mdelay(1);
kinetis_gpiowrite(GPIO_SENSOR_P_EN, false);
up_mdelay(1);
/* Set Rests Active */
kinetis_gpiowrite(GPIO_GM_nRST, false);
kinetis_gpiowrite(GPIO_A_RST, true);
up_mdelay(ms);
kinetis_gpiowrite(GPIO_A_RST, false);
kinetis_gpiowrite(GPIO_GM_nRST, true);
kinetis_pinconfig(PIN_SPI1_SIN);
}
@@ -95,9 +114,8 @@ __EXPORT void board_spi_reset(int ms)
void nxphlite_spidev_initialize(void)
{
board_spi_reset(10);
kinetis_pinconfig(GPIO_GM_nRST);
kinetis_pinconfig(GPIO_A_RST);
kinetis_pinconfig(GPIO_EXTI_BARO_INT1);
kinetis_pinconfig(GPIO_P_INT);