Commit Graph

1932 Commits

Author SHA1 Message Date
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
Xiang Xiao
e1202d2ed3 Replace all ASSERT with DEBUGASSERT to save the code space 2018-08-24 06:58:30 -06:00
Xiang Xiao
467d2a58ea Replace non critical PANIC with DEBUGPANIC to save the code space 2018-08-24 06:21:15 -06:00
Juha Niskanen
c90ee015e4 arch/arm/src/stm32, stm32f7, stm32l4: Make STM32F4XX RTC depend on CONFIG_STM32_RTC, cosmetic changes to comments 2018-08-16 08:05:24 -06:00
Juha Niskanen
abf251f2a9 arch/arm/src/stm32/stm32_adc.c: Allow multiple channels without DMA on STM32L15XX 2018-08-16 08:03:25 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
5433c9f6d1 Revert "arch/arm/src/stm32, stm32f7, stm32l4 Kconfig files: The option to select the STM32 RTC should not be available if the external RTC option is selected."
While this is a good idea and a proper thing to do, it also creates a circular dependency and errors during configuration.  RTC depends on STM32_RTC which depends on RTC_EXTERNAL with depends on RTC.  No can do.

This reverts commit 714e8c1f9e.
2018-08-08 12:51:40 -06:00
Gregory Nutt
714e8c1f9e arch/arm/src/stm32, stm32f7, stm32l4 Kconfig files: The option to select the STM32 RTC should not be available if the external RTC option is selected. 2018-08-08 12:49:01 -06:00
Gregory Nutt
8d68d9ca43 arch/arm/src/stm32, stm32f7, stm32l4, and related defconfig files: The STM32 RTC driver was being selected by the global CONFIG_RTC option. That is in correct. For example, if you want to disabled the STM32 RTC and use an external RTC you cannot because the external RTC also depends on the global CONFIG_RTC. The solution is to add a new CONFIG_STM32xx_RTC configuration option the permits to you select or deselect the STM32 RTC but still be able to selecte the external RTC. 2018-08-08 12:42:04 -06:00
Gregory Nutt
4e5cf1229c drivers/mmcsd/Kconfig: three configuration settings were within ifdef/endif and led to warning: xxx selects xxxx which has unmet direct dependencies. Fix by moving settings to drivers/Kconfig and outside of the ifdef-endif. Also renamed CONFIG_SDIO_PREFLIGHT to CONFIG_ARCH_HAVE_SDIO_PREFLIGHT to follow naming of similar hidden architecture capability configurations. 2018-08-05 17:58:17 -06:00
Gregory Nutt
10069067c1 include/nuttx/i2c/i2c_master.h: Rename I2C_M_NORESTART to I2C_M_NOSTART since it may be used in other contexts than a repeated start. Add comments to clarilfy setup for repeated start. 2018-08-03 08:51:55 -06:00
Gregory Nutt
41666dafa8 drivers/usbhost/usbhost_max3421e.c: Fix an error in reading the pending interrupts. Aos fix a number of typos and update a README. 2018-07-29 15:06:44 -06:00
Gregory Nutt
871bface28 arch/arm/src/stm32: Use of inline function for I/O compensation causes too many issues. No just a plain callable function. 2018-07-16 09:05:53 -06:00
Gregory Nutt
c1a2c55764 arch/arm/src/stm32/stm32_gpio.h: Correct a recently introduced compilation error: Not all STM32s have chip/stm32_syscfg.h 2018-07-16 08:43:28 -06:00
Gregory Nutt
f09f186375 arch/arm/src/stm32f7: Port Bob Feritich's change (2c699d7812) to STM32 F2 and F4 which appear to have identical SD support and I/O compensation requirements. 2018-07-15 17:46:58 -06:00
Gregory Nutt
a74246d14e Squashed commit of the following:
Update some comments
    drivers/usbhost/usbhost_max3421e.c:  Fix issue with uninitialized data.
2018-07-14 13:40:13 -06:00
Gregory Nutt
38073a523a drivers/usbhost/husbhost_max3421e.c: Corret how VBUS power is controlled. 2018-07-14 08:50:08 -06:00
Gregory Nutt
859d032938 This commit adds support for the MAX3421E to the viewtool-stm32107 board support
Squashed commit of the following:

    configs/viewtool-stm32f107:  Clean up some compilation errors.  Now all builds correctly and is ready for test.

    arch/arm/src/stm32:  Do not condition building STM32 USB host logic on CONFIG_USBHOST.  That then precludes building STM32 platforms with external USB host chips like the MAX3421E.  Add an new, STM32-internal variable CONFIG_STM32_USBHOST that does the same job without such side-effects.

    configs/viewtool-stm32f107:  Add support for MAX3421E USB host.
2018-07-13 10:45:08 -06:00
David Sidrane
fbe5f56dd5 Merged in david_s5/nuttx/master_singlewire (pull request #679)
Added Single Wire Kconfig knob

* stm32f0:Added Kconfig knob for STM32F0_USART_SINGLEWIRE

* stm32f7:Added Kconfig knob for STM32F7_USART_SINGLEWIRE

* stm32l4:Corrected comment in Kconfig STM32L4_USART_SINGLEWIRE

* stm32:Added Kconfig knob for STM32_USART_SINGLEWIRE

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-12 19:30:43 +00:00
Gregory Nutt
f3c12215cf arch/arm/src/stm32, stm32f0, stm32f7, stm32: Correct naming of global variables that violations the naming requirements of the coding standard. 2018-07-12 10:54:51 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Mateusz Szafoni
8416d9a966 Merged in raiden00/nuttx (pull request #668)
Master

* libdsp: initial commit

* libdsp: cosmetics

* stm32f334-disco/buckboost: use a PID controller from libdsp

* stm32_adc.h: fix typo

* stm32_dac.c: set OUTEN bit for DAC1CH2 and DAC2CH1

* stm32_hrtim: cosmetic changes

* power/motor: direction parameter is now int8 + add overload fault

* libdsp: all floats with f-sufix

    libdsp: add precision option for library

    libdsp: add debug option for library and assertions in functions

    libdsp: add current samples correction for SVM3

    libds: add some motor control specific functions

    libdsp: add basic speed observer

    libdsp: fix phase shift in SMO observer

    libdsp: add more logic to FOC

    config/sim/dsptest: add dsptest configuration

* libdsp/lib_motor.c: remove unused comparation

* libdsp/lib_observer.c: update some comments

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-07 17:04:57 +00:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Gregory Nutt
576b8b1841 stm32, stm32f0, stm32f7, stm32h7, stm32l4: Fix another duplicated configuration variable name: CONFIG_SERIAL_DISABLE_REORDERING. 2018-06-30 09:43:51 -06:00
Gregory Nutt
f159f1089a tools/refresh.sh: Add a --prompt option that will let you use --silent but will prompt before overwriting the original defconfig. arch/arm/src/stm32/Kconfig: Fix a HRTIM configuration error found in build testing. 2018-06-28 17:12:30 -06:00
Gregory Nutt
f24f523e4e arch/arm/src/imxrt,stm32,stm32f0,stm32f7,stm32l4: Fix scope of naming. CONFIG_PM_SERIAL_ACTIVITY->CONFIG_STM32_PM_SERIAL_ACTIVITY, for example. 2018-06-28 16:18:15 -06:00
Gregory Nutt
ceaafc2019 arch/arm/src/stm32: Fix scope of naming. CONFIG_RTC_LSECLOCK->CONFIG_STM32_RTC_LSECLOCK, for example. Fix some usage. Although CONFIG_STM32L4_RTC_xxxCLOCK was defined in the Kconfig, CONFIG_RTX_xxxCLOCK was used in numerous places in the code 2018-06-28 15:58:08 -06:00
Gregory Nutt
500d2c2289 arch/arm/src/lpc11,lpc17,lpc43,stm32,stm32l4: Fix scope of naming. CONFIG_CAN_TSEG1->CONFIG_LPC17_CAN_TSEG, for example. 2018-06-28 15:44:42 -06:00
Gregory Nutt
45cdc3a3d0 arch/arm/src/lpc11,lpc17,stm32,stm32l4: Fix scopy of nameing. CONFIG_CANx_BAUD->CONFIG_LPC17_CANx_BAUD, for example. 2018-06-28 14:47:14 -06:00
Gregory Nutt
7dec38b18f drivers/Kconfig: Global configuration variable CONFIG_FB_TRANSPARENCY is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32, stm32f7, and same5: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:31:51 -06:00
Gregory Nutt
ba53219821 drivers/Kconfig: Global configuration variable CONFIG_FB_CMAP is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32 and stm32f7: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:01:55 -06:00
Gregory Nutt
5d6e6d66e2 Fix another improperly qualified configuration varaible: CONFIG_HRTIM -> CONFIG_STM32_HRTIM. This is necessary to avoid conflict and confusion with other Kconfig files that may have the save variable definition. 2018-06-28 11:37:29 -06:00
Juha Niskanen
044d538da3 Fix some errors found during upstream merge 2018-06-28 07:06:57 -06:00
Gregory Nutt
691470c1cd arch/arm/src/stm32,stm32l4,stm32f7: Fix duplicated configuration options. All should be unique. 2018-06-27 10:20:14 -06:00
Juha Niskanen
c1518ecd26 arch/arm/src/stm32f7: Port input capture from stm32 2018-06-21 05:58:31 -06:00
Gregory Nutt
8bd9cfe038 Squashed commit of the following:
arch/arm:  Remove support for CONFIG_ARMV7M_CMNVECTOR.  It is now the only vector support available.  Also remove CONFIG_HAVE_CMNVECTOR.  That no longer signifies anything."
    arch/arm/src/stm32:  This commit removes support for the dedicated vector handling from the STM32 architecture support. Only common vectors are now supported.
2018-06-20 12:30:37 -06:00
Gregory Nutt
8fdbb1e0a4 Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
Squashed commit of the following:

    sched:  Rename all use of system_t to clock_t.
    syscall:  Rename all use of system_t to clock_t.
    net:  Rename all use of system_t to clock_t.
    libs:  Rename all use of system_t to clock_t.
    fs:  Rename all use of system_t to clock_t.
    drivers:  Rename all use of system_t to clock_t.
    arch:  Rename all use of system_t to clock_t.
    include:  Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Gregory Nutt
a4496f036c arch/arm/src/stm32 and stm32f7: Make LTDC and DMA2D drivers as similar as possible. Basically they should only differ in the configuratin naming: CONFIG_STM32F7_ vs CONFIG_STM32_. I suspect that the STM32F7 may also require some cache operations with the WRITE_BACK data cache is enabled. 2018-06-15 15:10:19 -06:00
Gregory Nutt
6dcce0430c This change ports in Marco Krahl's STM32F4 framebuffer overlays for the LTDC and DMA2D into the STM32F7. That driver was same as the STM32F4 driver. I am unable to verify the update because I do not have the STM32F76x hardware. So this commit very likely breaks the LTDC/DMA2D. However, it was probably not left in a functional state anyway so I do not think that there is any loss.
Squashed commit of the following:

    arch/arm/src/stm32f7:  Some minor changes for clean compilation of LTDC.
    arch/arm/src/stm32f7:  Add overly support for LTDC driver header file.
    arch/arm/src/stm32f7:  Add overly support for LTDC driver file.
    arch/arm/src/stm32f7:  Add overly support for DMA2D driver header file.
    arch/arm/src/stm32f7:  Finishes overly support for DMA2D driver.
    arch/arm/src/stm32f7:  Partial overly support in DMA2D driver (a lot more to be donw)
    arch/arm/src/stm32f7/chip:  Clone overlay DMA2D register definitions from F4
    arch/arm/src/stm32f7:  Clone overlay configuration from stm32 F4
2018-06-15 13:13:12 -06:00
Marco Krahl
084a90b468 Merged in MarcoKrahl/nuttx/ltdc (pull request #654)
LTDC fixes

* stm32_ltdc: Allows to use ltdc without overlay support

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32: Removes overlay dependency when LTDC is enabled

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32: Allows to configure initial chromakey for LTDC layer

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_ltdc: Fixes another compiler warning when dma2d is disabled

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_ltdc: Checks for register reload is done before continued

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Fixes eliminated register control by compiler optimization

    When reading 1 byte from the SPI device the clock must be enabled and
    immediately disabled. This section has been optimized by the compiler (-O2) to a
    missing active spi clock. A subsequently block read failed because of missing
    response from the spi device. This has been lead to a broken display
    initializing.

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-06-08 13:24:57 +00:00
Marco Krahl
5b96a26c1b Merged in MarcoKrahl/nuttx (pull request #653)
Fixes compiler errors when using LTDC and DMA2D

* stm32: ltdc and dma2d are are depends on FB_OVERLAY support

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_dma2d.h: Makes interface available when FB_OVERLAY is enabled

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_ltdc: Fixes compiler error when blit support is disabled

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Updates lvgl board example

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Updates nxwm board example

    Still nxwm_main is missing.

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-06-06 21:17:57 +00:00
Gregory Nutt
c2755517a9 arch/arm/src/smt32: Kconfig: Select CONFIG_FB_OVERLAY if DMA2D is enabled. Fix some compile issues in stm32_ltdc.c when CONFIG_FB_OVERLAY_BLIT is not enabled. 2018-06-06 13:07:20 -06:00
Marco Krahl
af9bf8d721 Merged in MarcoKrahl/nuttx/ltdc (pull request #652)
ports stm32 ltdc and stm32 dma2d to framebuffer interface

* stm32: Removes current dma2d and ltdc implementation for replacement

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Removes obsolete functions call

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_dma2d: Adds pixel format and transparency definitions

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_dma2d: Adds interface definition

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_dma2d: Reimplements dma2d driver

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_ltdc: Adds interface definition

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32_ltdc: Reimplements ltdc driver

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32: Updates LTDC and DMA2D Kconfig definitions

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Fix compile error when ldc debug is enabled

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Adds helper script for frambuffer and heap2 calculation

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Update README for framebuffer configuration

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

* stm32f429i-disco: Update board configuration of framebuffer example

    Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-06-06 16:05:05 +00:00
Juha Niskanen
e0aa6ed48c arch/arm/src: Change ASSERT macros to DEBUGASSERT. 2018-06-06 06:34:14 -06:00
Gregory Nutt
88cf9f1d3f arch/arm/src/stm32/stm32f10xxf30xx_flash.c: Trivial simplification. 2018-06-05 13:21:52 -06:00
Gregory Nutt
6fd4caf00f Implemente support for STM32 F1 banked FLASH
Squashed commit of the following:

    arch/arm/src/stm32/stm32f10xxf30xx_flash.c:  Re-implemented Dmitriy Linikov's change to support multi-banked FLASH on the STM32 F1 parts AFTER separating the FLASH support by architecture and implementing more standard base+offset register addressing.  Now the change goes in rather cleanly.
    arch/arm/src/stm32/stm32f10xxf30xx_flash.c:  Use base + offset address to simplify implementation of dual bank flash.
2018-06-05 12:50:55 -06:00
Gregory Nutt
1f2e7f4b52 arch/arm/src/stm32: CONFIG_STM32_FLASH_WORKAROUND_DATA_CACHE_CORRUPTION_ON_RWW option applies only to F2 and F4. 2018-06-05 10:20:50 -06:00
Gregory Nutt
1a03201600 STM32 FLASH logic has reached a limit in complexity and, hence, needs to be divided into multiple C files of lower complexity.
Squashed commit of the following:

    arch/arm/src/stm32/stm32f10xxf30xx_flash.c:  Be consistent in file naming.
    arch/arm/src/stm32l10xxf30xxx_flash.c:  Separate STM32F10xx and STM32F30xx FLASH logic into a separate file.
    arch/arm/src/stm32l20xx40xxx_flash.c:  Separate STM32F20xx and STM32F40xxFLASH logic into a separate file.
    arch/arm/src/stm32l15xx_flash.c:  Separate STM32L15xx FLASH logic into a separate file.
2018-06-05 09:46:18 -06:00
Dmitriy Linikov
6cb4854503 arch/arm/src/stm32/chip/stm32_flash.h: Add register definitions for F1 parts that have dual banked FLASH. 2018-06-05 08:49:17 -06:00
Dmitriy Linikov
a7b2d7104a arch/arm/src/stm32: Added progmem interface support for STM32F20XX 2018-06-05 07:36:49 -06:00