The existing driver and sample:
- drivers/bluetooth/hci/rpmsg
- samples/bluetooth/hci_rpmsg
are no longer correctly named, since they now use the IPC subsystem to
send and receive data. The IPC subsystem can use RPMsg as a transport,
but that is one of several selectable backends.
I initially wanted to deprecated both the BT_RPMSG Kconfig option as
well as the zephyr,bt-hci-rpmsg-ipc chosen node in Devicetree. However,
this proved to be undoable in the case of the Kconfig option. This is
because it's a choice option, and those have special behavior. In
particular, the only practical way to deprecate would've been to keep
the old Kconfig option outside the choice (much like it's done in this
commit) but then also add a 'depends on !BT_RPMSG' on each of the
remaining choice symbols *except* on the new BT_HCI_IPC one. This, however,
only works correctly for .conf files. If a board instead sets the
default BT_HCI_BUS_TYPE in the Kconfig.defconfig file then the Kconfig
tree parsing would fail, because it'd try to set it to a value
(BT_RPMSG) that is no longer part of the choice.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Unify spelling of CAN Flexible Data-rate abbreviation to "CAN FD" instead
of "CAN-FD". The former aligns with the CAN in Automation (CiA)
recommendation.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Define the storage_partition in the internal flash
instead of the external NOR qspi flash,
so the testcase can PASS on the disco_l4754_iot1 board.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Renesas RA always uses interrupt handlers dynamically.
But this test requires static vector tables.
So, it needs to exclude platforms that use Renesas RA.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
The test was printing one line for each packet it was sending
by default. That creates a huge log and slows things down.
Instead, let's only print those with verbosity set at 4 or higher.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Also run some split BT stack tests on the nrf5340 platform
to test this configuration.
Move the selection of which BT tests are built and run
in each platform to files in the tests/bsim/ folder.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
With TESTS_FILE the user could provide a file with a list of
tests to run.
Now we also support that file containing a mix of
tests and paths in which to search for tests.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add sysbuild build files, which allows building this test
both for the targets we could already before
(nrf52_bsim & nrf5340bsim_nrf5340_cpunet)
and also adds support for the a split build with the
nrf5340bsim_nrf5340_cpuapp.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add sysbuild build files, which allows building this test
both for the targets we could already before
(nrf52_bsim & nrf5340bsim_nrf5340_cpunet)
and also adds support for the a split build with the
nrf5340bsim_nrf5340_cpuapp.
Note that when doing a split build the controller is
taken from the hci_rpmsg BT sample, and therefore the
controller configuration in this folder is not used.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add support for sysbuild builds, which can be selected
by settings the variable sysbuild.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Extends the msgq benchmark test to obtain data for larger message
queues (messages of size 192 bytes). This allows for a better
indication of what the impact of data size is on message queue
performance.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Add user thread support to message queue, semaphore, mutex and
pipe tests. Mailbox and memory map tests are restricted from
executing from user threads.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds two custom syscalls. The first allows a user thread to
change its priority to a higher priority level. The second
is used to obtain a timestamp from a user thread.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds macros for placing variables into bench_mem_partition.
This partition will be used to place global data in the test
that will need to be accessed from user threads.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Use dynamic threads instead of statically defined threads. This will
make it easier to add support for user threads to this test.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Eliminates the loop surrounding the execution of the benchmark
components as it was not doing anything.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds userspace configuration to testcase.yaml.
Updates the README.rst with output from runs on a frdm_k64f board
as not only have the descriptions changed, but there is now
additional output for userspace configurations.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Many architectures and platforms can not directly read a timestamp
from userspace as the relevant MMIO registers are inaccessible.
This necessitates that the timestamp be obtained by a system call.
The additional overhead from these system calls can be taken into
account and the recorded times adjusted depending upon whether
the test occurred entirely within kernel space, entirely within
user space, or a mix between the two.
It is worth noting that when the test requires a mix of both user
and kernel space threads, the overhead is estimated as the mean
average of purely kernel threads and purely user threads overhead
times. This might not be technically correct, but it ought to
provide a reasonable enough approximation.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Updates the interrupt to thread benchmark tests to address
a number of items.
1. Updates descriptions to correctly indicate that it is not
interrupt latency being measured, but the time to leave
the interrupt and return to a thread.
2. Repeats the test numerous times instead of just once to
get an average.
3. Overhead from obtaining timestamps is now accounted for.
4. Adds support for returning to a user thread.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Updates both the preemptive and cooperative thread context switch
benchmark tests so that not only will they share the same
infrastructure, but they can both get the context switch times
when switching from ...
1. Kernel thread to kernel thread
2. Kernel thread to user thread
3. User thread to kernel thread
4. User thread to user thread
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Fix the labels used in io-channels to be consistent in whole
tests/drivers/build_all/sensor/adc.dtsi file.
Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
Add tests for new DT APIs added in the previous commit:
- `DT_IRQN_BY_IDX`
- `DT_INST_IRQN_BY_IDX`
Added additional tests for the following existing DT APIs when
`CONFIG_MULTI_LEVEL_INTERRUPTS` is enabled:
- `DT_IRQN`
- `DT_INST_IRQN`
Added `qemu_riscv32` for the multi-level interrupt tests.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Relocate multi-level interrupts APIs out of `irq.h` into
a new file named `irq_multilevel.h` to provide cleaner
separation between typical irq & multilevel ones.
Added preprocessor versions of `irq_to_level_x` as `IRQ_TO_Lx`.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
This commit adds utilites to parse the RMC and GGA
NMEA0183 messages, which contain all data which shall be
published using the struct gnss_data.
It also adds a test suite for the added utilities.
Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
This commit adds parsing utilites for common string
representations of values contained in GNSS messages.
These utilites both parse and validate the integrity of
the data.
Unit tests are also added to validate the parsing
utilities.
Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
Userspace test was using native_posix which does not support
userspace. Change to qemu_x86.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
There are many TC_PRINT()'s in the work_queue test and it make sense
to change them to LOG_DBG() which are disabled by default. Other issue
is that some of TC_PRINT() are inside works for which execution time
is measured.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This test was reusing the sim_id from an l2cap test,
which was colliding with the corresponding l2cap test
when they were run in parallel.
Fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
When working on new test cases for checksum_offload test suite it turned
out that some existing test cases were already broken and not testing
what expected. This commit fixes the broken functionality:
* Despite having two separate interfaces for offloaded and
non-offloaded checksum scenario, all packets ended up in a single
interface anyway due to src address matching. Therefore use
different destination address, depending on tests.
* Add separate semaphores for offloaded and non-offloaded case, to
ensure that the packet ended up on the correct interface.
* The packet loopback in RX cases was broken, the LL address, IP
address and UDP port swap written data in wrong places.
* The receive path was not tested in the offloaded case.
Additionally, do a small cleanup before adding more tests:
* Fix net_context leak.
* Configure IPv6 neighbor once, during setup.
* Add before function to cleanup the flags before tests execute.
* Split tests into separate test cases, as they're not really
dependent on each other.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Use the HCI layer to update the channel map instead of calling directly
into the controller.
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/64441
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Some RTCs don't support the tm_yday and/or tm_wday fields
of the struct rtc_time structure. These RTCs must set the
values of the fields to -1 if they are not supported, and
the test must be able to handle this correctly. This commit
adds an exception to the tm_yday and tm_wday fields allowing
them to be set to -1.
Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>