This commit implements the loopback mode for the i2schar example
application. This mode - available only when both RX and TX are
enabled - allows the user to test the I2S buses when the TX pin is
connected to the RX pin. This is done by pre-filling a buffer with
known data (additionally, it checks the peripheral's data width to
format the data in the buffer accordingly) and passing it for both
the transmitter and the receiver threads. This buffer is written to
the TX and the received buffer is compared to the known buffer.
Signed-off-by: Tiago Medicci <tiago.medicci@espressif.com>
Following steps led to incorrect behavior:
- upload update image
- restart device and perform the update
- upload the same update image again without confirming
This led to the unwanted confirm of the update image. This change
ensures the update image is not confirmed by uploading the same
image to the update slot. The correct behavior is to perform revert
to the last stable image if this occurs.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Although I personally prefer the former, at least one reviewer
preferred the latter. I coundn't find project-wide preferences.
Anyway, this is not important for me.
Signed-off-by: YAMAMOTO Takashi <yamamoto@midokura.com>
while this is not a goal for this repository,
it's convenient for me (hopefully for some others too)
to be able to build this for other platforms.
an obvious downside is to have a few more ifdefs.
tested with:
```
/opt/wasi-sdk-25.0/bin/clang -Wall -Oz -s -o dd.wasm dd_main.c
```
Signed-off-by: YAMAMOTO Takashi <yamamoto@midokura.com>
Add a new example that shows how to read a sample from
an ADS7046 ADC sensor registered on the SPI bus.
Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
Add a new example that shows how to read the temperature from a
TMP112 sensor registered on the I2C bus.
Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
rebinding (T2) time from DHCP packet.
According to RFC 2131, T1 and T2 times play a critical role in lease
management in DHCP clients.
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
Add parent process ID support for command ps,
get from "/proc/<PID>/group/status:Parent".
For example
nsh> sh
nsh> ps
PID PPID GROUP CPU PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK COMMAND
... ...
3 0 3 --- 100 RR Task - Waiting Signal 0000000000000000 0008136 nsh_main
... ...
9 3 9 0 100 RR Task - Running 0000000000000000 0004064 sh
nsh> sleep 100 &
sh [10:100]
nsh> ps
PID PPID GROUP CPU PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK COMMAND
... ...
3 0 3 --- 100 RR Task - Waiting Signal 0000000000000000 0008136 nsh_main
... ...
9 3 9 0 100 RR Task - Running 0000000000000000 0004064 sh
10 9 10 --- 100 RR Task - Waiting Signal 0000000000000000 0004040 sh -c sleep
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
Some applications require satellite information for positioning using the flag USED_IN_FIX.
More details: https://github.com/apache/nuttx/pull/16805
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
Previous zip-based approach was failing in CI environment. Changed to use
git clone with specific commit hashes to resolve CI build issues.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
Top level:
- 'tee' subdirectory added to top-level CMakeLists.txt
tee/libteec:
- BINARY_PREFIX defined PUBLIC to make it accessible to consumer
apps
- added missing DEBUGLEVEL definitions
examples/optee_gp:
- added missing dependency to libteec
Signed-off-by: George Poulios <gpoulios@census-labs.com>
Initially, leaving the .zip around seemed like a good idea to
avoid re-downloading often. But it turns out deleting downloaded
packages during distclean is standard practice and some CI
scripts depend on the git local copy being clean, including
ignored files.
Change also CMakeLists.txt to download the zip instead of the
tarball.
Signed-off-by: George Poulios <gpoulios@census-labs.com>
This patch corrects a mathematical error in the progress reporting function which
caused incorrect percentage progress calculations.
Signed-off-by: Tim Hardisty <timh@jti.uk.com>
mbedtls interfaces overwritten by nuttx crypto driver, change return value of mbedtls interfaces from return value of nuttx crypto driver into starndard return value of mbedtls
Signed-off-by: makejian <makejian@xiaomi.com>
1. Due to the automatic wrapping of MTD devices during the open() process,
the legacy registration methods ftl_initialize() and bchdev_register()
are no longer required for MTD device registration. The new method is
now changed to register_mtddriver
2. Some code for space release and deregistration has been added,
and certain error handling methods have been updated.
The previous logic MAX(info_from.blocksize, info_where.blocksize) was
incorrect. The most effective access with by writing the entire
size of the block, therefore just decide the size based on the
target page size.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
There is no need to use buffers in a bootloader. We expect a sequential
access, therefore we just need to erase the erase page before writing
to it for the first time, which is something FTL layer already takes
care of.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Add support for Xedge, an embedded software toolkit for IoT applications
using Lua scripting with HTTP(S), WebSockets, MQTT, and device I/O.
* netutils/xedge: Dependency manager that downloads BAS library
and BAS-Resources, generates XedgeZip.c during build
* examples/xedge_demo: Complete example showing Xedge integration
with HTTP server, Lua runtime, and SNTP time synchronization
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
Support for extracting (from libteec), patching and compiling
optee_client/tee-supplicant by NuttX apps. Defaults to version
4.6.0 (same as the current libteec).
Enabled with:
CONFIG_OPTEE_SUPPLICANT=y
CONFIG_LIBTEEC=y
And the following for the nuttx kernel:
CONFIG_ALLOW_BSD_COMPONENTS=y
CONFIG_FS_ANONMAP=y
CONFIG_DEV_OPTEE_SMC=y
CONFIG_DEV_OPTEE_SUPPLICANT=y
The version of the supplicant needs to match the libteec version
since the patch to be applied might fail otherwise. If the versions
differ the build will be aborted.
More info:
- https://github.com/OP-TEE/optee_client
- https://optee.readthedocs.io/en/latest/architecture/secure_storage.html
Signed-off-by: Theodore Karatapanis <tkaratapanis@census-labs.com>
NuttX implements a function with the same name which may end up
being included whenever `CONFIG_MM_KERNEL_HEAP` is set. To avoid
it, insert a prefix to it on Python's implementation.
Please note that the other patches had their metadata updated too.
The strlen function called by kasantest will be optimized by the compiler, and the strlen function implemented in NX will not be called. Adding -fno-builtin can solve the problem.
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
in function `gdbstub_main':
undefined reference to `gdb_state_init'
undefined reference to `gdb_process'
undefined reference to `gdb_state_uninit'
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
Before this PR only the decompressor files were added to the Makefile.
Now all the required compressor files are added.
Decompression and compression tested on STM32H7 with 1:8 JPEG scaling.
Signed-off-by: Kevin Witteveen (MartiniMarter) <kevinwit1999@gmail.com>
This example makes it possible to use a binary from local storage for MCUBoot update.
It copies the binary file to the secondary slot instead of downloading from a remote URL.
Can be used to update from a SD Card, for example.
Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
DHCPRELEASE, According to RFC 2131 section 3.1, DHCPRELEASE is
used by a client to relinquish a network address and cancel any
remaining lease time
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
Currently NANOPB_UNPACK step in Makefile uses nanopb binary name with
hardcoded suffix '-linux-x86' that is not suitable for MACOS x86.
This commit replaces the hardcoded nanopb binary name with name that
is derived from NANOPB_NAME variable that reflects the nanopb binary
that is selected based on host OS selected in the build system
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>