diff options
-rw-r--r-- | apps/ChangeLog.txt | 2 | ||||
-rw-r--r-- | apps/examples/README.txt | 4 | ||||
-rw-r--r-- | apps/examples/buttons/Kconfig | 52 | ||||
-rw-r--r-- | nuttx/ChangeLog | 2 | ||||
-rw-r--r-- | nuttx/configs/fire-stm32v2/src/up_w25.c | 12 | ||||
-rw-r--r-- | nuttx/configs/shenzhou/src/up_ili93xx.c | 2 | ||||
-rw-r--r-- | nuttx/configs/shenzhou/src/up_w25.c | 12 | ||||
-rw-r--r-- | nuttx/drivers/mtd/w25.c | 21 | ||||
-rw-r--r-- | nuttx/fs/nxffs/Kconfig | 16 |
9 files changed, 84 insertions, 39 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt index 397ccdac4..bf2a85a9b 100644 --- a/apps/ChangeLog.txt +++ b/apps/ChangeLog.txt @@ -362,3 +362,5 @@ of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*. * Kconfig: Fleshed out apps/examples/adc/Kconfig and apps/examples/wget/Kconfig. There are still a LOT of empty, stub Kconfig files. + * Kconfig: Fleshed out apps/examples/buttons/Kconfig. There are still a LOT + of empty, stub Kconfig files. diff --git a/apps/examples/README.txt b/apps/examples/README.txt index 7ef51025f..763427e32 100644 --- a/apps/examples/README.txt +++ b/apps/examples/README.txt @@ -60,11 +60,11 @@ examples/buttons This is a simple configuration that may be used to test the board- specific button interfaces. Configuration options: - CONFIG_ARCH_BUTTONS - Must be defined for button support + CONFIG_ARCH_BUTTONS - Must be defined for button support CONFIG_EXAMPLES_BUTTONS_MIN - Lowest button number (MIN=0) CONFIG_EXAMPLES_BUTTONS_MAX - Highest button number (MAX=7) - CONFIG_ARCH_IRQBUTTONS - Must be defined for interrupting button support + CONFIG_ARCH_IRQBUTTONS - Must be defined for interrupting button support CONFIG_EXAMPLES_IRQBUTTONS_MIN - Lowest interrupting button number (MIN=0) CONFIG_EXAMPLES_IRQBUTTONS_MAX - Highest interrupting button number (MAX=7) diff --git a/apps/examples/buttons/Kconfig b/apps/examples/buttons/Kconfig index 9c34b37bc..d145867fc 100644 --- a/apps/examples/buttons/Kconfig +++ b/apps/examples/buttons/Kconfig @@ -7,7 +7,57 @@ config EXAMPLES_BUTTONS bool "Buttons example" default n ---help--- - Enable the buttons example + Enable the buttons example. May require ARCH_BUTTONS on some boards. if EXAMPLES_BUTTONS +config EXAMPLES_BUTTONS_MIN +int "Lowest Button Number" +default 0 + +config EXAMPLES_BUTTONS_MAX +int "Highest Button Number" +default 7 + +if ARCH_IRQBUTTONS +config EXAMPLES_IRQBUTTONS_MIN +int "Lowest Interrupting Button Number" +default 0 + +config EXAMPLES_IRQBUTTONS_MAX +int "Highest Interrupting Button Number" +default 7 + +config EXAMPLES_BUTTONS_NAME0 +string "Button 0 Name" +default "Button 0" + +config EXAMPLES_BUTTONS_NAME1 +string "Button 1 Name" +default "Button 1" + +config EXAMPLES_BUTTONS_NAME2 +string "Button 2 Name" +default "Button 2" + +config EXAMPLES_BUTTONS_NAME3 +string "Button 3 Name" +default "Button 3" + +config EXAMPLES_BUTTONS_NAME4 +string "Button 4 Name" +default "Button 4" + +config EXAMPLES_BUTTONS_NAME5 +string "Button 5 Name" +default "Button 5" + +config EXAMPLES_BUTTONS_NAME6 +string "Button 6 Name" +default "Button 6" + +config EXAMPLES_BUTTONS_NAME7 +string "Button 7 Name" +default "Button 7" + +endif endif diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index eb85a8e7c..257119a35 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3463,3 +3463,5 @@ by the STM32 watchdog driver. * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*. + * drivers/mtd/w25.c and configs/*/src/up_w25.c: Several fixes for the + W25 SPI FLASH. diff --git a/nuttx/configs/fire-stm32v2/src/up_w25.c b/nuttx/configs/fire-stm32v2/src/up_w25.c index a3460a158..e78b50ed2 100644 --- a/nuttx/configs/fire-stm32v2/src/up_w25.c +++ b/nuttx/configs/fire-stm32v2/src/up_w25.c @@ -96,23 +96,23 @@ int stm32_w25initialize(int minor) #ifdef HAVE_W25 FAR struct spi_dev_s *spi; FAR struct mtd_dev_s *mtd; -#ifndef CONFIG_FS_NXFFS - uint8_t devname[12]; +#ifdef CONFIG_FS_NXFFS + char devname[12]; #endif int ret; /* Get the SPI port */ - spi = up_spiinitialize(2); + spi = up_spiinitialize(1); if (!spi) { fdbg("ERROR: Failed to initialize SPI port 2\n"); return -ENODEV; } - /* Now bind the SPI interface to the SST 25 SPI FLASH driver */ + /* Now bind the SPI interface to the W25 SPI FLASH driver */ - mtd = sst25_initialize(spi); + mtd = w25_initialize(spi); if (!mtd) { fdbg("ERROR: Failed to bind SPI port 2 to the SST 25 FLASH driver\n"); @@ -140,7 +140,7 @@ int stm32_w25initialize(int minor) /* Mount the file system at /mnt/w25 */ - snprintf(devname, 12, "/mnt/w25%c", a + minor); + snprintf(devname, 12, "/mnt/w25%c", 'a' + minor); ret = mount(NULL, devname, "nxffs", 0, NULL); if (ret < 0) { diff --git a/nuttx/configs/shenzhou/src/up_ili93xx.c b/nuttx/configs/shenzhou/src/up_ili93xx.c index d3e2291da..a89e20d02 100644 --- a/nuttx/configs/shenzhou/src/up_ili93xx.c +++ b/nuttx/configs/shenzhou/src/up_ili93xx.c @@ -805,7 +805,7 @@ static uint16_t stm32_readnoshift(FAR struct stm32_dev_s *priv, FAR uint16_t *ac static void stm32_setcursor(FAR struct stm32_dev_s *priv, uint16_t col, uint16_t row) { - if (priv->type = LCD_TYPE_ILI9919) + if (priv->type == LCD_TYPE_ILI9919) { stm32_writereg(priv, LCD_REG_78, col); /* GRAM horizontal address */ stm32_writereg(priv, LCD_REG_79, row); /* GRAM vertical address */ diff --git a/nuttx/configs/shenzhou/src/up_w25.c b/nuttx/configs/shenzhou/src/up_w25.c index aa547f6fe..01936997f 100644 --- a/nuttx/configs/shenzhou/src/up_w25.c +++ b/nuttx/configs/shenzhou/src/up_w25.c @@ -96,23 +96,23 @@ int stm32_w25initialize(int minor) #ifdef HAVE_W25 FAR struct spi_dev_s *spi; FAR struct mtd_dev_s *mtd; -#ifndef CONFIG_FS_NXFFS - uint8_t devname[12]; +#ifdef CONFIG_FS_NXFFS + char devname[12]; #endif int ret; /* Get the SPI port */ - spi = up_spiinitialize(2); + spi = up_spiinitialize(1); if (!spi) { fdbg("ERROR: Failed to initialize SPI port 2\n"); return -ENODEV; } - /* Now bind the SPI interface to the SST 25 SPI FLASH driver */ + /* Now bind the SPI interface to the W25 SPI FLASH driver */ - mtd = sst25_initialize(spi); + mtd = w25_initialize(spi); if (!mtd) { fdbg("ERROR: Failed to bind SPI port 2 to the SST 25 FLASH driver\n"); @@ -140,7 +140,7 @@ int stm32_w25initialize(int minor) /* Mount the file system at /mnt/w25 */ - snprintf(devname, 12, "/mnt/w25%c", a + minor); + snprintf(devname, 12, "/mnt/w25%c", 'a' + minor); ret = mount(NULL, devname, "nxffs", 0, NULL); if (ret < 0) { diff --git a/nuttx/drivers/mtd/w25.c b/nuttx/drivers/mtd/w25.c index 0d7028fec..bd6680fdf 100644 --- a/nuttx/drivers/mtd/w25.c +++ b/nuttx/drivers/mtd/w25.c @@ -693,7 +693,7 @@ static void w25_pagewrite(struct w25_dev_s *priv, FAR const uint8_t *buffer, uint8_t status; fvdbg("address: %08lx nwords: %d\n", (long)address, (int)nbytes); - DEBUGASSERT(priv && buffer && ((uintptr_t)buffer & 0xff) == 0 && + DEBUGASSERT(priv && buffer && (address & 0xff) == 0 && (nbytes & 0xff) == 0); for (; nbytes > 0; nbytes -= W25_PAGE_SIZE) @@ -955,36 +955,27 @@ static int w25_erase(FAR struct mtd_dev_s *dev, off_t startblock, size_t nblocks static ssize_t w25_bread(FAR struct mtd_dev_s *dev, off_t startblock, size_t nblocks, FAR uint8_t *buffer) { -#ifdef CONFIG_W25_SECTOR512 ssize_t nbytes; fvdbg("startblock: %08lx nblocks: %d\n", (long)startblock, (int)nblocks); /* On this device, we can handle the block read just like the byte-oriented read */ +#ifdef CONFIG_W25_SECTOR512 nbytes = w25_read(dev, startblock << W25_SECTOR512_SHIFT, nblocks << W25_SECTOR512_SHIFT, buffer); if (nbytes > 0) { - return nbytes >> W25_SECTOR512_SHIFT; + nbytes >>= W25_SECTOR512_SHIFT; } - - return (int)nbytes; #else - FAR struct w25_dev_s *priv = (FAR struct w25_dev_s *)dev; - ssize_t nbytes; - - fvdbg("startblock: %08lx nblocks: %d\n", (long)startblock, (int)nblocks); - - /* On this device, we can handle the block read just like the byte-oriented read */ - nbytes = w25_read(dev, startblock << W25_SECTOR_SHIFT, nblocks << W25_SECTOR_SHIFT, buffer); if (nbytes > 0) { - return nbytes >> W25_SECTOR_SHIFT; + nbytes >>= W25_SECTOR_SHIFT; } - - return (int)nbytes; #endif + + return nbytes; } /************************************************************************************ diff --git a/nuttx/fs/nxffs/Kconfig b/nuttx/fs/nxffs/Kconfig index b233e85ea..9f4ef8231 100644 --- a/nuttx/fs/nxffs/Kconfig +++ b/nuttx/fs/nxffs/Kconfig @@ -12,31 +12,31 @@ config FS_NXFFS if FS_NXFFS config NXFFS_ERASEDSTATE - bool "FLASH erased state" - default n + hex "FLASH erased state" + default 0xff ---help--- The erased state of FLASH. This must have one of the values of 0xff or 0x00. Default: 0xff. config NXFFS_PACKTHRESHOLD - bool "Re-packing threshold" - default n + int "Re-packing threshold" + default 32 ---help--- When packing flash file data, don't both with file chunks smaller than this number of data bytes. Default: 32. config NXFFS_MAXNAMLEN - bool "Maximum file name length" - default n + int "Maximum file name length" + default 255 ---help--- The maximum size of an NXFFS file name. Default: 255. config NXFFS_TAILTHRESHOLD - bool "Tail threshold" - default n + int "Tail threshold" + default 8192 ---help--- clean-up can either mean packing files together toward the end of the file or, if file are |