Commit Graph

292 Commits

Author SHA1 Message Date
Gregory Nutt
e597d07d42 stm32f429i-disco: implements lcd initializing
This enables the initializing of the lcd device connected on the
stm32f429i-disco. The following methods are provided:
- up_lcdinitialize
- up_lcduninitialize
- up_lcdgetdev

The corresponding ili9341 lcd device in the nuttx driver section can be
configured by Kconfig. Interface 0 is used by default.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:21:48 -06:00
Gregory Nutt
17af388456 stm32f429i-disco: implements lcd initializing
This enables the initializing of the lcd device connected on the
stm32f429i-disco. The following methods are provided:
- up_lcdinitialize
- up_lcduninitialize
- up_lcdgetdev

The corresponding ili9341 lcd device in the nuttx driver section can be
configured by Kconfig. Interface 0 is used by default.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:21:48 -06:00
Gregory Nutt
f02de7c7ec stm32f429i-disco: implements ili9341 interface
This add a new sub driver ili93414ws which implements the ili9341
interface. This allows to control the ili9341 lcd display of the
stm32f429i-disco board. This also modifies the board specific header to
make the entry point to the sub driver known.

Generally the display supports two different ways to drawing pixel data. This
can be done by RGB interface or MCU interface. Second one is supported by this
driver.

The configuration of the MCU interface is fixed by the hardware pinout.
In the case of the stm32f429i-disco board it is a 4-wire serial (spi)
interface. The display is connected on spi5 and acts as a slave device.
It supports half duplex bidirectional mode for transmitting and receiving data.

Nuttx spi interface only support full duplex so the interface can not be used
for the driver in conventional way. Therefore the driver has its own logic for
the communication with the spi5 device.

But if multiple devices share the same spi5 bus, e.g. if MEMS support enabled
the spi bus must be locked to avoid inconsistency. This is done by enable
CONFIG_STM32_SPI5 in the nuttx configuration. In this case the driver uses the
spi_dev_s instance for the spi5 port to interact with the nuttx spi interface,
e.g. using method SPI_LOCK to lock the bus for the current usage. So it is safe
to share the spi bus. Keep in mind this is a possible workaround.
I would be happy if nuttx spi interface supports different spi modes other
than full duplex only. Are there any plans?

Futhermore the driver supports a few configurable settings:

1. SPI Frequency.

This allows to configure the spi frequency for the communication with the
display. As a result of the spi devices of the stm32f429 only allow fixed
frequency by divider depending on PCLK1, it is not possible to configure each
spi clock we want. A divider of 4, what means ~10Mhz spi clock, gives me the
best results and should be near the upper limit.

2. SPI 16-bit mode.

This allows to setup the spi hardware to 16-bit mode for read or write
operations when receiving or transmitting pixel data from or to the gram of the
display. This is not documented in the ili9341 reference manual but this trick
works just fine because we use only one read or write operation for each pixel,
instead two. This gives a small performance boost.

The driver implements all functions described in the header (see
include/nuttx/lcd/ili9341.h).
Note! Using the backlight function has no effect, because the board
doesn't support controlling of the backlight in the current hardware
layout.

Todo: Add support for dma transfer for writing pixel data to the displays gram.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:17:56 -06:00
Gregory Nutt
b8b9834ae9 stm32f429i-disco: implements ili9341 interface
This add a new sub driver ili93414ws which implements the ili9341
interface. This allows to control the ili9341 lcd display of the
stm32f429i-disco board. This also modifies the board specific header to
make the entry point to the sub driver known.

Generally the display supports two different ways to drawing pixel data. This
can be done by RGB interface or MCU interface. Second one is supported by this
driver.

The configuration of the MCU interface is fixed by the hardware pinout.
In the case of the stm32f429i-disco board it is a 4-wire serial (spi)
interface. The display is connected on spi5 and acts as a slave device.
It supports half duplex bidirectional mode for transmitting and receiving data.

Nuttx spi interface only support full duplex so the interface can not be used
for the driver in conventional way. Therefore the driver has its own logic for
the communication with the spi5 device.

But if multiple devices share the same spi5 bus, e.g. if MEMS support enabled
the spi bus must be locked to avoid inconsistency. This is done by enable
CONFIG_STM32_SPI5 in the nuttx configuration. In this case the driver uses the
spi_dev_s instance for the spi5 port to interact with the nuttx spi interface,
e.g. using method SPI_LOCK to lock the bus for the current usage. So it is safe
to share the spi bus. Keep in mind this is a possible workaround.
I would be happy if nuttx spi interface supports different spi modes other
than full duplex only. Are there any plans?

Futhermore the driver supports a few configurable settings:

1. SPI Frequency.

This allows to configure the spi frequency for the communication with the
display. As a result of the spi devices of the stm32f429 only allow fixed
frequency by divider depending on PCLK1, it is not possible to configure each
spi clock we want. A divider of 4, what means ~10Mhz spi clock, gives me the
best results and should be near the upper limit.

2. SPI 16-bit mode.

This allows to setup the spi hardware to 16-bit mode for read or write
operations when receiving or transmitting pixel data from or to the gram of the
display. This is not documented in the ili9341 reference manual but this trick
works just fine because we use only one read or write operation for each pixel,
instead two. This gives a small performance boost.

The driver implements all functions described in the header (see
include/nuttx/lcd/ili9341.h).
Note! Using the backlight function has no effect, because the board
doesn't support controlling of the backlight in the current hardware
layout.

Todo: Add support for dma transfer for writing pixel data to the displays gram.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:17:56 -06:00
Gregory Nutt
3035f1a88f stm32f429i-disco: Fix obsolete SPI5 dependency. From Marco Krahl 2014-10-20 15:10:50 -06:00
Gregory Nutt
bce6a9e077 stm32f429i-disco: Fix obsolete SPI5 dependency. From Marco Krahl 2014-10-20 15:10:50 -06:00
Gregory Nutt
ca57ef9fac Change naming of HP work queue configuration varaibles to be symmetric with LP work queue naming 2014-10-11 17:03:44 -06:00
Gregory Nutt
c9d7472d68 Change naming of HP work queue configuration varaibles to be symmetric with LP work queue naming 2014-10-11 17:03:44 -06:00
Gregory Nutt
857d0b8e76 Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask() 2014-10-09 06:09:03 -06:00
Gregory Nutt
4efb064169 Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask() 2014-10-09 06:09:03 -06:00
Gregory Nutt
4d851b150d All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 14:28:55 -06:00
Gregory Nutt
f40857c04f All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 14:28:55 -06:00
Gregory Nutt
6a178608fb Remove non-functional vestiges of OTGHS in FS mode (including OTGFS2); try to convert the stm32f429i-disco configuration to use OTGHS instead of OTFHS in FS mode (OTGFS2). But I don't have the boards and can't test 2014-10-07 15:25:31 -06:00
Gregory Nutt
868fa211bc Remove non-functional vestiges of OTGHS in FS mode (including OTGFS2); try to convert the stm32f429i-disco configuration to use OTGHS instead of OTFHS in FS mode (OTGFS2). But I don't have the boards and can't test 2014-10-07 15:25:31 -06:00
Gregory Nutt
4aa785a503 Rename CONFIG_EXAMPLES_NXCONSOLE to CONFIG_EXAMPLES_NXTERM; rename CONFIG_NXWM_NXCONSOLE to CONFIG_NXWM_NXTERM 2014-09-20 14:25:51 -06:00
Gregory Nutt
3d050101eb Rename CONFIG_EXAMPLES_NXCONSOLE to CONFIG_EXAMPLES_NXTERM; rename CONFIG_NXWM_NXCONSOLE to CONFIG_NXWM_NXTERM 2014-09-20 14:25:51 -06:00
Gregory Nutt
e09923cd8e Every defconfig file should now have a valid setting for CONFIG_WDOG_INTRESERVE 2014-09-03 06:55:06 -06:00
Gregory Nutt
9ee4b9e2b1 Every defconfig file should now have a valid setting for CONFIG_WDOG_INTRESERVE 2014-09-03 06:55:06 -06:00
Gregory Nutt
3dd8c08714 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt
23147c40a5 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt
591a9c85d2 Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
f15246ec6c Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported 2014-08-31 10:54:55 -06:00
Gregory Nutt
3c1a70c9dc Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported 2014-08-31 10:54:55 -06:00
Gregory Nutt
1b2a96c965 Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support 2014-08-24 06:42:11 -06:00
Gregory Nutt
1624e2fbcf Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support 2014-08-24 06:42:11 -06:00
Gregory Nutt
49deb059d4 Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK. This gives more options for system timers in general, but more importantly, let's us realize higher resolution for the case of CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new interger overvflow problems 2014-08-07 13:42:47 -06:00
Gregory Nutt
0aa7209765 Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK. This gives more options for system timers in general, but more importantly, let's us realize higher resolution for the case of CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new interger overvflow problems 2014-08-07 13:42:47 -06:00
Gregory Nutt
7edc6a5666 Remove CONFIG_DISABLE_CLOCK 2014-08-07 12:35:24 -06:00
Gregory Nutt
caba61999a Remove CONFIG_DISABLE_CLOCK 2014-08-07 12:35:24 -06:00
Gregory Nutt
cbe4d3573d Rename apps/examples/uip to apps/examples/webserver 2014-07-03 17:31:17 -06:00
Gregory Nutt
44988c6ca6 Rename apps/examples/uip to apps/examples/webserver 2014-07-03 17:31:17 -06:00
Gregory Nutt
285f66a2c1 NET: Rename uiplib/UIPLIB to netlib/NETLIB 2014-07-02 16:04:25 -06:00
Gregory Nutt
0eb1666cb0 NET: Rename uiplib/UIPLIB to netlib/NETLIB 2014-07-02 16:04:25 -06:00
Gregory Nutt
bb5f545173 STM32: Fix STM32F100CB pin configuration (from Kosma Moczek); and make chip naming a little more consistent 2014-05-07 12:54:27 -06:00
Gregory Nutt
6a8a62c0c1 STM32: Fix STM32F100CB pin configuration (from Kosma Moczek); and make chip naming a little more consistent 2014-05-07 12:54:27 -06:00
Gregory Nutt
2dbaed4779 The alternate console device CONFIG_NSH_CONDEV must not be defined unconditionally. This causes errors when using Telnet sessions. This was solved by adding CONFIG_NSH_ALTCONDEV: CONFIG_NSH_ALTCONDEV enables or disables the feature then, if enabled, CONFIG_NSH_CONDEV provides the alternative console device name 2014-05-05 08:52:02 -06:00
Gregory Nutt
f924601fc1 The alternate console device CONFIG_NSH_CONDEV must not be defined unconditionally. This causes errors when using Telnet sessions. This was solved by adding CONFIG_NSH_ALTCONDEV: CONFIG_NSH_ALTCONDEV enables or disables the feature then, if enabled, CONFIG_NSH_CONDEV provides the alternative console device name 2014-05-05 08:52:02 -06:00
Gregory Nutt
51950d7850 Undefine IRQPRIO in all configurations it should not be set 2014-04-16 08:29:39 -06:00
Gregory Nutt
e21212f2b4 Undefine IRQPRIO in all configurations it should not be set 2014-04-16 08:29:39 -06:00
Gregory Nutt
ab5b37189b More trailing whilespace removal 2014-04-13 16:22:22 -06:00
Gregory Nutt
f8024cf409 More trailing whilespace removal 2014-04-13 16:22:22 -06:00
Gregory Nutt
fb4fa33cae Cosmetic changes for coding style; removal of dangling spaces at the end of lines 2014-04-13 13:18:06 -06:00
Gregory Nutt
f7e5953804 Cosmetic changes for coding style; removal of dangling spaces at the end of lines 2014-04-13 13:18:06 -06:00
Gregory Nutt
6cf9895b95 configs/*/defconfig: Increase the number of pre-allocated watchdogs in configurations that use networking or USB 2014-04-09 10:57:56 -06:00
Gregory Nutt
6be62a7ef3 configs/*/defconfig: Increase the number of pre-allocated watchdogs in configurations that use networking or USB 2014-04-09 10:57:56 -06:00
Gregory Nutt
b0c49a71a0 Refresh configuration files 2014-03-06 17:16:46 -06:00
Gregory Nutt
eb132f256c Refresh configuration files 2014-03-06 17:16:46 -06:00
Gregory Nutt
7050b91155 Removed the CONFIG_NUTTX_NEWCONFIG setting from every defconfig file 2014-03-06 12:23:26 -06:00
Gregory Nutt
596bdc73df Removed the CONFIG_NUTTX_NEWCONFIG setting from every defconfig file 2014-03-06 12:23:26 -06:00
Gregory Nutt
5317d78c41 Use common naming for rest of the toolchains too 2014-03-05 16:29:58 -06:00
Gregory Nutt
72164cb176 Use common naming for rest of the toolchains too 2014-03-05 16:29:58 -06:00
Gregory Nutt
dd0a0258d9 configs/stm32f4discovery/pm: Configuration converted to use the kconfig-frontends tools 2014-03-04 08:58:01 -06:00
Gregory Nutt
18f74bade9 configs/stm32f4discovery/pm: Configuration converted to use the kconfig-frontends tools 2014-03-04 08:58:01 -06:00
Gregory Nutt
58eed436e9 Removed almost all ostest configurations 2014-02-28 19:19:11 -06:00
Gregory Nutt
cbcabe3314 Removed almost all ostest configurations 2014-02-28 19:19:11 -06:00
Gregory Nutt
c30769dc64 Remove Ken's personal directory as the default path to the CodeSourcery toolchain 2014-02-28 10:01:01 -06:00
Gregory Nutt
c8bcf4025a Remove Ken's personal directory as the default path to the CodeSourcery toolchain 2014-02-28 10:01:01 -06:00
Gregory Nutt
de80fe2e04 configs/*/defconfig: If CONFIG_NSH_LIBRARY is set, make sure that CONFIG_NSH_READLINE is also set or the configuration will use the CLE the next time it is reconfigured 2014-02-28 07:45:51 -06:00
Gregory Nutt
47ca6ef4d4 configs/*/defconfig: If CONFIG_NSH_LIBRARY is set, make sure that CONFIG_NSH_READLINE is also set or the configuration will use the CLE the next time it is reconfigured 2014-02-28 07:45:51 -06:00
Gregory Nutt
f1ae3f4c76 Comment out all CONFIG_APPS_DIR settings in all defconfig files. We con't know where the apps/ dir will be be until install time 2014-02-21 15:35:53 -06:00
Gregory Nutt
bcaab16d1f Comment out all CONFIG_APPS_DIR settings in all defconfig files. We con't know where the apps/ dir will be be until install time 2014-02-21 15:35:53 -06:00
Gregory Nutt
660fa05897 Refresh a defconfig file; updated a README 2014-02-18 12:33:00 -06:00
Gregory Nutt
26777e9145 Refresh a defconfig file; updated a README 2014-02-18 12:33:00 -06:00
Gregory Nutt
6c35737dbd STM32F429 Discovery: All src/ files renamed to make consistent with current naming conventions 2014-02-18 12:24:21 -06:00
Gregory Nutt
705fc64e95 STM32F429 Discovery: All src/ files renamed to make consistent with current naming conventions 2014-02-18 12:24:21 -06:00
Gregory Nutt
298b061b5c STM32F429 Discovery: Add support for FPU in OS test 2014-02-18 12:04:19 -06:00
Gregory Nutt
0b0340598e STM32F429 Discovery: Add support for FPU in OS test 2014-02-18 12:04:19 -06:00
Gregory Nutt
ff0b4036d4 Remove some garbage files 2014-02-15 16:12:43 -06:00
Gregory Nutt
a998605d9b Remove some garbage files 2014-02-15 16:12:43 -06:00
Gregory Nutt
42a86a9cba rename up_led*() functions to board_led_*() 2014-01-24 14:28:49 -06:00
Gregory Nutt
2f837ccd2a rename up_led*() functions to board_led_*() 2014-01-24 14:28:49 -06:00
Gregory Nutt
f797601f19 Rename up_irqbutton() to board_button_irq() 2014-01-24 14:04:07 -06:00
Gregory Nutt
1d5b2d3d3e Rename up_irqbutton() to board_button_irq() 2014-01-24 14:04:07 -06:00
Gregory Nutt
f4d84ecd7e Rename up_buttons() to board_buttons() 2014-01-24 13:59:24 -06:00
Gregory Nutt
1ac245b9c6 Rename up_buttons() to board_buttons() 2014-01-24 13:59:24 -06:00
Gregory Nutt
e5bfdcf36c Rename up_buttoninit to board_button_intialize 2014-01-24 13:50:23 -06:00
Gregory Nutt
b0c0df84f6 Rename up_buttoninit to board_button_intialize 2014-01-24 13:50:23 -06:00
Gregory Nutt
efbf03ad76 The optimization level can now be selected as part of the configuration 2014-01-24 07:45:35 -06:00
Gregory Nutt
f3f5378acc The optimization level can now be selected as part of the configuration 2014-01-24 07:45:35 -06:00
Gregory Nutt
628839fdf8 Looks like an error all all kernel build linker scripts 2013-12-30 17:57:20 -06:00
Gregory Nutt
91052a1029 Finishes separation of debug symbols and optimization selections 2013-12-20 13:23:42 -06:00
Gregory Nutt
9e416c2363 Looks like an error all all kernel build linker scripts 2013-12-30 17:57:20 -06:00
Gregory Nutt
cbf86ac01f Finishes separation of debug symbols and optimization selections 2013-12-20 13:23:42 -06:00
Gregory Nutt
89b8a312ab STM32F429I-Discovery: Andd procfs MTD partition names 2013-12-12 09:23:54 -06:00
Gregory Nutt
946e927609 STM32F429I-Discovery: Add support for external SST25 FLASH. From Ken Pettit 2013-11-28 08:21:15 -06:00
Gregory Nutt
aec3f58a60 STM32F429I-Discovery: Andd procfs MTD partition names 2013-12-12 09:23:54 -06:00
Gregory Nutt
f171394ba9 STM32F429I-Discovery: Add support for external SST25 FLASH. From Ken Pettit 2013-11-28 08:21:15 -06:00
Gregory Nutt
8ab882f49b STM32F429I-Discovery: Add support for the usbnsh and usbmsc configurations using the OTG HS peripheral in FS mode. From Ken Pettit. 2013-11-10 07:30:34 -06:00
Gregory Nutt
4216e66fc7 STM32F429I-Discovery: Add support for the usbnsh and usbmsc configurations using the OTG HS peripheral in FS mode. From Ken Pettit. 2013-11-10 07:30:34 -06:00
Gregory Nutt
14ca86741c Add support for the STM32F429I-Discovery board from Ken Pettit 2013-11-07 16:55:45 -06:00
Gregory Nutt
55b592faf8 Add support for the STM32F429I-Discovery board from Ken Pettit 2013-11-07 16:55:45 -06:00