Move the implementation of zsock_select() to zvfs_select(). This
allows other types of file descriptors to also make use of
select() functionality even when the network subsystem is not
enabled.
Additionally, it partially removes a dependency cycle between
posix and networking by moving functionality into a mutual
dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move the implementation of zsock_poll to zvfs_poll. This allows
other types of file descriptors to also make use of poll()
functionality even when the network subsystem is not enabled.
Additionally, it partially removes a dependency cycle between
posix and networking by moving functionality into a mutual
dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Added tests for bindesc reading, to test reading on multiple C/C++
standards. Only RAM and flash backends are tested, as the flash
simulator can't simulate a memory mapped flash.
Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
Add an example implementation of `get_fattime` to the API tests. Also
ensure that `FS_FATFS_EXTRA_NATIVE_API` compiles in a test.
Signed-off-by: Jordan Yates <jordan@embeint.com>
What is the changed?
CPU affinity test for SMP cores will now cover a change in ROM offset.
How is it changed?
Add a new testcase section with ROM offset set to something other than
the default 0.
Why is it change?
There is no test to cover the issue reported in #76182 and the cpu
affinity test is the closest to test the issue. Adding a new testcase
will makes sure there is no breaking change in the future.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add comparator build_all test suite designed to test multiple
devicetree overlays and boards for each comparator device driver.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Overflow errorcode is now correctly detected when expected.
Subsequent sensor_channel_get() yield the same values, so
the check can be no longer ignored.
Added a sensor_sample_fetch() where missing for correct
sensor_channel_get() calls.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Add scan cb to scan delegator so that Application
can be notified when assistant starts or stops
scanning.
Also state information of Broadcast Assistant
is removed as info is not used.
Signed-off-by: Nithin Ramesh Myliattil <niym@demant.com>
All Intel Audio DSP platforms have non-coherent cache between
CPUs. So the zbus_channel struct data goes out-of-sync between
CPUs with multiple producer and consumer threads running
concurrently on multiple CPUs, resulting in bad pointer being
used, e.g. passed to memcpy(). So exclude these platforms from
running in twister as they are certain to fail.
Fixes: #79368
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add netif:eth to twister yaml for frdm_rw612
Exclude from wifi test because of binary blob requirement
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Remove the `work_q` parameter from `NET_SOCKET_SERVICE_SYNC_DEFINE` and
`NET_SOCKET_SERVICE_SYNC_DEFINE_STATIC` as this feature was dropped
during review but the removal was not 100% complete.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Replace `zassert` with `zassert_equal` in CRC8-CCITT and CRC8-ROHC
test cases, as `zassert_equal` is more appropriate for comparing
actual and expected values.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This commit introduces the `crc8_rohc` function to the CRC library,
implementing the CRC-8/ROHC (RObust Header Compression) variant.
This algorithm is widely used in networking protocols, which is commonly
found in modem subsystems.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Modify the BAP unicast client callback structure to be a
linked list. The purpose of this is to have multiple listeners
of the unicast client changes and notifications.
This is needed for the CAP initiatior.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The function jwt_payload_len doesn't return payload length but returns
used data in builder->buf
If jwt_payload_len is called after jwt_init_builder, header length will
be returned
If jwt_payload_len is called after jwt_add_payload, header+payload
length will be returned
If jwt_payload_len is called after jwt_sign, header+payload+sign length
will be returned
So, this commit removes the function and uses strlen instead
Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
- Some files (PEM/DER files, jwt-test-cert.c, user-tls-conf.h)
were removed because they are not used or no longer necessary.
Private keys used in the test are now in the jwt-test-private.c
file as arrays.
- testcase.yaml has been improved in order to test all possible
use cases: ECDSA with TC, ECDSA with PSA, RSA;
- unnecessary Kconfigs were removed from prj.conf.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Sometimes there's an unusually large cycles for tests that are
known to complete with just a few cycles. Upon some testing,
I found that it was because the overhead cycles was larger
than the cycles taken by tests, causing the cycles to
underflow.
To workaround that, make sure that the overhead measurement
thread runs uninterrupted, repeat the measurement for a few
times, and take the minimum value.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Fix of the subnet bridging table function to only
compact the table if elements has been removed, and
fixing the compact function to compact the table if
several elemnts has been removed at the same time.
Fixes zephyrproject-rtos#78794
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
There is a check to see if it is no longer able to push more
messages into a full queue. When these is another CPU consuming
messages, the queue would not be full at that point. A new message
can be pushed into the queue and thus failing the "full queue"
check. So limit this to 1 CPU only so this check's assumption
can be fulfilled.
Fixes#79319
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Industrial 8 channel output with advanced diagnostics.
Allowing giagnostic configuration both on per channel or global bases
In SPI communication diagnostic status transmitted on every
READ/WRITE which includes generic status of chip.
Diagnostics includes :
* Oveload
* Open Wire
* Over current
* Short to VDD
* Thermal Shutdown
* VDD Warn
* Watch Dog Error
* Communication Error
* VDD under voltage
Add app.overlay for MAX14916 driver.
Tested with adopted basic/blinky example.
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
MAX14906 in 4 channel I/O with advanced diagnostic.
In SPI communication diagnostic status transmitted on every
READ/WRITE which includes generic status of chip.
Configuration both on global level and on per channel bases.
Diagnostics includes :
* Thermal overload
* current limit
* open wire detection
* short to VDD
* Above VDD
* Safe DEmagnitization fault
* VDD warning
* VDD low
* SPI/CRC Error
* WDog Error
* Loss GND
Add app.overlay for MAX14906 driver.
Tested with adopted basic/button and basic/blinky sample.
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
The Modbus protocol object types are either single-bit or 16-bit word.
Other types are not defined in the specification. Types such as float
are typically mapped to two 16-bit registers. Current implementaiton
does not maps correctly to the 16-bit word addresses. On the client
side, the implementation must take into account that the number of
requested registers (Quantity of Registers) is double that of a "float"
register. The server side should not treat "Quantity of Registers" and
"Byte count" differently for addresses reserved for floating values,
only in the user callback the two 16-bit registers are mapped to a float
value but still aligned to 16-bit register addresses.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
IPv6 MLD API was so far defined in an internal header. This does not
seem correct though, as application code should be able to join/leave
multicast groups, hence the API should be exposed in a public header,
just as it is done for its IPv4 countepart - IGMP.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When building an LLEXT-enabled kernel, 62b19ef65c added weak aliases
of all syscall implementation functions to a pointer to NULL, with the
assumption that LLEXT would check the required symbols at link time and
fail if any of them were found.
This check, however, is ineffective in the current implementation: the
actual address that is exported is the rather normal-looking location of
the variable containing the NULL pointer. This defeats the NULL symbol
validity checks in llext_link.c and causes the extension to crash at
runtime by jumping to a location containing a few zeroes in read-only
data memory.
This commit makes sure the alias target is actually placed at address 0
using the llext-sections.ld linker fragment, so that undefined syscall
implementations are exported as NULLs and as such properly flagged at
link time.
The test for this functionality is also updated to reflect the change.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
There are many places where source_id is retrieved and it
depends on runtime filtering being enabled. So far it was
all exposed but lets encapsulate that into a helper function.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>