Conversation
Of these, only struct net_ipv6_nbr_data::send_ns is a descriptive change: send_ns is used for timing Neighbor Solicitations in general, not just for DAD. The rest are typo/grammar fixes. Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Fix the parsing of IVIndex value from shell command line for cmd_provision Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Using the '\$' technique to accept make variables corrupts Ninja build systems, so avoid using it when generating Ninja files. Not using it with Ninja means we need to come up with some other mechanism to support build-time configuration of the QEMU CLI with Ninja. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
fin_timer will be started after sending FIN to peer. After successful reception of FIN+ACK message in FIN_WAIT1 state, fin_timer should be cancelled. Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Right now in FIN_WAIT1 state, if we receive FIN+ACK message, then tcp state changed to FIN_WAIT2 on ACK flag and immediately on FIN flag state changed to TIME_WAIT. Then final ACK is prepared and sent (in queue at-least) to peer. Again immediately state changed to TCP_CLOSED, where context is freed. net_context_put frees context and releases tcp connection. Final ACK packet which is in queue is dropped. As a side effect of freed ACK packet, peer device keep on sending FIN+ACK messages (that's why we see a lot of "TCP spurious retransimission" messages in wireshark). As a result of context free (respective connection handler also removed), we see lot of packets dropped at connection input handler and replying with ICMP error messages (destination unreachable). To fix this issue, timewait timer support is required. When tcp connection state changed to TIMEWAIT state, it should wait until TIMEWAIT_TIMETOUT before changing state to TCP_CLOSED. It's appropriate to close the tcp connection after timewait timer expiry. Note: Right now timeout value is constant (250ms). But it should be 2 * MSL (Maximum segment lifetime). Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Do not reset net_context information in net_app_close. In case of TCP behind the curtains connection might wait for some timers to expire and send some messages (e.g. ACK). If we set source port to '0', unexpected behaviour might happen with peer connection. Only reset net_app context related information on net_app_close. Let net_context_put will take care of proper connection closure. Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
The gap between 1st and 2nd column is only one character. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This updates GAP, GATT, SM, L2CAP ICS values according to following documents: GAP.ICS.5.0.2 SM.ICS.5.0.0 GATT.ICS.5.0.1 L2CAP.ICS.5.0.1 Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
We now have coap, all dependencies have been removed, so cleanup for the next release. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
I don't know why we have been passing "-serial none" to qemu but it does not seem to be doing anything useful. So I propose we remove it. According to the qemu documenation it should be disabling all serial ports; "-serial dev Redirect the virtual serial port to host character device dev. The default device is vc in graphical mode and stdio in non graphical mode. This option can be used several times to simulate up to 4 serial ports. Use -serial none to disable all serial ports." But when we use "-serial none", we always combine it with "-serial pipe", or "-serial unix", to redirect the serial port, so clearly it is not disabling all serial ports as it attempting to do. "-serial none" was first introduced to Zephyr in this commit: 0b54f98 As far I can tell, pinging an echo_server works fine without it, so I suspect that our second -serial flag is overriding it and that it has no effect. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
This board doesn't support `make flash` way of programming. So, remove that from documentation. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
We have been passing around options from one function to the next making it very difficult to add a new option easily and requiring changes to man function prototypes. This declated the parsed command line options global and renames args to options. args is being used elsewhere and this was confusing. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Now use glabal options instead of passing them around as function arguments. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add an option to support building with ninja instead of make. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This map is not being used anymore. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
We were encoding logs twice. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Use codecov.io to track test coverage. See https://codecov.io/gh/zephyrproject-rtos/zephyr Signed-off-by: Anas Nashif <anas.nashif@intel.com>
ETH_MCUX_0 needs to be turned on when CONFIG_NET_L2_ETHERNET is enabled. If CONFIG_NET_L2_ETHERNET is disabled (e.g. when configured for 6loble), then ETH_MCUX_0 should remain disabled. Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Corrected types in OS specific functions to be inline with NFFS declarations. Fixes zephyrproject-rtos#5467 Signed-off-by: Jan Van Winkel <jan.van_winkel@dxplore.eu>
When SIGTERM or SIGINT are received handle them by gracefully exiting the program. Fixes zephyrproject-rtos#5477 Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Introduce Zephyr interface libraries to fix zephyrproject-rtos#5351. From the documentation: A Zephyr interface library is a thin wrapper over a CMake INTERFACE library. The most important responsibility of this abstraction is to ensure that when a user KConfig-enables a library then the header files of this library will be accessible to the 'app' library. This is done because when a user uses Kconfig to enable a library he expects to be able to include it's header files and call it's functions out-of-the box. A Zephyr interface library should be used when there exists some build information (include directories, defines, compiler flags, etc.) that should be applied to a set of Zephyr libraries and 'app' might be one of these libraries. Zephyr libraries must explicitly call zephyr_library_link_libraries(<interface_library>) to use this build information. 'app' is treated as a special case for usability reasons; a Kconfig option (CONFIG_APP_LINK_WITH_<interface_library>) should exist for each interface_library and will determine if 'app' links with the interface_library. This API has a constructor like the zephyr_library API has, but it Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
mbedTLS include directories will now default to be in the 'app' include path when mbedTLS has been enabled. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
This command will be used to test if model can properly send segmented and unsegmented messages to a given destination address. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This may fail, if model publication was not set by remote. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This adds BTP event indicating reception of provisioning message with invalid (RFU) BearerOpcode. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This adds commands to manage Friend node Subscription List. Those will be used to add or remove and group/virtual address from subscription list. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This command is needed for Bluetooth Mesh testing against PTS. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This function is called only within mesh stack. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This event indicates that segmented message incomplete timer expired. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
Signed-off-by: Dong Xiang <dong.xiang@linaro.org>
Tests added were adopted from MyNewt. Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Moved fetch of flash device bindings to early initialization of the application. Device bindings are constant while the application is running so it is better to fetch it at startup, and not every time flash_map procedures are called. Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Document USB Vendor and Product IDs and their intended usage. Set the Vendor and Product IDs and define the USB bcdDevice Device Descriptor Device Release Number to be the binary coded decimal representation of the Zephyr major and minor kernel version number. Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
Due to a chicken-and-egg problem, it's not possible to call
board_runner_args() directly from an application CMakeLists.txt and
have it take effect:
- if the board_runner_args() call appears before including the
boilerplate file, then the function is undefined and an error
occurs.
- if the call appears after including the boilerplate file, then
board_finalize_runner_args() has already been called by the
relevant runner.board.cmake file, so it won't take effect.
Similarly to the way set_conf_file() works, allow applications to
declare additional runner args by checking if they have provided a
macro named app_set_runner_args(), which contains calls to
board_runner_args(). Using a macro means that we can invoke it with
the definition of board_runner_args() in scope.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Remove a few duplicated entries and update maintainers for some code. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Update tags.sh tool to generate appropriate files to use with cscope and ctags programs. Current implementation generates tags for all but samples and it's possible to filter by architecture. Signed-off-by: Juan Manuel Torres Palma <j.m.torrespalma@gmail.com>
The jquery provided by Sphinx 1.5.5 has a bug dealing with the coordinates returned for offset().top for empty <span> tags, generated by Sphinx for intra-document labels used to create hyperlink anchor targets. As reported in PR zephyrproject-rtos#5591, some browsers (chrome for example) don't scroll to the right spot in the document when we link to these intra-document label points. jquery v3.1.2 fixes this. (When Sphinx updates the jquery included in its release, we can remove our copy that is overriding the copy installed in the generated output by Sphinx.) Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
BT does use a semaphore, which does cause the count of sempahores to fail, disable BT here to only keep locally created objects. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
When checking if a testcase passed or failed, allow there to be prefixes or postfixes in the line, around PROJECT EXECUTION SUCCESSFUL/FAILED Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
This test should be blacklisted for any board based on the POSIX arch, not just the native_posix board Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Make it possible to run in other posix boards. By default, if the POSIX board does not define the TICK_IRQ just run without that part of the test, printing a note. The place where other POSIX boards should define it, is also clear, and should be easy to keep those lines free from merge conflicts in the future. Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
The offset of the IP header in a received packet depends on the L2 header size. For Ethernet this is 14 bytes which puts the u32 IPv4 addresses on a non-u32 byte boundary. This causes chips that don't support unaligned access (like the Cortex-M0) to fault. The fixes in this patch are enough to ping the board and run the http_server sample. Signed-off-by: Michael Hope <mlhx@google.com>
This removes BT_DEBUG dependency on BT_TESTING flag. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This fixes build error due to undeclared CONFIG_UART_PIPE_ON_DEV_NAME on nrf52840 board. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
c14fbfd to
f17a704
Compare
This documentation is needed for developers who are porting new boards. Fixing zephyrproject-rtos#5577 Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
f17a704 to
95ed395
Compare
nvlsianpu
pushed a commit
that referenced
this pull request
Mar 21, 2018
The scheduler exposed two APIs to do the same thing: _add_thread_to_ready_q() was a low level primitive that in most cases was wrapped by _ready_thread(), which also (1) checks that the thread _is_ready() or exits, (2) flags the thread as "started" to handle the case of a thread running for the first time out of a waitq timeout, and (3) signals a logger event. As it turns out, all existing usage was already checking case #1. Case #2 can be better handled in the timeout resume path instead of on every call. And case #3 was probably wrong to have been skipping anyway (there were paths that could make a thread runnable without logging). Now _add_thread_to_ready_q() is an internal scheduler API, as it probably always should have been. This also moves some asserts from the inline _ready_thread() wrapper to the underlying true function for code size reasons, otherwise the extra use of the inline added by this patch blows past code size limits on Quark D2000. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
nvlsianpu
pushed a commit
that referenced
this pull request
Jul 4, 2019
Currently, the free block bitmap is roughly 4 times larger than it needs to, wasting memory. Let's assume maxsz = 128, minsz = 8 and n_max = 40. Z_MPOOL_LVLS(128, 8) returns 3. The block size for level #0 is 128, the block size for level #1 is 128/4 = 32, and the block size for level #2 is 32/4 = 8. Hence levels 0, 1, and 2 for a total of 3 levels. So far so good. Now let's look at Z_MPOOL_LBIT_WORDS(). We get: Z_MPOOL_LBIT_WORDS_UNCLAMPED(40, 0) = ((40 << 0) + 31) / 32 = 2 Z_MPOOL_LBIT_WORDS_UNCLAMPED(40, 1) = ((40 << 2) + 31) / 32 = 5 Z_MPOOL_LBIT_WORDS_UNCLAMPED(40, 2) = ((40 << 4) + 31) / 32 = 20 None of those are < 2 so Z_MPOOL_LBIT_WORDS() takes the results from Z_MPOOL_LBIT_WORDS_UNCLAMPED(). Finally, let's look at _MPOOL_BITS_SIZE(. It sums all possible levels with Z_MPOOL_LBIT_BYTES() which is: #define Z_MPOOL_LBIT_BYTES(maxsz, minsz, l, n_max) \ (Z_MPOOL_LVLS((maxsz), (minsz)) >= (l) ? \ 4 * Z_MPOOL_LBIT_WORDS((n_max), l) : 0) Or given what we already have: Z_MPOOL_LBIT_BYTES(128, 8, 0, 40) = (3 >= 0) ? 4 * 2 : 0 = 8 Z_MPOOL_LBIT_BYTES(128, 8, 1, 40) = (3 >= 1) ? 4 * 5 : 0 = 20 Z_MPOOL_LBIT_BYTES(128, 8, 2, 40) = (3 >= 2) ? 4 * 20 : 0 = 80 Z_MPOOL_LBIT_BYTES(128, 8, 3, 40) = (3 >= 3) ? 4 * ?? Wait... we're missing this one: Z_MPOOL_LBIT_WORDS_UNCLAMPED(40, 3) = ((40 << 6) + 31) / 32 = 80 then: Z_MPOOL_LBIT_BYTES(128, 8, 3, 40) = (3 >= 3) ? 4 * 80 : 0 = 320 Further levels yeld (3 >= 4), (3 >= 5), etc. so they're all false and produce 0. So this means that we're statically allocating 428 bytes to the bitmap when clearly only the first 3 Z_MPOOL_LBIT_BYTES() results for the corresponding 3 levels that we have should be summed e.g. only 108 bytes. Here the code logic gets confused between level numbers and the number levels, hence the extra allocation which happens to be exponential. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
nvlsianpu
pushed a commit
that referenced
this pull request
Oct 10, 2019
Fix Kconfig conditional include of Minimum Channels Used and Channel Selection Algorithm #2. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Jun 23, 2020
This makes the gatt metrics also available for gatt write-without-rsp-cb so it now prints the rate of each write: uart:~$ gatt write-without-response-cb 1e ff 10 10 Write #1: 16 bytes (0 bps) Write #2: 32 bytes (3445948416 bps) Write #3: 48 bytes (2596929536 bps) Write zephyrproject-rtos#4: 64 bytes (6400 bps) Write zephyrproject-rtos#5: 80 bytes (8533 bps) Write zephyrproject-rtos#6: 96 bytes (10666 bps) Write zephyrproject-rtos#7: 112 bytes (8533 bps) Write zephyrproject-rtos#8: 128 bytes (9955 bps) Write zephyrproject-rtos#9: 144 bytes (11377 bps) Write zephyrproject-rtos#10: 160 bytes (7680 bps) Write zephyrproject-rtos#11: 176 bytes (8533 bps) Write zephyrproject-rtos#12: 192 bytes (9386 bps) Write Complete (err 0) Write zephyrproject-rtos#13: 208 bytes (8533 bps) Write zephyrproject-rtos#14: 224 bytes (9244 bps) Write zephyrproject-rtos#15: 240 bytes (9955 bps) Write zephyrproject-rtos#16: 256 bytes (8000 bps) Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
nvlsianpu
pushed a commit
that referenced
this pull request
Nov 10, 2020
The _ldiv5() is an optimized divide-by-5 function that is smaller and
faster than the generic libgcc implementation.
Yet it can be made even smaller and faster with this replacement
implementation based on a reciprocal multiplication plus some tricks.
For example, here's the assembly from the original code on ARM:
_ldiv5:
ldr r3, [r0]
movw ip, zephyrproject-rtos#52429
ldr r1, [r0, zephyrproject-rtos#4]
movt ip, 52428
adds r3, r3, #2
push {r4, r5, r6, r7, lr}
mov lr, #0
adc r1, r1, lr
adds r2, lr, lr
umull r7, r6, ip, r1
lsr r6, r6, #2
adc r7, r6, r6
adds r2, r2, r2
adc r7, r7, r7
adds r2, r2, lr
adc r7, r7, r6
subs r3, r3, r2
sbc r7, r1, r7
lsr r2, r3, #3
orr r2, r2, r7, lsl zephyrproject-rtos#29
umull r2, r1, ip, r2
lsr r2, r1, #2
lsr r7, r1, zephyrproject-rtos#31
lsl r1, r2, #3
adds r4, lr, r1
adc r5, r6, r7
adds r2, r1, r1
adds r2, r2, r2
adds r2, r2, r1
subs r2, r3, r2
umull r3, r2, ip, r2
lsr r2, r2, #2
adds r4, r4, r2
adc r5, r5, #0
strd r4, [r0]
pop {r4, r5, r6, r7, pc}
And here's the resulting assembly with this commit applied:
_ldiv5:
push {r4, r5, r6, r7}
movw r4, zephyrproject-rtos#13107
ldr r6, [r0]
movt r4, 13107
ldr r1, [r0, zephyrproject-rtos#4]
mov r3, #0
umull r6, r7, r6, r4
add r2, r4, r4, lsl #1
umull r4, r5, r1, r4
adds r1, r6, r2
adc r2, r7, r2
adds ip, r6, r4
adc r1, r7, r5
adds r2, ip, r2
adc r2, r1, r3
adds r2, r4, r2
adc r3, r5, r3
strd r2, [r0]
pop {r4, r5, r6, r7}
bx lr
So we're down to 20 instructions from 36 initially, with only 2 umull
instructions instead of 3, and slightly smaller stack footprint.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
nvlsianpu
pushed a commit
that referenced
this pull request
Mar 22, 2021
Added function to calculate channel identifier value required for Channel Selection Algorithm #2. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Mar 26, 2021
The fatal log now contains - Trap type in human readable representation - Integer registers visible to the program when trap was taken - Special register values such as PC and PSR - Backtrace with PC and SP If CONFIG_EXTRA_EXCEPTION_INFO is enabled, then all the above is logged. If not, only the special registers are logged. The format is inspired by the GRMON debug monitor and TSIM simulator. A quick guide on how to use the values is in fatal.c. It now looks like this: E: tt = 0x02, illegal_instruction E: E: INS LOCALS OUTS GLOBALS E: 0: 00000000 f3900fc0 40007c50 00000000 E: 1: 00000000 40004bf0 40008d30 40008c00 E: 2: 00000000 40004bf4 40008000 00000003 E: 3: 40009158 00000000 40009000 00000002 E: 4: 40008fa8 40003c00 40008fa8 00000008 E: 5: 40009000 f3400fc0 00000000 00000080 E: 6: 4000a1f8 40000050 4000a190 00000000 E: 7: 40002308 00000000 40001fb8 000000c1 E: E: psr: f30000c7 wim: 00000008 tbr: 40000020 y: 00000000 E: pc: 4000a1f4 npc: 4000a1f8 E: E: pc sp E: #0 4000a1f4 4000a190 E: #1 40002308 4000a1f8 E: #2 40003b24 4000a258 Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
nvlsianpu
pushed a commit
that referenced
this pull request
May 6, 2021
Reorder Channel Selection Algorithm #2 and Minimum Number of Used Channels Procedure bits. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Jul 26, 2021
Implement the functions required to calculate the SubEvent 1 and SubEvent n mapped channel indices. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Jul 26, 2021
Added Bluetooth Specification references to the implementation of Channel Selection algorithm #2 in the Controller. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Oct 28, 2021
Remove explicit disable of Channel Selection Algorithm #2 in the mesh tests that use Extended Advertising. Fixes zephyrproject-rtos#39188. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
nvlsianpu
pushed a commit
that referenced
this pull request
Dec 8, 2022
This patch reworks how fragments are handled in the net_buf infrastructure. In particular, it removes the union around the node and frags members in the main net_buf structure. This is done so that both can be used at the same time, at a cost of 4 bytes per net_buf instance. This implies that the layout of net_buf instances changes whenever being inserted into a queue (fifo or lifo) or a linked list (slist). Until now, this is what happened when enqueueing a net_buf with frags in a queue or linked list: 1.1 Before enqueueing: +--------+ +--------+ +--------+ |#1 node|\ |#2 node|\ |#3 node|\ | | \ | | \ | | \ | frags |------| frags |------| frags |------NULL +--------+ +--------+ +--------+ net_buf #1 has 2 fragments, net_bufs #2 and #3. Both the node and frags pointers (they are the same, since they are unioned) point to the next fragment. 1.2 After enqueueing: +--------+ +--------+ +--------+ +--------+ +--------+ |q/slist |------|#1 node|------|#2 node|------|#3 node|------|q/slist | |node | | *flag | / | *flag | / | | / |node | | | | frags |/ | frags |/ | frags |/ | | +--------+ +--------+ +--------+ +--------+ +--------+ When enqueing a net_buf (in this case #1) that contains fragments, the current net_buf implementation actually enqueues all the fragments (in this case #2 and #3) as actual queue/slist items, since node and frags are one and the same in memory. This makes the enqueuing operation expensive and it makes it impossible to atomically dequeue. The `*flag` notation here means that the `flags` member has been set to `NET_BUF_FRAGS` in order to be able to reconstruct the frags pointers when dequeuing. After this patch, the layout changes considerably: 2.1 Before enqueueing: +--------+ +--------+ +--------+ |#1 node|--NULL |#2 node|--NULL |#3 node|--NULL | | | | | | | frags |-------| frags |-------| frags |------NULL +--------+ +--------+ +--------+ This is very similar to 1.1, except that now node and frags are different pointers, so node is just set to NULL. 2.2 After enqueueing: +--------+ +--------+ +--------+ |q/slist |-------|#1 node|-------|q/slist | |node | | | |node | | | | frags | | | +--------+ +--------+ +--------+ | +--------+ +--------+ | |#2 node|--NULL |#3 node|--NULL | | | | | +------------| frags |-------| frags |------NULL +--------+ +--------+ When enqueuing net_buf #1, now we only enqueue that very item, instead of enqueing the frags as well, since now node and frags are separate pointers. This simplifies the operation and makes it atomic. Resolves zephyrproject-rtos#52718. Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.