paul-szczepanek-arm
bc3ff56504
partial security pass
2019-02-27 21:46:08 +00:00
paul-szczepanek-arm
a1815e31f0
correct dependencies for central and peripheral
2019-02-27 21:39:07 +00:00
paul-szczepanek-arm
c3a72073be
cordio extended peripheral pass
2019-02-27 21:39:07 +00:00
paul-szczepanek-arm
e950da11f2
extended doesn't depends on phy
2019-02-27 21:39:06 +00:00
paul-szczepanek-arm
ec6783ed77
cordio peripheral role pass
2019-02-27 21:39:06 +00:00
paul-szczepanek-arm
45eca7c373
cordio observer role pass
2019-02-27 21:36:26 +00:00
paul-szczepanek-arm
eb16fb6053
broadcaster role cordio pass
2019-02-27 21:34:00 +00:00
paul-szczepanek-arm
c198603c63
ble ifdefs
2019-02-27 21:17:15 +00:00
paul-szczepanek-arm
e44c3edede
fix gap ifdefs
2019-02-27 21:17:15 +00:00
paul-szczepanek-arm
909b78fc14
complete gap feature ifdef
2019-02-27 21:15:54 +00:00
paul-szczepanek-arm
630b2fe792
more gap ifdefs
2019-02-27 21:08:15 +00:00
paul-szczepanek-arm
1d5b7d4056
ifdef source files based on features
2019-02-27 21:00:11 +00:00
paul-szczepanek-arm
c8d8c4e159
merge failure fix
2019-02-27 21:00:10 +00:00
paul-szczepanek-arm
30ad32a465
ifdef out security features
2019-02-27 20:59:35 +00:00
paul-szczepanek-arm
9e710d4309
git review changes
2019-02-27 20:59:35 +00:00
paul-szczepanek-arm
cb3d79bf9b
update descriptions
2019-02-27 20:57:10 +00:00
paul-szczepanek-arm
7974726659
fixed conf file (tabs and order)
2019-02-27 20:57:09 +00:00
paul-szczepanek-arm
208eb200f1
gatt client signing
2019-02-27 20:57:09 +00:00
paul-szczepanek-arm
3e03c11832
guard class fields with ifs
2019-02-27 20:55:58 +00:00
paul-szczepanek-arm
33e8826361
whitelist feature
2019-02-27 19:46:43 +00:00
paul-szczepanek-arm
bc69e15638
revert accidental changes
2019-02-27 19:46:42 +00:00
paul-szczepanek-arm
dc3aba181e
fix BLE_CONNECTABLE_FEATURE macro
2019-02-27 19:46:12 +00:00
paul-szczepanek-arm
5a97706aab
added #if guards to cordio ble
2019-02-27 19:46:12 +00:00
paul-szczepanek-arm
bed567825f
connectable is a feature not role
2019-02-27 19:31:47 +00:00
paul-szczepanek-arm
b60eaf14a2
require macros to be defined
2019-02-27 19:31:47 +00:00
paul-szczepanek-arm
26cc72f191
add more feature toggles in cordio init
2019-02-27 19:31:47 +00:00
paul-szczepanek-arm
9a22db0e96
implied features
2019-02-27 19:31:46 +00:00
paul-szczepanek-arm
ab4e47661d
move config to ble feature
2019-02-27 19:31:46 +00:00
paul-szczepanek-arm
212e9477d3
require at least one role observer or broadcaster
2019-02-27 19:31:46 +00:00
paul-szczepanek-arm
aefab05e5a
add all the features and rename existing non-roles to features
2019-02-27 19:31:46 +00:00
Steve Cartmell
8e36ed4b1e
feat(ble): Guard out the CordioBLE initialisation code
2019-02-27 19:29:51 +00:00
Steve Cartmell
72d28d920a
feat(ble): Guard out Observer code when role is disabled
2019-02-27 19:29:51 +00:00
Steve Cartmell
5d73a03a64
feat(ble): Guard out SecurityManager code when role is disabled
2019-02-27 19:24:40 +00:00
Steve Cartmell
73f7ffb124
feat(ble): Guard out GattServer code when role is disabled
2019-02-27 19:24:39 +00:00
Steve Cartmell
6e301ce148
feat(ble): Guard out GattClient code when role is disabled
2019-02-27 19:23:31 +00:00
Steve Cartmell
9806f91ecf
feat(ble): Add preprocessor check to determine enabled roles are valid
...
A number of BLE roles depend on each other, checking within the target
configuration file for a valid configuration is infeasible. Move the
validation to the preprocessor and fail to compile if some required
roles are not enabled.
2019-02-27 19:00:08 +00:00
Vincent Coubard
73f29e7733
BLE - Fix qualification of abort and terminate.
2019-02-26 13:18:18 +00:00
Vincent Coubard
9ab284940a
BLE - Devirtualization of the NRF52 softdevice port.
2019-02-26 13:18:18 +00:00
Vincent Coubard
ddbb177e33
BLE - Devirtualization of the NRF51 port.
2019-02-26 13:18:17 +00:00
Vincent Coubard
b86049d1e7
BLE - Devirtualization of the legacy NRF51822 port.
2019-02-26 13:18:17 +00:00
Vincent Coubard
0323d91f04
BLE - Devirtualization of the Maxim port .
2019-02-26 13:18:17 +00:00
Vincent Coubard
536443b1f8
BLE - Devirtualization of the Cordio port.
2019-02-26 13:18:17 +00:00
Vincent Coubard
04d26f7ab5
BLE - Devirtualize ::ble::generic::GenericSecurityManager
...
Two parameters are expected by the template:
- TPalSecurityManager a template class of the security manager of the form TPalSecurityManager<EventHandler>. The GenericSecurityManager is the event handler.
- SigningMonitor a template in the form SigningMonitor<Handler>.
2019-02-26 13:18:17 +00:00
Vincent Coubard
b135074821
BLE - Devirtualize ble::generic::GattClient
...
GenericGattClient is parametized by two types:
- The template of the PalGattClient
- The SigningMonitorEventHandler
Note that the PalGattClient template must be of the form PalGattClient<EventHandler>. The event handler being the GenericGattClient.
2019-02-26 13:18:17 +00:00
Vincent Coubard
39e938bf8e
BLE - Devirtualize ble::generic::GenericGap
...
Expected types are similar to the type expected by the constructor:
- PalGap
- PalSecurityManager
- ConnectionEventMonitorEventHandler
Note that for the PalGap we expect a **template** of the form PalGap<EventHandler>
2019-02-26 13:18:17 +00:00
Vincent Coubard
e70fb27d55
BLE - cleanup includes.
2019-02-26 13:18:17 +00:00
Vincent Coubard
fb39848481
BLE - Cleanup deprecation implementation bits in BLE.cpp
2019-02-26 13:18:17 +00:00
Vincent Coubard
7796e733ad
BLE - Devirtualize ::SecurityManager
...
The interface now lives in ::ble::interface::SecurityManager. The implementation type is expectected to exported as ble ::ble::impl::SecurityManager by the implementation.
2019-02-26 13:18:17 +00:00
Vincent Coubard
6d2592a137
BLE - Devirtualize ::GattServer.
...
The interface is defined in ::ble::interface::GattServer and an implementation must export the implementation type ::ble::impl::GattServer.
2019-02-26 13:18:17 +00:00
Vincent Coubard
e56fd682a1
BLE - Devirtualize ::GattClient
...
Interface definition now lives in ble::interface::GattClient. An implementation must export the implementation type in ::ble::impl::GattClient.
2019-02-26 13:18:17 +00:00
Vincent Coubard
43e87fb04d
BLE - Devirtualize ::ble::Gap
...
The interface definition now lives in ::ble::interface::Gap.
The implementation must export the implementation types as ::ble::impl::Gap.
2019-02-26 13:18:17 +00:00
Vincent Coubard
1ad726322f
BLE - Devirtualization of ::Gap
...
The interface definition now lives in ::ble::interface::LegacyGap. Implementation must export the implementation type as ble::impl::LegacyGap.
2019-02-26 13:18:17 +00:00
Vincent Coubard
2d007eee42
BLE - Devirtualize pal::SigningEventMonitor
...
The event handler has been extracted out of SigningEventMonitor declaration and SigningEventMonitor instantion requires the implementation and event handler type.
2019-02-26 13:18:17 +00:00
Vincent Coubard
50de4c8a44
BLE - Devirtualize pal::SecurityManager
...
The event handler has been extracted out of SecurityManager declaration and instantion of the interface requires the implementation and event handler type.
2019-02-26 13:18:17 +00:00
Vincent Coubard
e1371f8149
BLE - Devirtualize pal::GattClient
...
The event handler has been taken out of GattClient declaration and an instantiation requires the actual implementation and the type that handle events.
2019-02-26 13:18:17 +00:00
Vincent Coubard
0749100676
BLE - Devirtualize pal::Gap
...
The event handler has been taken out of Gap declaration and the instantiation must provide an implementation and the type that plays the event handler role.
2019-02-26 13:18:17 +00:00
Vincent Coubard
6514bbd1f0
BLE - Devirtualize pal::ConnectionEventMonitor
...
The event handler has been extracted out of the monitor declaration.
2019-02-26 13:18:17 +00:00
Vincent Coubard
71b8d8a2f3
BLE - devirtualize pal::AttClientToGattClientAdapter
2019-02-26 13:18:17 +00:00
Vincent Coubard
333a31507b
BLE - devirtualize pal::AttClient
2019-02-26 13:18:17 +00:00
Vincent Coubard
7e78433cec
BLE - replace some usages of Gap::Handle_t by ble::connection_handle_t
2019-02-26 13:18:17 +00:00
Vincent Coubard
bc098d0272
BLE - add static interface helper.
2019-02-26 13:18:17 +00:00
Desmond Chen
0143229bd0
Fix Cordio Gatts descriptor configuring write permission
2019-02-26 11:30:57 +08:00
Cruz Monrreal
d0881ad259
Merge pull request #9813 from paul-szczepanek-arm/cordio-cfg
...
BLE: Cordio build time configuration through mbed_lib.json
2019-02-25 17:28:56 -06:00
Cruz Monrreal
8ec8674e4e
Merge pull request #9833 from donatieng/remove_beetle
...
Remove Arm Beetle target for Mbed OS 5.12
2019-02-25 17:27:22 -06:00
paul-szczepanek-arm
f62217b3dd
typos
2019-02-25 15:33:52 +00:00
paul-szczepanek-arm
a7297186b5
fixed names
2019-02-25 15:30:55 +00:00
paul-szczepanek-arm
e75c534445
stray comma
2019-02-25 15:23:35 +00:00
Donatien Garnier
176e5779ce
Remove Arm Beetle target
...
Deprecation in preparation for Mbed OS 5.12 and move to IAR8 and ARMC6
2019-02-25 12:09:03 +00:00
paul-szczepanek-arm
6842c8718b
revert macros
2019-02-25 09:52:21 +00:00
paul-szczepanek-arm
6a2b6b891a
use existing macro names
2019-02-25 09:49:16 +00:00
Lei Zhang
a47b365776
PSOC6: send HCI reset after patch RAM download
...
After the patch RAM download is completed, a HCI reset should be sent in order to initialize the registers. Some of the initialization won't be called if the HCI reset is not sent after firmware download.
2019-02-22 23:43:52 -08:00
paul-szczepanek-arm
4b0296a6e1
prepared writes options
2019-02-22 13:52:21 +00:00
paul-szczepanek-arm
4470f64581
mention config in readme
2019-02-22 11:33:23 +00:00
paul-szczepanek-arm
86546440d7
put cordio cfg in mbed_lib.json
2019-02-22 11:28:28 +00:00
Volodymyr Medvid
b0a33273ff
Correctly include EventQueue.h
...
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h
By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:
mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared
Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Cruz Monrreal
b1d0d9e95c
Merge pull request #9776 from ConradBraam/adv_builder
...
adv builder helper now returns an object
2019-02-20 12:04:51 -06:00
Conrad Braam
57033ee91a
adv builder helper now returns an object
2019-02-20 13:54:38 +00:00
Martin Kojtal
2d30d0ff99
Merge pull request #9762 from vmedcy/psoc6-target-updates
...
PSOC6: update the psoc6pdl and HAL to the latest version
2019-02-20 11:23:54 +01:00
paul-szczepanek-arm
db4aecb275
fixed initialisation order
2019-02-19 17:26:43 +00:00
Volodymyr Medvid
cefc7452c9
PSOC6: do not reconfigure BT GPIO pins in CYW43XXX HCIDriver
2019-02-19 17:59:04 +02:00
Desmond Chen
79e8bf4bc9
BLE:Cordio: ATTS setting for write cback should use bitwise or
2019-02-19 14:19:44 +08:00
paul-szczepanek-arm
d801ed340e
removed redundant qualifier tripping up GCC
2019-02-14 12:34:35 +00:00
paul-szczepanek-arm
cdd5c9f3b0
fix nrf52 mtu
2019-02-14 12:34:35 +00:00
paul-szczepanek-arm
193092f6d9
added spdx licence ident
2019-02-14 12:34:35 +00:00
paul-szczepanek-arm
f52b20c169
move cpp to sources
2019-02-14 12:34:35 +00:00
paul-szczepanek-arm
1cea53b6a7
use grandfathered convention for class members names and initialise them
2019-02-14 12:34:34 +00:00
paul-szczepanek-arm
3808db90b2
require pal event handler to be complete
2019-02-14 12:34:34 +00:00
paul-szczepanek-arm
de60b2a56a
remove unused converter
2019-02-14 12:34:34 +00:00
paul-szczepanek-arm
03b747a6f6
Get the pal event handler from pal gattclient
2019-02-14 12:34:34 +00:00
paul-szczepanek-arm
b628285254
route mtu changed events to server and client instead of gap
2019-02-14 12:34:33 +00:00
paul-szczepanek-arm
a3f635eb88
fix type name
2019-02-14 12:34:33 +00:00
paul-szczepanek-arm
c10fc2eb8e
add API to trigger MTU negotiation
2019-02-14 12:34:33 +00:00
paul-szczepanek-arm
02d5391cd0
fix possible truncation
2019-02-14 12:34:33 +00:00
paul-szczepanek-arm
b6df6d54a1
change event names
2019-02-14 12:34:32 +00:00
paul-szczepanek-arm
356ec39d02
fix style
2019-02-14 12:34:32 +00:00
paul-szczepanek-arm
21ad886e9e
handle mtu and data len events for softdevice
2019-02-14 12:34:32 +00:00
paul-szczepanek-arm
06a2a403e9
fix typos
2019-02-14 12:34:31 +00:00
paul-szczepanek-arm
108d6908be
route ble events to gap
2019-02-14 12:34:31 +00:00
paul-szczepanek-arm
c452d8ff0e
add mtu events
2019-02-14 12:34:31 +00:00
Naveen Kaje
0563276466
btle: fix build warning about unused clockConfiguration
...
Fix the following build warning seen with both GCC and ARM_CC
[Warning] btle.cpp@115,0: #177-D: variable "clockConfiguration" was declared but never referenced
2019-02-13 10:42:48 -06:00
Cruz Monrreal
58cba25799
Merge pull request #9372 from pan-/fix-cryptotoolbox
...
BLE - Nordic: Release crypto cell when not in use.
2019-02-11 18:45:17 -06:00
Volodymyr Medvid
a16811532b
PSoC6: add implementation of BLE HCI driver for CYW4343W/CYW43012
...
Add Cypress HCI driver implementation in TARGET_Cypress directory.
Update targets.json to enable CORDIO stack for Cypress PSoC 6 boards
with CYW43XXX radios with compatible HCI driver implementation:
CYW4343W and CYW43012.
2019-02-07 18:24:56 +02:00
Volodymyr Medvid
a304c2216a
CYW4343X: move HCI driver to TARGET_STM
...
TARGET_CYW4343X Bluetooth HCI driver is specific to STM32 targets
derived from USI_WM_BN_BM_22. Move the driver implementation to
TARGET_STM folder to not interfere with Cypress implementation at
TARGET_Cypress/TARGET_CYW43XXX/HCIDriver.cpp that is enabled for
PSoC 6 targets which also include the CYW4343X label.
2019-02-07 18:24:55 +02:00
Senthil Ramakrishnan
2030d03590
Modified fixes with review comments
2019-02-01 17:49:49 -06:00
Senthil Ramakrishnan
ea30ed7a36
Fix for ARMc6 compiler errors
2019-02-01 17:46:50 -06:00
paul-szczepanek-arm
d9c919b7e1
review fixes
2019-01-30 12:19:04 +00:00
paul-szczepanek-arm
e1a8fb5a7a
check scanning status first
2019-01-30 11:45:26 +00:00
paul-szczepanek-arm
7f888f86bf
scan timeout for 4.2 controllers using new API
2019-01-30 11:37:17 +00:00
Cruz Monrreal
66cda8a8fe
Merge pull request #9499 from bridadan/remove_yotta_modules
...
Remove unused yotta module metadata
2019-01-28 10:37:30 -06:00
Cruz Monrreal
b49d949b50
Merge pull request #9393 from pan-/fix-safe-enum-type-safety
...
BLE: Fix SafeEnum type safety
2019-01-28 10:31:52 -06:00
Brian Daniels
ee5281abef
Remove unused yotta module metadata
2019-01-24 15:30:20 -06:00
Martin Kojtal
4019efb21d
Merge pull request #9399 from paul-szczepanek-arm/fix-null-check
...
BLE: fix missing null checks on Gap event handler
2019-01-21 13:43:16 +01:00
Martin Kojtal
ad5bcfc1de
Merge pull request #9427 from paul-szczepanek-arm/fix-truncation
...
BLE: fix possible truncation
2019-01-21 13:42:07 +01:00
paul-szczepanek-arm
42e4290160
error when there is no handler
2019-01-18 14:55:38 +00:00
paul-szczepanek-arm
001919e81a
fix truncation
2019-01-18 12:10:30 +00:00
Cruz Monrreal
fd2a96e7ad
Merge pull request #9339 from costanic/fix_oob
...
Fix Out-Of-Band (OOB) data generation for BLE OOB pairing
2019-01-17 21:51:54 -06:00
Cruz Monrreal
3b43a2d976
Merge pull request #9333 from offirko/offir_doxygen
...
Minor Doxygen fixes for BufferedBlockDevice and iBeacon
2019-01-17 21:51:14 -06:00
Martin Kojtal
284781a565
Merge pull request #9096 from pan-/fix-enforce-size-limits
...
BLE: Enforce advertising data payload limits
2019-01-17 12:41:57 +01:00
Cruz Monrreal
d0665c8458
Merge pull request #9365 from lrusinowicz/cordio_ble_fix
...
Fix for asserion failing in BLE::callDispatcher with gcc debug profile.
2019-01-16 22:03:16 -06:00
Vincent Coubard
79bd3ea982
BLE: Fix relationnal operator of SafeEnum
...
The relationnal operators were targeting the base class which defines an implicit constructor to an integral value. This is wrong as it allows SafeEnum instances to be compared against integers.
The fix is simple: define relationnal operators for the derived class. The derived class is known as it is passed as a template parameter of the base class.
For extra safety the SafeEnum constructor is now explicit and protected.
2019-01-16 16:06:21 +00:00
Vincent Coubard
f8ef143ed7
BLE: Fix comparison expression between an integer and a SafeEnum
2019-01-16 16:06:21 +00:00
paul-szczepanek-arm
fa36ed02ee
add missing null checks
2019-01-16 14:56:54 +00:00
Vincent Coubard
a10a10a3d7
BLE - Nordic: Release crypto cell when not in use.
...
Previously, the CryptoToolbox was allocated once as part of the security manager.
This was inneficient memory wise as it is only use to prepare key at initialization
and when we need to compute shared keys.
This was also inneficient power consumption wise as the Crypto cell was kept enabled even
when it wasn't used.
This fix creates a CryptoToolbox whenever it is needed and release it once it has fulfilled its
purpose. Note that CryptoToolbox allocation happens on the heap as mbed tls data structure are huge
and there's an high risk of crushing the stack.
2019-01-14 16:56:07 +00:00
Leszek Rusinowicz
f294447c25
Moved nextTimeout variable out of critical section in BLE::callDispatcher.
...
Initialization of Timeout object contains critical section inside constructor. Initialization inside critical section caused assertion failing under "debug" profile.
2019-01-14 11:13:28 +01:00
Nic Costa
7795e30bce
Remove own_oob and peer_oob flags from Nordic PAL
...
the own_oob and peer_oob flags were not being set to 1 even though
an OOB pairing request was in progress, which therefore prevented
OOB data from being passed down to the softdevice during a OOB
pairing operation, thus causing the OOB pairing process to fail.
2019-01-11 08:54:30 -06:00
Nic Costa
24d793ce5d
Fix parameters provided to oob generator function
...
The function in the Nordic SDK for generating OOB data,
sd_ble_gap_lesc_oob_data_get, requires local LE Secure Connection
P256 Public Keys in {X,Y} format, but was being supplied with
the local secret key. This caused the generated OOB data to
fail to correspond to the Public Keys, which caused a mismatch
during the OOB pairing phase of the OOB confirmation value by
a remote peer when attempting to verify the OOB data against
the Public Keys, ultimately causing the OOB pairing request to
fail with a Confirm Value Failed (0x04) error.
2019-01-11 08:54:30 -06:00
Nic Costa
55507eaf75
Fix race condition when generating OOB data
...
The GenericSecurityManager tracks the most recent OOB data generated
by the PAL and the PAL function to generate OOB data is expected to
be asynchronous such that the OOB data is returned via a callback.
There was a race condition on the security manager's oob data variable
because it was cleared (set to all zeros) after calling PAL generate.
The expectation was that the clear operation would occur before the
callback executed, but this is proving to not be the case. Instead,
the callback is being executed as if it were syncronous with PAL
generate, then PAL generate returns and the oob data is cleared,
thereby losing the generated oob data that was set in the callback.
To fix the issue, clear the oob data variables before calling into
the PAL.
2019-01-11 08:54:30 -06:00
Guy Wild
9b3adc2795
Update iBeacon.h
...
Technical author review
2019-01-10 17:04:23 +02:00
Jarno Lamsa
d9e24b25e4
Update and cleanup BLE.h doxygen
2019-01-10 16:12:56 +02:00
offirko
b21576c8cf
Review updates
2019-01-10 15:42:28 +02:00
offirko
61926092a2
Minor Doxygen fixes for BufferedBlockDevice and iBeacon
2019-01-10 14:35:09 +02:00
Cruz Monrreal
54f759176b
Merge pull request #9210 from AnttiKauppila/mbed_h_fix
...
mbed.h includes removed
2019-01-04 10:27:30 -06:00
Donatien Garnier
9dae672ac0
Fixes for features/FEATURE_BLE/ble/services/EddystoneConfigService.h
2019-01-04 09:54:14 +00:00
Donatien Garnier
bc2bd89f83
Fixes for features/FEATURE_BLE/ble/services/EddystoneService.h
2019-01-04 09:50:24 +00:00
Martin Kojtal
0f7381d436
Merge pull request #9058 from pan-/fix-scan-timeout
...
BLE: suppress scan timeout if we disabled scanning
2019-01-04 08:41:36 +00:00
paul-szczepanek-arm
3be792a3b3
simplify for statement
2019-01-03 12:24:33 +00:00
Desmond Chen
f281e06e46
BLE: NRF52 returns tx/rx phy on phy update callback
2019-01-03 10:11:14 +08:00
paul-szczepanek-arm
dd1d473375
future proof return size
2019-01-02 15:42:14 +00:00
paul-szczepanek-arm
a66ffa34be
add constructor suggested by Vincent
2019-01-02 15:34:50 +00:00
paul-szczepanek-arm
8b39071cd8
make function name longer
2019-01-02 14:29:30 +00:00
Antti Kauppila
02b0f79e15
mbed.h includes removed
2018-12-28 14:36:10 +02:00
Desmond Chen
30ca813f07
Fix BLE long write execution failure
2018-12-19 08:08:16 -08:00
paul-szczepanek-arm
67db321500
check illegal adv params combimnation
2018-12-13 17:52:18 +00:00
paul-szczepanek-arm
ff0a2a907e
check connectible sizes
2018-12-13 17:52:00 +00:00
paul-szczepanek-arm
c5bad804e2
add asserts for illegal compinations of adv params
2018-12-13 17:51:45 +00:00
paul-szczepanek-arm
7dd90e1810
Docuement active set length and add informative call for querying the limit
2018-12-13 17:51:10 +00:00
paul-szczepanek-arm
e1cf516100
fix max payload and hci length values
2018-12-13 17:50:53 +00:00
paul-szczepanek-arm
50d1818d72
call advertising end even if stopped by us
2018-12-13 17:33:36 +00:00
Naveen Kaje
448c4d5d89
BLE: Update toolchain.h with mbed_toolchain.h
...
Fixes the following warning
[Warning] toolchain.h@24,0: #1215-D: #warning directive:
toolchain.h has been replaced by mbed_toolchain.h,
please update to mbed_toolchain.h [since mbed-os-5.3]
2018-12-10 13:57:52 -06:00
Cruz Monrreal
23022dd0f9
Merge pull request #8998 from pan-/ble-extended-advertising-fixes
...
Ble extended advertising fixes
2018-12-10 10:36:05 -06:00
paul-szczepanek-arm
13a10f3efa
suppress scan timeout if we disabled scanning
2018-12-10 16:31:34 +00:00
paul-szczepanek-arm
a545da7790
remove noreturn error function to avoid compilation issues
2018-12-10 13:54:09 +00:00
paul-szczepanek-arm
c998287170
fixed ARM compilation problem caused by noreturn
2018-12-10 13:47:14 +00:00
paul-szczepanek-arm
97df8f5ed9
working ARM lib
2018-12-10 13:46:26 +00:00
paul-szczepanek-arm
642b2dfb57
working libs for GCC and IAR
2018-12-10 09:12:03 +00:00
Donatien Garnier
6f94339aed
Replace ARMCC libs
2018-12-08 08:43:20 +00:00
Donatien Garnier
db6b09a70f
ARMCC only likes armar
2018-12-07 23:45:26 +00:00
Donatien Garnier
3f00595e62
Remove use of GPIOs (LEDs and diag pins) from Cordio LL for Nordic
2018-12-07 22:46:27 +00:00
Donatien Garnier
674ff288d6
Remove duplicate symbols in libcordio_stack.a
2018-12-07 22:04:19 +00:00
paul-szczepanek-arm
a48369691e
iar libs for cordio
2018-12-07 17:56:36 +00:00
paul-szczepanek-arm
bdabada477
added arm version of libs
2018-12-07 17:41:50 +00:00
paul-szczepanek-arm
c13dcf3387
baseband clock rate increased to 1 000 000
2018-12-07 17:12:58 +00:00
Vincent Coubard
e7f81fe7e8
BLE: Fix the number of advertising sets supported
...
The number of advertising sets supported is the minimum of advertising sets supported beween the host and the controller.
2018-12-07 13:26:35 +00:00
Vincent Coubard
4e5240b743
BLE: Set the number of the advertising sets supported by the host to 3.
2018-12-07 13:24:52 +00:00
Vincent Coubard
57b79d9659
BLE: Set the number of supported phy by the host to 3.
2018-12-07 13:24:28 +00:00
Vincent Coubard
20e0cd1b0e
BLE: Inject random static address during reset sequence.
2018-12-07 12:35:20 +00:00
Vincent Coubard
a36b04fde5
BLE: Add an option to inject the random static address during the reset sequence.
2018-12-07 12:33:31 +00:00
Vincent Coubard
0d398bc8c8
BLE: Revert changes introduced by debugging.
2018-12-07 09:33:26 +00:00
Vincent Coubard
1c71713e1b
BLE: Fix recursion in ble::advertising_data_status_t raw constructor.
2018-12-07 00:05:02 +00:00
Vincent Coubard
698447b622
BLE: Fix address type allowed to create a periodic sync.
2018-12-07 00:04:29 +00:00
Vincent Coubard
df95a1f8bd
BLE: Allow null value for periodic interval in advertising report event.
2018-12-07 00:03:50 +00:00
Amanda Butler
aa4b5a5dc7
Edit PortingGuide.md
...
Edit file for active voice.
2018-12-06 13:24:10 -06:00
Amanda Butler
61c2599587
Edit CordioHCIDriver.h
...
Edit file for active voice.
2018-12-06 13:22:20 -06:00
paul-szczepanek-arm
df443c20ca
copy periodic payload
2018-12-06 17:54:13 +00:00
paul-szczepanek-arm
22a117a6e4
always set filter policy
2018-12-06 15:43:45 +00:00
paul-szczepanek-arm
5735456487
fix swapped errors
2018-12-06 15:05:35 +00:00
paul-szczepanek-arm
58c7c3868e
check return value of DmSyncStart
2018-12-06 15:04:23 +00:00
paul-szczepanek-arm
d372f16bc4
fix return value
2018-12-06 15:04:00 +00:00
Vincent Coubard
c83dccf65c
BLE: Set advertising random address when appropriate.
2018-12-06 11:25:50 +00:00
Vincent Coubard
0543442cc3
BLE: Fix conversion of advertising type
...
Previously, we were passing the event_properties as defined by the Bluetooth spec which is not what DmAdvConfig expect as the advertising type passed to DmAdvConfig is Cordio tailored (and incomplete).
2018-12-06 11:23:45 +00:00
Vincent Coubard
d9d4a214b8
BLE: Revert change in stack setup initialisation.
...
While good this change breaks some old application that were adding GATT services before the initialisation of BLE.
This patch revert temporarily this change for now
2018-12-06 11:21:43 +00:00
Vincent Coubard
e3d8b28483
Update features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h
...
Fix doxygen as suggested by @pan-
Co-Authored-By: donatieng <donatien.garnier@arm.com>
2018-12-06 10:19:57 +00:00
Donatien Garnier
4485531173
Update Porting Guide with memory pool changes
2018-12-05 19:24:44 +00:00
Donatien Garnier
7e6efc2571
Cordio: Update CY8C63XX Driver to use default memory pool
2018-12-05 19:24:44 +00:00
Donatien Garnier
f9b236184a
Cordio: Update CYW4343X Driver to use default memory pool
2018-12-05 19:24:44 +00:00
Donatien Garnier
218bf3f80c
Cordio: Update ODIN-W2 Driver to use default memory pool
2018-12-05 19:24:44 +00:00
Donatien Garnier
2978cd8404
Cordio: Make allocating too much memory for pool a warning, not a fatal assert
2018-12-05 19:24:44 +00:00
Donatien Garnier
101c5697e5
Cordio Nordic LL: Readjust memory pool requirements for NRF52840
2018-12-05 19:24:44 +00:00
Donatien Garnier
c99f2497c3
Cordio Nordic LL: Optimize memory for smaller targets
2018-12-05 19:24:44 +00:00
Donatien Garnier
7a33feca23
Cordio: Split get_buffer_pool_description() in pure virtual + default implementation to avoid allocating two memory pools in a static fashion
2018-12-05 19:24:44 +00:00
Donatien Garnier
b83c4fde66
Cordio: Assert if memory pool is not exactly the right size
2018-12-05 19:24:44 +00:00
Cruz Monrreal
b3b050170e
Merge pull request #8879 from pan-/ble-extended-advertising-doc-fixes
...
Ble extended advertising doc fixes
2018-12-04 11:51:44 -06:00
Martin Kojtal
403405c44c
Merge pull request #8953 from ARMmbed/yennster-patch-1
...
Update FEATURE_BLE README
2018-12-04 14:32:14 +01:00
Mel W
f92cc7b30b
Capitalization and punctuation
2018-12-04 12:34:48 +02:00
Martin Kojtal
c1c94c83c5
Merge pull request #8904 from pan-/ble-extended-advertising-fixes
...
Ble extended advertising fixes
2018-12-04 09:50:36 +01:00
Jenny Plunkett
fa191259b7
Update FEATURE_BLE README
...
Remove all outdated information including supported services and old documentation links
2018-12-03 13:09:01 -06:00
Vincent Coubard
472c57205b
BLE: Fix doxygen parameter declaration order.
2018-12-03 18:03:30 +00:00
Vincent Coubard
d1b0642ad2
BLE: rename AdvertisingReportEvent::getAdvertisingData into getPayload.
...
This change makes it consistent with PeriodicAdvertisingReportEvent.
2018-12-03 17:56:54 +00:00
Vincent Coubard
ed426c5b45
BLE: rename ConnectionParameters::getFilterPolicy into getFilter for consistency.
2018-12-03 17:11:28 +00:00
Vincent Coubard
5abf2f08fa
BLE: Reintroduce refactored type identifier in privacy configuration structures.
2018-12-03 17:04:38 +00:00
Vincent Coubard
dc3ff6a5e0
BLE: Rename ConnectionParameters::setFilterPolicy into setFilter for consistency.
2018-12-03 16:56:20 +00:00
Vincent Coubard
e026bce881
BLE: Change parameter order of ble::Gap::startScan
2018-12-03 16:50:10 +00:00
Martin Kojtal
ce11081db7
Merge pull request #8884 from pan-/fix-cordio-connection-iteration
...
BLE: Fix iteration on connections in CordioGattServer.
2018-12-03 13:40:23 +01:00
Paul Szczepanek
0c21112482
fix DM_CONN_ID_NONE loop condition
2018-11-30 08:16:17 +00:00
Vincent Coubard
8c4a1a7b7a
BLE: Improve scan response process explanation.
2018-11-29 13:52:04 +00:00
Vincent Coubard
da3720138e
BLE: Fix common/Duration.h doc.
2018-11-29 13:52:04 +00:00
Vincent Coubard
e8972a72a4
BLE: provide better default connection parameters.
2018-11-29 12:32:36 +00:00
Vincent Coubard
4ed3f5620f
BLE: Fix name of DisconnectionEvent into DisconnectionCompleteEvent for consistency.
2018-11-29 12:28:38 +00:00
Vincent Coubard
3ddcdf24a3
BLE: Fix ble::Gap::getMaxAdvertisingDataLength return type.
2018-11-29 12:26:40 +00:00
Vincent Coubard
402a4479d2
BLE: Ensure scan process is stopped before connecting.
2018-11-29 12:22:34 +00:00
Vincent Coubard
78468fb6e3
BLE: Use RANDOM address per default for Advertising, Scan and Connection parameter.
...
Unlike the public address, the RANDOM address is guaranteed to exist.
If privacy is enabled, it means the controller will generates random resolvable addresses or non resolvable addresses depending on the config.
If privacy is not enabled then the device will use the device's random static address that doesn't change between radio processes.
2018-11-29 12:18:11 +00:00
Vincent Coubard
e7ef0b764e
BLE: protect event signaling flag from concurent accesses.
2018-11-28 17:25:44 +00:00
Vincent Coubard
c23911e3d8
BLE: Fix extraction of advertising element type.
2018-11-28 17:15:54 +00:00
Vincent Coubard
c99824892c
BLE: Reintroduce changes to address types lost.
2018-11-28 11:29:40 +00:00
Steve Cartmell
353e991410
doc(pan-cordio): Add toolchain version used to compile cordio-ll readme
2018-11-28 10:26:14 +00:00
Steve Cartmell
a3bae1c48d
doc(pan-cordio): Add readme and license documents for cordio link layer
2018-11-28 10:26:14 +00:00
Donatien Garnier
5a87cfa13d
Fix a few more rebasing issues
2018-11-28 10:26:14 +00:00
Donatien Garnier
89aabaec0d
Fix some rebasing quirks
2018-11-28 10:26:14 +00:00
Donatien Garnier
f9808140df
Add number of advertising sets
2018-11-28 10:26:14 +00:00
Donatien Garnier
3ce1d91d35
Amend Nordic HCI driver to support BLE5 features
2018-11-28 10:26:14 +00:00
Steve Cartmell
1b3efa4ccd
doc(pan-cordio): Add documentation to README on how to enable Cordio LL
2018-11-28 10:26:14 +00:00
Steve Cartmell
12fdab312e
feat(pan-cordio): Add nordic softdevice sources back into repository
2018-11-28 10:26:14 +00:00
Donatien Garnier
c68c150bf8
Fix buffer size for NRF Cordio HCI driver
2018-11-28 10:26:13 +00:00
Steve Cartmell
93bf68df0b
fix(pan-cordio): Remove erroneous files added after rebasing
2018-11-28 10:26:13 +00:00
Steve Cartmell
1e1486ed18
fix(pan-cordio): Replace the compiled uECC library with the sources
2018-11-28 10:19:08 +00:00
Donatien Garnier
01620b9ba2
Use uECC C99 implementation
2018-11-28 10:19:08 +00:00
Steve Cartmell
0f4ded19ac
feat(pan-cordio): Replace NRF51 softdevice BLE stack with cordio
2018-11-28 10:19:08 +00:00
Steve Cartmell
f583596fea
refactor(pan-cordio): Replace the uECC source with a precompiled library
2018-11-28 10:19:08 +00:00
Steve Cartmell
93267699b8
fix(pan-nordic): Fix memory allocation sizes to resolve NRF52832 issues
2018-11-28 10:19:08 +00:00
Steve Cartmell
815d0d5efc
feat(pan-cordio): Add cordio-ll libraries and NORDIC implementation
2018-11-28 10:19:08 +00:00
Steve Cartmell
ca2efcdd11
fix(pan-cordio): Reset timer after updating to reduce chance of overflow
2018-11-28 10:19:08 +00:00
Steve Cartmell
e5aa84308f
refactor(pan-cordio): Use Timer class instead of raw ticker for timing
2018-11-28 10:19:08 +00:00
Steve Cartmell
299ae1d9c6
fix(pan-cordio): Override WSF handler size in a platform specific manner
2018-11-28 10:19:08 +00:00
Steve Cartmell
5782e93a19
fix(pan-cordio): Wrap call to wsfOsReadyToSleep in a critical section
...
The function wsfOsReadyToSleep should only be called when interrupts are
disabled. Entering a critical section before calling the function fixes
any potential issues.
2018-11-28 10:19:08 +00:00
Steve Cartmell
f60c2c9aa8
fix(pan-cordio): Increase the maximum number of supported WSF handlers
...
NRF52480 fails to complete BLE initialisation due to attempting to set
more event handlers than are supported by the WSF library.
Increasing the number of handlers fixes this issue.
2018-11-28 10:19:08 +00:00
Steve Cartmell
065bad6fa6
fix(pan-cordio): Move stack BLE stack setup to later in initialisation
2018-11-28 10:19:08 +00:00
Vincent Coubard
d115e73e7e
BLE: Fix iteration on connections in CordioGattServer.
2018-11-27 16:01:56 +00:00
paul-szczepanek-arm
5302a7f599
consistent errors
2018-11-27 15:38:01 +00:00
Vincent Coubard
1a6246f130
BLE: Remove double handling of DM_CONN_OPEN_IND .
2018-11-27 15:30:56 +00:00
Vincent Coubard
daee12d623
BLE: Fix set check in GenerigGap::stopAdvertising.
2018-11-27 15:29:52 +00:00
Vincent Coubard
6677fab856
BLE: Move source/Gap.cpp -> source/LegacyGap.cpp
2018-11-27 09:12:28 +00:00
Amanda Butler
bbb67a69c8
Edit Types.h
...
Edit file.
2018-11-26 19:35:43 -06:00
Amanda Butler
d00ad8bc96
Edit ScanParameters.h
...
Edit file, mostly to fix typos.
2018-11-26 19:18:24 -06:00
Amanda Butler
fa784c2aff
Edit URIBeaconCOnfigService.h
...
Edit file for active voice and comma use.
2018-11-26 19:15:31 -06:00
Amanda Butler
08ef3f7209
Edit iBeacon.h
...
Add commas between two independent clauses joined by a coordinating conjunction.
2018-11-26 19:14:14 -06:00
Amanda Butler
431402c14d
Edit Gap.h
...
Edit most of file, mostly for U.S. spelling and typos.
2018-11-26 19:08:41 -06:00
Amanda Butler
b4c34557d9
Edit Events.h
...
Edit file for person, capitalization and to fix typos.
2018-11-26 18:47:49 -06:00
Amanda Butler
2e02869173
Edit ConnectionParameters.h
...
Edit file, mostly for agreement.
2018-11-26 18:40:55 -06:00
Amanda Butler
c904ac898a
Edit AdvertisingParameters.h
...
Edit file, mostly for active voice and U.S. spelling.
2018-11-26 18:32:35 -06:00
Amanda Butler
31a73fc007
Edit AdvertisitngDataSimpleBuilder.h
...
Edit file, mostly for consistent tense and typos.
2018-11-26 18:17:22 -06:00
Donatien Garnier
5347a8ae4a
Update Duration.h in consistent casing
2018-11-27 00:16:33 +00:00
Amanda Butler
7df90ba3bc
Edit AdvertisingDataBuilder.h
...
Edit file, mostly to fix typos and standardize hyphen use.
2018-11-26 18:12:56 -06:00
Amanda Butler
451f9aad12
Edit Bounded.h
...
Edit file, mostly for consistent capitalization and active voice.
2018-11-26 18:01:30 -06:00
Amanda Butler
ecf8c7320f
Edit Gap.h
...
Edit file for capitalization and active voice.
2018-11-26 17:58:50 -06:00
Vincent Coubard
a65296e9ee
BLE: removed resolved TODO.
2018-11-26 23:44:23 +00:00
Vincent Coubard
7b1e225012
BLE: Fix address name in NRF targets.
2018-11-26 23:36:43 +00:00
Vincent Coubard
66a9e635bd
BLE: report correct event type for legacy advertising report.
2018-11-26 23:28:30 +00:00
Vincent Coubard
0c9ce24638
BLE: remove unwanted trace.
2018-11-26 23:16:31 +00:00
paul-szczepanek-arm
b552f8c3f0
fix return code for implemented func
2018-11-26 23:06:06 +00:00
Vincent Coubard
ef1552a8f5
BLE: report legacy connection event in new event handler.
2018-11-26 23:03:21 +00:00
paul-szczepanek-arm
a14f143c85
set active set to false when stoping advertising
2018-11-26 23:00:29 +00:00
paul-szczepanek-arm
4d986bf376
fix is feature enabled condition and made in consistent
2018-11-26 21:11:34 +00:00
Vincent Coubard
56185582aa
BLE: Report legacy advertising with new API.
2018-11-26 21:01:14 +00:00
Vincent Coubard
0ef7a40475
BLE: Fix set advertising paylaod dispatch.
2018-11-26 21:00:46 +00:00
Vincent Coubard
daf0f429c8
BLE: Fix advertising set issues on legacy controllers.
2018-11-26 19:14:48 +00:00
paul-szczepanek-arm
3ae38ac1e8
always set existing set for legacy handle
2018-11-26 18:53:49 +00:00
Vincent Coubard
7f33145760
BLE: Fix extended advertising check.
2018-11-26 17:12:50 +00:00
Vincent Coubard
ac47736259
BLE: Enable cordio extended modules if available.
2018-11-26 16:57:47 +00:00
paul-szczepanek-arm
bf535af159
check feature support before calling extended functnions
2018-11-26 16:57:07 +00:00
paul-szczepanek-arm
bed7677c81
stop advertising before reseting
2018-11-26 16:51:28 +00:00
paul-szczepanek-arm
6f3a9ca107
legacy handle starts off present in _existing_sets
2018-11-26 16:29:33 +00:00
paul-szczepanek-arm
f4a560dace
reset advertising sets on reset
2018-11-26 16:25:33 +00:00
paul-szczepanek-arm
2b94b66fd2
deprecate services that are not useless
2018-11-26 15:42:12 +00:00
paul-szczepanek-arm
e54e3eaee0
cast no longer needed
2018-11-26 15:42:12 +00:00
Vincent Coubard
f71e08ccf1
BLE: tag API uses in GenericGap.
2018-11-26 15:26:24 +00:00
Vincent Coubard
2d63714f2e
BLE: Implement connection parameter management in GAP.
2018-11-26 15:25:46 +00:00
Vincent Coubard
89355b9fb0
BLE: Check supervision timeout value in connect.
2018-11-26 15:24:42 +00:00
Vincent Coubard
d1b5c8cbb5
BLE: Mark LEGACY_ADVERTISING_HANDLE as active in initialization.
2018-11-26 15:23:53 +00:00
Vincent Coubard
93b6ecfa7e
BLE: initialize properly deprecated and non deprecated flags.
2018-11-26 15:23:24 +00:00
Vincent Coubard
3aa91ecbba
BLE: return phy_set_t in ConnectionParameters::getPhySet
2018-11-26 15:22:50 +00:00
Vincent Coubard
a915748cbe
BLE: Fallback to legacy connect when required.
2018-11-26 14:13:07 +00:00
Vincent Coubard
190b9bc125
BLE: Fix address type in ::ble::Gap::connect
2018-11-26 14:13:07 +00:00
paul-szczepanek-arm
c9e8501b22
make PHY case consistent
2018-11-26 12:30:57 +00:00
Vincent Coubard
d3d93e1ef9
BLE: Improve ble::Gap documentation.
2018-11-26 11:51:00 +00:00
paul-szczepanek-arm
bee115c39e
replace magic numbers
2018-11-26 11:31:03 +00:00
paul-szczepanek-arm
f3a64feaf1
replace magic numbers
2018-11-26 11:26:26 +00:00
paul-szczepanek-arm
a03aaa2342
simplify and explain swapping
2018-11-26 11:26:13 +00:00
paul-szczepanek-arm
e0e186c831
replace consts with a private enum
2018-11-26 11:21:37 +00:00
paul-szczepanek-arm
528deb168f
fix wrong variable being swapped
2018-11-26 11:16:23 +00:00
paul-szczepanek-arm
208b1bd3e9
fix size calculation for UUID data payload
2018-11-26 11:10:39 +00:00
Vincent Coubard
8cbc53617f
BLE: Add a simple builder for AdvertisingData.
2018-11-26 10:24:35 +00:00
Vincent Coubard
d4a66ae034
BLE: Add an AdvertisingDataParser
2018-11-26 10:24:35 +00:00
Vincent Coubard
09ba26ce4b
BLE: Move advertising data types in their own file.
2018-11-26 10:24:35 +00:00
Vincent Coubard
be7cc41da4
BLE: doxygen fixes.
2018-11-26 10:24:35 +00:00
Vincent Coubard
0407ee8c81
BLE: move privacy configuration type in ble namespace.
2018-11-26 10:24:35 +00:00
Vincent Coubard
dff8f25d49
BLE: Improve Duration documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
78d4a9b6c8
BLE: Cleanup enum duplicates in gap/Types.h
2018-11-26 10:24:35 +00:00
Vincent Coubard
884d870b68
BLE: Improve gap/Types.h documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
9621b26cab
BLE: Reorganize ble::gap documentation group.
2018-11-26 10:24:35 +00:00
Vincent Coubard
27011fd954
BLE: Document ble::ScanParameters.
2018-11-26 10:24:35 +00:00