diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-12-16 07:48:22 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-12-16 07:48:22 -0600 |
commit | 90801c77197377362032eccb289225c7e16532c1 (patch) | |
tree | 14b9bb230784ca3f8666c35970dff78814379e33 /nuttx/configs/freedom-kl25z | |
parent | 15c6fe6c0ab549ba13f40e052a807e33dacc7ee9 (diff) | |
download | px4-nuttx-90801c77197377362032eccb289225c7e16532c1.tar.gz px4-nuttx-90801c77197377362032eccb289225c7e16532c1.tar.bz2 px4-nuttx-90801c77197377362032eccb289225c7e16532c1.zip |
Freedom-KL25Z: Add board specific code to interface with ADXL345 driver. From Alan Carvalho de Assis
Diffstat (limited to 'nuttx/configs/freedom-kl25z')
-rw-r--r-- | nuttx/configs/freedom-kl25z/include/board.h | 6 | ||||
-rw-r--r-- | nuttx/configs/freedom-kl25z/src/Makefile | 6 | ||||
-rw-r--r-- | nuttx/configs/freedom-kl25z/src/kl_nsh.c | 9 | ||||
-rw-r--r-- | nuttx/configs/freedom-kl25z/src/kl_pwm.c (renamed from nuttx/configs/freedom-kl25z/src/up_pwm.c) | 2 | ||||
-rw-r--r-- | nuttx/configs/freedom-kl25z/src/kl_spi.c | 9 |
5 files changed, 30 insertions, 2 deletions
diff --git a/nuttx/configs/freedom-kl25z/include/board.h b/nuttx/configs/freedom-kl25z/include/board.h index 61ee317b8..1c9b33e1a 100644 --- a/nuttx/configs/freedom-kl25z/include/board.h +++ b/nuttx/configs/freedom-kl25z/include/board.h @@ -211,10 +211,16 @@ #define PIN_SPI1_MOSI (PIN_SPI0_MOSI_7 | PIN_ALT2_PULLUP) /* These pins are used by CC3000 module */ + #define GPIO_WIFI_EN (GPIO_OUTPUT | GPIO_OUTPUT_ZER0 | PIN_PORTC | PIN12) #define GPIO_WIFI_IRQ (GPIO_INPUT | PIN_PORTA | PIN16) #define GPIO_WIFI_CS (GPIO_OUTPUT | GPIO_OUTPUT_ONE | PIN_PORTE | PIN1) +/* Interrupt pin used by ADXL345 */ + +#define GPIO_ADXL345_INT1 (GPIO_INPUT | PIN_PORTA | PIN_INT_RISING | PIN4) +#define GPIO_ADXL345_CS (GPIO_OUTPUT | GPIO_OUTPUT_ONE | PIN_PORTD | PIN0) + /************************************************************************************ * Public Data ************************************************************************************/ diff --git a/nuttx/configs/freedom-kl25z/src/Makefile b/nuttx/configs/freedom-kl25z/src/Makefile index 6592a86e7..f9fffab87 100644 --- a/nuttx/configs/freedom-kl25z/src/Makefile +++ b/nuttx/configs/freedom-kl25z/src/Makefile @@ -71,7 +71,7 @@ CSRCS += kl_usb.c endif ifeq ($(CONFIG_PWM),y) -CSRCS += up_pwm.c +CSRCS += kl_pwm.c endif ifeq ($(CONFIG_QENCODER),y) @@ -86,6 +86,10 @@ ifeq ($(CONFIG_NSH_LIBRARY),y) CSRCS += kl_nsh.c endif +ifeq ($(CONFIG_INPUT_ADXL345),y) +CSRCS += kl_adxl345.c +endif + COBJS = $(CSRCS:.c=$(OBJEXT)) SRCS = $(ASRCS) $(CSRCS) diff --git a/nuttx/configs/freedom-kl25z/src/kl_nsh.c b/nuttx/configs/freedom-kl25z/src/kl_nsh.c index c5476f55c..f17f52307 100644 --- a/nuttx/configs/freedom-kl25z/src/kl_nsh.c +++ b/nuttx/configs/freedom-kl25z/src/kl_nsh.c @@ -70,6 +70,15 @@ int nsh_archinitialize(void) { +#if defined(CONFIG_INPUT_ADXL345) + int ret; + + ret = adxl345_archinitialize(0); + if (ret < 0) + { + dbg("ERROR: adxl345_archinitialize failed: %d\n", ret); + } +#endif return OK; } diff --git a/nuttx/configs/freedom-kl25z/src/up_pwm.c b/nuttx/configs/freedom-kl25z/src/kl_pwm.c index ffe908901..1fbb07c32 100644 --- a/nuttx/configs/freedom-kl25z/src/up_pwm.c +++ b/nuttx/configs/freedom-kl25z/src/kl_pwm.c @@ -1,5 +1,5 @@ /************************************************************************************ - * configs/freedom-kl25z/src/up_pwm.c + * configs/freedom-kl25z/src/kl_pwm.c * * Copyright (C) 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> diff --git a/nuttx/configs/freedom-kl25z/src/kl_spi.c b/nuttx/configs/freedom-kl25z/src/kl_spi.c index 9d7a194a5..35d598988 100644 --- a/nuttx/configs/freedom-kl25z/src/kl_spi.c +++ b/nuttx/configs/freedom-kl25z/src/kl_spi.c @@ -94,6 +94,7 @@ void weak_function kl_spiinitialize(void) /* Configure SPI0 chip selects */ #ifdef CONFIG_KL_SPI0 + kl_configgpio(GPIO_ADXL345_CS); #endif /* Configure SPI1 chip selects */ @@ -161,6 +162,14 @@ void kl_spi0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, { spivdbg("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert"); + + if (devid == SPIDEV_GSENSOR) + { + /* Active low */ + + kl_gpiowrite(GPIO_ADXL345_CS, !selected); + } + } #endif |