Implement a custom abort_cb callback to perform Tx and Rx
flush and adjust the SN/NESN values.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ull_prepare_dequeue to not skip events when preempt
does not match the event in the head of the prepare queue.
The head of the prepare queue does not match when
ull_prepare_dequeue has put the head of the queue to the
last of the queue when it is calling lll_resume interface.
This happens when there is already an active event which
needs a preempt timeout to be setup and there is another
non-resume event in the pipeline which now becomes the
head. The fix ensure to restore the order of the events
if a preempt timeout was to be setup.
Currently ull_prepare_dequeue loops through all events
before stopping at the original way the queue was. This is
not efficient and is a scope for improvement in future.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix Connected ISO time reservation that was missing the
event start and end overhead values.
Fix missing event end overhead values in ACL connection
time reservation.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Calculate CIS offset of secondary CIS(es) using CIG reference point.
This fixes issue with e.g. two CISes associated with separate ACL
connections.
Signed-off-by: Morten Priess <mtpr@oticon.com>
This commit enables having multiple CIS/CIG setups/connects and
teardowns in sequence.
- For central, cig->lll.num_cis is initialized to cis_count and
untouched until ll_cig_remove. The value shall indicate number of
allocated instances, to ensure correct CIG traversal.
- Keep CIG/CIS instances for central until ll_cig_remove
- Initialize CIS instance state vars in ll_cis_create, similar to the
peripheral flow.
- In ll_cig_remove, always release streams and CIG instance. Do not
remove paths, as this is done from host at bt_iso_chan_disconnected.
- Remove unsued cis_count member in ll_conn_iso_group.
- Use correct function ull_iso_lll_ack_enqueue at LLL flush to have
data path respected.
Signed-off-by: Morten Priess <mtpr@oticon.com>
Updated the script that compiles all different permutations so
that it starts with the correct configuration file
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
Some recent PRs included conditional compilation for
KCONFIG_BT_LL_SW_LLCP_LEGACY, which must be removed.
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
The slot reservation code is only valid for the refactored LLCP;
a guard was in place to ensure that it was not compiled in for
legacy controller code. This commit removes this guard
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
This commit removes the code related to advanced scheduling from
ull_sched.c, since this code only works for the legacy controller.
Implementing advanced scheduling for the refactored LLCP is tracked
in its own issue
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
The code that was added for delaying notifications to the host,
which was only implemented for legacy controller, is removed
in this commit
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
This commit removes the legacy LLCP code including the
Kconfig option
It also updates the babblesim tests, and removes the
tests for the legacy controller
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
Tests behaviour of API (addition and deletion of slots, setting valid
state, iteration through slot list). Tests if slots are correctly
saved, recovered and deleted from persistent storage.
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
The copying from the presets to the stream codec and qos
structs were not done in a way that worked. Fixed by doing
a more proper and deeper copy.
This also fixes a small issue with using the wrong
default preset.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
After commit 3486f133e9
GATT Proxy service registration is broken because it is registered from
settings_load() in mesh_commit(). Because mesh_commit() is called before
sc_commit() is called in gatt.c, bt_gatt_service_register() can't be
called yet.
Use k_work to postpone the service registration.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The BT_BAP_UNICAST_CLIENT_PAC_COUNT is there due to a merge conflict
gone wrong. Removed again.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This now throws an error if there is no prj.conf file located in a
user-specified APPLICATION_CONFIG_DIR, which otherwise would have
used an empty configuration and not included board-specific files.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add hostlink-awareness to mdb-hw runner. The mdb-nsim and arc-nsim
runners (as well as cmake scripting for nSIM boards) doesn't require
any changes.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Add support for virtual UART device that uses ARC Hostlink channels
for data transfers. Due to the Hostlink principle, this driver
supports only polling API.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This will enable the use of stm23f072b_disco on this sample.
- Set pwm3 as tim3_ch1_pc6 since red led is using PC6/ TIM3_CH1.
Signed-off-by: Scott Chao <scott_chao@wistron.com>
I was using a source file provided by TDK for a sensor driver
and the file was (originally) not encoded as UTF-8. When the read()
function was called, the build would fail but I had no idea why.
This change wrapps the 'read()' call and prints the error with
the file name as context.
Signed-off-by: Yuval Peress <peress@google.com>
Remove redundant use of local variable chan_idx in the
lll_chan_iso_subevent() function.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
For ISO-subevents channel selection must use remap table always
-regardless of channel is a mapped or unmapped channel.
Signed-off-by: Henrik Møller <heml@demant.com>
At the moment all Intel drivers get label Intel ADSP. Correct to match
only "intel,adsp*".
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Fixes regression introduced in 26cf0b6850
"bluetooth: tester: Add support for missing BTP L2CAP listen param".
Success status was missing resulting in BTP to fail for tests that
require success on connection.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Modify the tests to only have a single set of connection
callbacks, where all the tests can use the same default_conn
and flag_connected.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Ensure that the stream released callback is only called after
the CIS has disconnected. Since the ACL disconnect event
may come before the CIS disconnect event, we use the
unicast_client_ep_idle_state in the unicast_client_reset
function to use the existing state verification, and only
after both the ACL and CIS has disconnected, we
finalize the reset of the stream and call the released
callback, assuming that the CIS can be disconnected.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BT_ISO_STATE_DISCONNECTING was never set when the
CIS was actually in the disconnecting state.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Previously we assumed only a single stream, and deleted
the unicast group on the first stream released.
Now we wait for all the streams to be released before
deleting the group.
This still assumes that all streams are initiated by us
as the client, and will not work if using the
BAP unicast client and server role concurrently.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
To ensure no indeterminism, synchronize devices before they
boot, and therefore before the test main function is executed.
Note that at this point, there is no actual indeterminism
to correct.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Some testcases may benefit from having options to synchronize
to the Phy either before running the test pre-initialization
and/or before booting the CPU.
Provide these options.
Background: Before synchronizing to the Phy devices execute
ahead asynchronously. This is not a problem in most cases,
as normally the only interaction between devices happens thru the
radio, and as soon as any radio interaction occurs, the devices
are step-locked by the Phy.
But some devices do share information in other ways between,
like for example using the backchannels. This may benefit
from using these options.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Remove a bad LOG_ERR that should never have been merged.
Added the valuet that was logged to the debug log statement.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The conditions of the assert were incorrect compared to the
text, and caused an assert to happen when it shouldn't.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
We get compile warnings of the form:
drivers/console/uart_console.c:508:8: error: converting the result of
'<<' to a boolean; did you mean
'((__aeabi_ctype_table_ + 1)[(byte)] << 28) != 0'?
[-Werror,-Wint-in-bool-context]
if (!isprint(byte)) {
^
Since isprint returns an int, change check to an explicit test against
the return value.
Signed-off-by: Kumar Gala <kumar.gala@intel.com>
After disabling the channel, it is recommended to poll with timeout to
ensure that the channel has actually been disabled. Without this,
reconfiguring the DMA again while the channel is active could lead to
unexpected behavior and/or DMA underruns.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The WAIT_FOR() function returns the value of checked expression. So fix
the return value check to log and return the timeout error when checking
if the FIFO is empty during stop.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add a helper function to dump the GPDMA SHIM and channel registers for
debug along with a config option to enable it.
Co-developed-by: Tom Burdick <thomas.burdick@intel.com>
Singed-off-by: Tom Burdick <thomas.burdick@intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>