Commit Graph

1485 Commits (0749100676706a865283a46e7c72495e5deca93d)

Author SHA1 Message Date
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