add support to attach the devices via HCI TTY to Bluetooth Host
Reference:
drivers/wireless/bluetooth/bt_uart_shim.c
Signed-off-by: chao.an <anchao@xiaomi.com>
Summary:
- This commit adds the following configs
+CONFIG_EXAMPLES_IPERF=y
+CONFIG_EXAMPLES_IPERFTEST_DEVNAME="eth0"
+CONFIG_NET_ETH_PKTSIZE=1514
Impact:
- lm3s6965-ek:discover only
Testing:
- Tested with qemu
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
interrupts.
This example uses the GPIO driver with the 3 on board LEDs outputs and one input
as an interrupt pin.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
The compiler default varies among the environment.
Especially, the default std version for xcode clang doesn't work
for libcxx.
This commit just ensures to use the consistent std version
among compilers. we can come up with a more sophisticated way
to control the version later if desiable.
clang/macOS (from xcode):
spacetanuki% c++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 199711L
spacetanuki% c++ --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
spacetanuki%
clang/macOS (from homebrew):
spacetanuki% /usr/local/Cellar/llvm/11.0.0/bin/clang++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 201402L
spacetanuki% /usr/local/Cellar/llvm/11.0.0/bin/clang++ --version
clang version 11.0.0
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /usr/local/Cellar/llvm/11.0.0/bin
spacetanuki%
gcc/ubuntu:
root@477d94753e9b:/# c++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 201402L
root@477d94753e9b:/# c++ --version
c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
root@477d94753e9b:/#
* For C, wchar_t is provided by the OS. On NuttX, it's uint16_t.
(Except wide character literals, which uses the compiler
built-in knowledge of wchar_t.)
* For C++, wchar_t is a built-in type. It's provided by the compiler.
* The compilers built-in wchar depends on the compiler configuration.
For the sim, the compilers are usually configured with wchar_t == int,
which is 32-bit.
* wchar_t should be compatible between C and C++.
This commit fixes the mismatches by telling the compiler to use
16-bit wchar_t.
An alternative is to make NuttX use 32-bit wchar_t if the compiler
is configured with 32-bit wchar_t. It can increase the runtime
footprint. While it might be ok for the sim, it might be a problem
for real devices.
An empty extension for sed -i is not widely available.
* Where it isn't available (eg. macOS's sed) "sed -i -e" will
create a backup file with the "-e" suffix.
* Even GNU sed documentation says it's "not recommended".
This commit deals with it by:
* Replace it with a more appropriate tool (kconfig-tweak)
* Or, specify the extension (.bak)
Summary:
- This commit updates how to build the u-boot
- Also adds tftpboot
Impact:
- No impact
Testing:
- Tested with sabre-6quad board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Modify the default configuration in KConfig.
Sync latest commit from mainline.
Remove unused demo configuration
fixup bl602 nsh defconfig cause CICD failed
Rebase from mainline code
Summary:
- This commit replaces SHES related headers under stm32f4discovery
Impact:
- No impact
Testing:
- Build check only
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit replaces SHES related headers under cxd56xx
Impact:
- No impact
Testing:
- Build check only
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This reverts commit e70bff723b.
* These warnings sometimes find real bugs. There are ways to disable
the specific warnings for the specific code (eg. libcxx) selectively.
* It doesn't make much sense to disable these warnings only on sim.
There are many boards with -Wall -Wshadow. Because the sim is
mainly for development and testing, it should be less forgiving
than real boards.
Summary:
- This commit adds imx_enet driver derived from imxrt_enet
Impact:
- imx6 only
Testing:
- Tested with sabre-6quad:netnsh
- NOTE: telnetd works with QEMU
these macro doesn't need anymore with commit:
commit d32e9c38df
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Sat Jul 11 18:37:40 2020 +0800
boards: Move the C/C++ search path to the common place
so all boards support uClibc++/libc++ automatically
Summary:
- This commit adds adb configuration
Impact:
- stm32f4discovery:adb only
Testing:
- Tested with adb client on ubuntu18.04 x86_64
- adb shell works but still unstable
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary
- This commit fixes interrupt handling for SMP
- The following are the changes
- Introduce up_copyfullstate.c
- Add enter_critical_section() to up_exit()
- Add a critical section to up_schedule_sigaction()
- Introduce pseudo timer thread to send periodic events
- UART and interval timer are now handled in the pause handler
- Apply the same SMP related code as other CPU architectures
- However, signal handling and context switching are not changed
- Also enable debug features and some tools in smp/defconfig
Imact
- SMP only
Testing
- Tested with sim:smp on ubuntu18.04 x86_64
- Tested with hello, taskset, smp, ostest
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
The following nxstyle errrors are intentionally left.
They are a part of a large table, which is not trivial to fix.
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:43:87: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:44:86: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:45:87: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:46:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:47:89: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:48:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:49:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:50:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:51:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:52:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:53:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:54:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:55:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:56:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:57:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:58:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:59:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:60:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:61:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:62:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:63:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:64:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:65:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:66:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:67:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:68:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:69:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:70:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:71:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:72:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:73:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:74:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:75:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:76:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:77:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:78:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:79:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:80:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:81:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:82:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:83:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:84:84: error: Long line found
The following nxstyle error was intentionally left.
(a URL in a comment)
boards/arm/stm32l4/nucleo-l452re/src/stm32_adc.c:79:93: error: Long line found
The following nxstyle errors are intentionally left.
* A table, not trivial to fix:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:142:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:143:95: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:144:88: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:145:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:146:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:147:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:148:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:149:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:150:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:151:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:152:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:153:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:154:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:155:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:156:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:157:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:158:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:159:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:160:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:161:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:162:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:163:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:164:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:165:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:166:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:167:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:168:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:169:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:170:119: error: Long line found
* Identifiers like ASCII_a:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:397:35: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:651:16: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:660:38: error: Mixed case identifier found
Summary:
- Remove comments on up_idle() which is old information
- Add L2CC info with QEMU
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit adds L2CC to smp/defconfig
- Also adds CLOCK_MONOTONIC
Impact:
- sabre-6quad:smp only
Testing:
- Tested with both QEMU and dev board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit adds L2CC to nsh/defconfig
- Also adds EXAMPLES_HELLO, TESTING_GETPRIME and TESTING_OSTEST
Impact:
- sabre-6quad:nsh only
Testing:
- Tested with both QEMU and dev board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This change improves upon current support for pin interrupts. Before,
a pin interrupt was handled (with nrf52_gpiote_setevent) using one
of the eight available GPIOTE channels. Moreover, it didn't event let
the user specify which channel to use (simply tried to get a free one).
Also, it was buggy since it did not consider unsetting the callback.
Besides GPIOTE channels, there is another way to deal with pin interrupts.
The GPIO peripheral is capable of generating a PORT event
(for the whole GPIO port) depending on the pin SENSE configuration
(HIGH or LOW, or NONE) and GPIO DETECTMODE register
(latching or non-latching).
This change then renames nrf52_gpiote_setevent into nrf52_gpiote_set_ch_event,
maintaining functionality of original function, but now allows specifying
channel (and correctly handles unsetting the callback). Then, a
new nrf52_gpiote_set_pin_event is added, which allows to set a callback
for a given pin. During initialization, interrupt for the PORT event is
enabled and handled in such way that for each pin whose corresponding
bit in LATCH register (indicates the result of pin SENSEing) the
callback for this pin will be invoked. This mechanism means that
every pin can get an ISR. It also avoids using GPIOTE channels for this
purpose which carry higher current consumption.
This new per-pin callback mechanism has some added memory requirement
so it can be disabled and its default is dependant on DEFAULT_SMALL.
When disabled, a callback for the PORT event can be set directly
with nrf52_gpiote_set_port_event
There was only one use of nrf52_gpio_setevent() which was migrated
into nrf52_gpio_set_ch_event() passing channel zero.