Commit graph

21541 commits

Author SHA1 Message Date
Yuval Peress
53ef68d459 include: Prefix includes to use a scope
Move include paths and add new target_include_directories to support
backwards compatibility:
* /include -> /include/zephyr
  example: <irq.h> -> <zephyr/irq.h>

Issue #41543

Signed-off-by: Yuval Peress <peress@google.com>
2022-04-08 19:03:32 +02:00
Dominik Ermel
33c0995e03 mgmt/mcumgr/lib: Fix zcbor_map_decode bulk
Fixed problem with uninitialized conditional variable.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 17:43:50 +02:00
Jamie McCrae
0ea3600e5c mgmt: mcumgr: lib: Fix non-visible struct build warnings
Fixes build warnings relating to visibility of 2 structs in mcumgr

Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
2022-04-08 15:49:36 +02:00
Dominik Ermel
f36b6d8552 mgmt/mcumgr/lib: Deprecate CONFIG_IMG_MGMT_UL_CHUNK_SIZE
The IMG_MGMT_UL_CHUNK_SIZE is no longer used to control size of
intermediate buffer used for application image chunk processing,
instead directly request trasport buffer is used.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
756c34659b mgmt/mcumgr/lib: Deprecate CONFIG_OS_MGMT_ECHO_LENGTH
The echo sentence is now directly copied from request transport
buffer to response buffer, without use of intermediate buffer.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
057f7a2ffd mgmt/mcumgr/lib: Deprecate FS_MGMT_UL_CHUNK_SIZE
Now the chunk of uploaded file is directly read from the transport
buffer, net_buf, and is no longer copied into intermediate buffer
so the real size of chunk is actually how much the sender could
fit into MCUMGR_BUF_SIZE, less the other fields.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
7d27f8dd58 mgmt/mcumgr: Remove dependency on TinyCBOR
Mcumgr now wholy uses zcbor for decoding/encoding SMP
requests/responses.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
05b4142637 mgmt/mcumgr/lib: Remove cborattr from mcumgr
No longer used by mcumgr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
265382931f mgmt/mcumgr/lib: Remove mgmt_err_from_cbor function
No longer needed.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
a3793cbfa7 mgmt/mcumgr: Move Zephyr specific group to zcbor
Replacing TinyCBOR with zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
18f0db5bd0 mgmt/mcumgr/lib: Move FS command group request processing to zcbor
The commit moves processing of SMP requests from TinyCBOR to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
9f1a8cbbb4 mgmt/mcumgr/lib: Move IMG mgmt group request processing to zcbor
The TinyCBOR, in processing SMP requests, have been replaced
with zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
40462946a9 mgmt/mcumgr/lib: Add utility zcbor_map_decode_bulk
The commit adds private, for internal mcumgr use only, utility
function for bulk processing of CBOR map entries.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
ebc62e9bf9 mgmt/mcumgr/lib: Move SHELL mgmt request processing to zcbor
The commit replaces TinyCBOR for request processing within
SHELL command group.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
784d929761 mgmt/mcumgr/lib: Move STAT group request processing to zcbor
The STAT command group request processing has been moved from
TinyCBOR to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
df028e7ee6 mgmt/mcumgr/lib: Switch OS group request processing to zcbor
The commit switches OS group commands to use zcbor instead
of TinyCBOR for processing SMP requests.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
4f9f694398 mgmt/mcumgr/lib: Remove TinyCBOR state objects from mgmt_ctxt
Removes no longer needed elements of struct mgmt_ctxt.
Removes mgmt_ctxt_init, mgmt_streamer_init_reader and init_reader
from struct mgmt_streamer_cfg as they are no longer needed.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
9675d94119 mgmt/mcumgr/lib: Switch smp_process_request_packet to net_buf
Drops usage of mgmt_streamer.reader in favour of direct access
to net_buf.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
6bddb0305a mgmt/mcumgr: Switch cbor_nb_reader to zcbor
The commit removes cbor_decoder_reader from cbo_nb_reader and
adds zcbor state variable to the structure.
All the code that has been supporting the cbor_decder_reader
has been removed and/or replaced with zcbor/net_buf specific.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
d0445aa4a9 mgmt/mcumgr/lib: Replace cbor_decoder_reader with cbor_nb_reader
Replaces TinyCBOR cbor_decoder_reader with cbor_nb_reader in
SMP processing code.
The SMP source code has been relying on internal elements of the
cbor_decoder_reader and had to be rewritten to use net_buf
structures, that are part of cbor_nb_reader, instead.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
1c9395f3b9 mgmt/mcumgr/lib: Replace calls to mgmt_streamer_init_writer
The calls have been replaced with direct invocations of
cbor_nb_writer_init.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
bff015feff mgmt/mcumgr/lib: Remove cbor_encoder_writer from usage
With transition to zcbor, the cbor_encoder_writer structure of
TinyCBOR is no longer used.
This commit replaces the structure with cbor_nb_writer, which
gathers zcbor processing structure with netbuf into one object.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
7cac9ef413 mgmt/mcumgr/lib: Use zcbor in OS command group responses
The commit switches processing of OS command group responses
to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
f9a7ba38b1 mgmt/mcumgr/lib: Encode IMAGE command group responses with zcbor
The commit moves encoding of IMAGE command group responses to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
2c66849401 mgmt/mcumgr/lib: Encode FS command group responses with zcbor
The commit moves encoding of FS command group responses to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
8cb52b26c1 mgmt/mcumgr/lib: Encode SHELL command group responses with zcbor
The commit moves SHELL command group responses encoding to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
e9b2c6ade2 mgmt/mcumgr/lib: Encode STAT command group responses with zcbor
The commit moves STAT command group responses encoding to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
a8e0b249fe mgmt/mcumgr/lib: Move common code for responses to zcbor
Common SMP response processing code gets switched to zcbor.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Dominik Ermel
c883c45752 mgmt/mcumgr: Add zcbor support for sending responses
The commit modifies cbor_nb_writer to handle zcbor.
Proper initialization code has been added to cbor_nb_writer_init.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-04-08 13:49:55 +02:00
Eduardo Montoya
fd8d1f5fb3 net: openthread: name Kconfig version choice
Name OpenThread version selection option to `OPENTHREAD_STACK_VERSION`
to be able to superseed it somewhere else.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2022-04-08 12:29:45 +02:00
Pieterjan Camerlynck
53327e30f2 Bluetooth: Controller: Fix null pointer dereference
Fix null pointer dereference in Controller when receiving an extended
advertisement and CONFIG_BT_LOG_LEVEL_DBG is enabled.

Signed-off-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
2022-04-08 10:22:22 +02:00
Abe Kohandel
f1e75dea50 bluetooth: ots: notify application prior to object name change
This change augments the application object name change notification to
occur prior to the actual name change done by the OTS layer.

Notifying prior to the actual name change makes it possible to inform the
application of the current name of the object as well as the new name.

Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
2022-04-08 09:31:31 +02:00
Vinayak Kariappa Chettimada
eef7d67926 Bluetooth: Controller: Add +3dBm Tx power support in nRF53 Series
Add implementation in Controller to set radio high voltage
to enable support for +3dBm Tx Power in nRF53 Series SoCs.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-04-08 09:30:52 +02:00
Vinayak Kariappa Chettimada
11d81f8e0a Bluetooth: controller: Add radio_stop interface
Add radio_stop interface that will be called on radio event
done. This interface can be in turn used to perform H/w
dependent cleanup for every Radio event done.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-04-08 09:30:52 +02:00
Alexandru Carbuneanu
f3444ce00b Bluetooth: Host: Check encryption level for EATT channels
Check the encription level before sending on EATT.

Signed-off-by: Alexandru Carbuneanu <alexandru.carbuneanu@nordicsemi.no>
2022-04-08 09:30:45 +02:00
Jordan Yates
c910e4d931 net: context: log on net_pkt alloc fail
Log an error when allocating a network packet for transmission fails.
This is a problem which can be solved by increasing
`CONFIG_NET_PKT_TX_COUNT`, but is currently hard to diagnose.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-04-08 09:30:17 +02:00
Jonathan Rico
ef2e31a686 Bluetooth: host: Prevent null pointer dereference
bt_le_lim_adv_cancel_timeout(adv) de-references adv.
Reported by https://github.com/zephyrproject-rtos/zephyr/issues/44480.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2022-04-07 13:18:02 +02:00
Jani Hirsimäki
2d39c9f463 net: l2: ppp: config: fix for max terminate-req transmissions
CONFIG_NET_L2_PPP_MAX_TERMINATE_REQ_RETRANSMITS
was not having any impact and
CONFIG_NET_L2_PPP_MAX_CONFIGURE_REQ_RETRANSMITS
was used incorrectly instead for terminate().

Signed-off-by: Jani Hirsimäki <jani.hirsimaki@nordicsemi.no>
2022-04-07 09:39:09 +02:00
Herman Berget
60d42966e8 Bluetooth: Host: Update change-aware requirements for Bluetooth 5.3
Core spec version 5.2 introduced EATT, and multiple ATT channels on one
connection is now possible. The requirements for when a client
becomes change-aware were updated to reflect this.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-04-07 09:38:26 +02:00
Emil Gydesen
d98cfd1f8a Bluetooth: Audio: Improve unicast client handling of CIG
The CIG was improperly handled by the unicast
client. It attempted to remove the CIG when an ACL
was disconnected, and did not properly use the
cig_reconfigure function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-04-07 09:38:09 +02:00
Emil Gydesen
777a5801ea Bluetooth: Audio: Add missing null check for ep idle state
The endpoint will likely be in the idle state when
we first read the ASE state. In that case we have
not yet attached a stream to the endpoint, and
thus should not request the stream to be released when it
is NULL.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-04-07 09:38:00 +02:00
Mariusz Skamra
db59647c0a Bluetooth: has: Add initial Hearing Access Service client
This adds initial support for Hearing Access Service client. The client
performs GATT discovery to find and read HAS related characteristics and
subscribe for characteristic value notifications/indications.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-04-07 09:37:53 +02:00
Lingao Meng
97a0151004 Bluetooth: Host: Fix bt_recv_thread_id assignment
The above mentioned fix attempts to detect the situation when
bt_att_req_alloc() is invoked on the same thread that runs
att_handle_rsp. It attempts to do so by noting the thread that
first ran bt_recv, assuming the same thread will house all calls
to bt_att_req_free. This turns out not to be correct. It is
evident from the call stack provided below that bt_att_req_free
can be called from other threads than the one that runs bt_recv.

Fixes: #43448

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2022-04-07 09:37:45 +02:00
Lingao Meng
502ca3b788 Bluetooth: host: Move to l2cap_internal.h
BR_CHAN should be moved to l2cap_internal.h instead of redefining it.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2022-04-07 09:37:12 +02:00
Lingao Meng
20ff55e234 Bluetooth: host: Optimize L2CAP resource usage
Making sure struct bt_l2cap_chan has absolutely no members related
to dynamic channels.

That way we ensure that there is no overhead for a build where only
fixed channels are used.

It's not enough that the dynamic channel-related members are put behind
ifdefs - they should be completely moved out from the struct definition.

Furthermore, the public l2cap.h header file already has a struct
that's meant to be used for dynamic channels: struct bt_l2cap_le_chan!

However, currently dynamic channel support is a mess - it's a mix
between these two structs. The bt_l2cap_le_chan struct should really
be an extension of the bt_l2cap_chan struct, i.e. the former should
contain as a member the latter.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2022-04-07 09:37:12 +02:00
Jordan Yates
04d29c4eb4 net: mqtt: remove custom logging macros
Remove the custom MQTT logging macros and just use the NET macros
directly. The custom macros provide no additional functionality and the
non-standard naming can cause confusion.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-04-06 17:41:06 +02:00
Karol Duda
5878f55662 cfb: support for HPACKED fonts
The HPACKED fonts are already declared in header.
Extend drawing routine to allow HPACKED fonts
along with VPACKED fonts.

Signed-off-by: Karol Duda <karol.duda@grinn-global.com>
Signed-off-by: Maciej Zagrabski <maciej.zagrabski@grinn-global.com>
2022-04-06 09:49:00 -05:00
Jakob Krantz
4f05240cec Bluetooth: controller: df: Fix check for saturated IQ samples.
When an int16_t I or Q value was input to IQ_CONVERT_12_TO_8_BIT
the compiler would not make the correct comparison with
IQ_SAMPLE_STATURATED_16_BIT causing saturated IQ samples never
being found.

Signed-off-by: Jakob Krantz <jakob.krantz@u-blox.com>
2022-04-06 11:24:02 +02:00
Eduardo Montoya
ed89142661 net: openthread: add Time Sync support
Implement `otPlatTimeGetXtalAccuracy` which is missing when Time
Sync is enabled.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2022-04-06 11:23:41 +02:00
Casper Bonde
4d6b0ee47d Bluetooth: Stream: Add functions to parse codec parameters
This is the opesite of the macros to build codec configurations.
As some information was not up-to-date with the adopted
specification this change also includes alignment of the assigned
numbers in the Generic Audio section.
The codec config macros currently in lc3.h have moved from LC3
codec config parameters in the older specification to generic
codec configuration parameters in the adbpted specification.
This is why these additions have been made in the audio.h API
file rather in lc3.h. It is the expectation that lc3.h will be
merged into audio .h at some point.

Signed-off-by: Casper Bonde <casper_bonde@bose.com>
2022-04-06 11:00:20 +02:00