This file was previously stored in the mbed SDK, but it was decided that
putting it inside the nRF library would make more sense.
The exact location isn't too important, since mbed SDK is looking for
file names in all scanned resource files, when building a BOOT image.
It was built from the current ARMmbed dfu-bootloader repository.
It uses the internal LF clock source only, so it is compatible with all
nRF51822 devices. In addition, it doesn't rely on a specific SoftDevice:
the SoftDevice information struct is inspected at a fixed address, to
find out the application entry point.
As a temporary solution, we'll duplicate the file because mbed assumes
we need per-SoftDevice bootloaders. In the future, this will be a single
file.
In order to ease development, this bootloader pretends to use DFU version
0.4, so recent DFU applications won't mandate an init packet.
S110 compatibility is already present, but this patch adds proper handling
of observer/central related features:
* Gap::startScan will return BLE_ERRROR_NOT_IMPLEMENTED (instead of
PARAM_OUT_OF_RANGE)
* nRF5xGattClient uses the default GattClient implementation when S110 is
in use. All if its methods return NOT_IMPLEMENTED.
Example: for an application that acts as both a central and a peripheral,
using S110 will make the ble.gap().startScan() call return
BLE_ERROR_NOT_IMPLEMENTED, and advertisement features will continue
running normally.
In addition, with GCC, this patch will free 344 bytes of RAM and 2504
bytes of flash.
* renamed to GapAdvertisementParams::getIntervalInADVUnits()
* fix getAppearance() to checks for correct success code from sd_ble_gap_appearance_get().
=============
This is a minor release.
Enhancements
~~~~~~~~~~~~
* Minor changes to allow compatibility with S110 SDK headers. Had mostly to do
with the role_t member in the event structure for BLE_GAP_EVT_CONNECTED.
* Select the clock source dynamically on SoftDevice initialization. This
change will allow lots of applications to still run and provide FOTA, when
the wrong Nordic platform is specified.
* Updated module.json because URL of the host repo has changed to
"git@github.com:ARMmbed/ble-nRF51822.git".
Bugfixes
~~~~~~~~
none.
Instead of relying on build macros to know which oscillator we're
supposedly using, check the value of LFCLKSRC register. This way, we can
trust mbed's init code to fallback on the internal clock if the user
specified a wrong target.
This change, along with the mbed patch that selects clock source
dynamically, will allow lots of application to still run and provide
FOTA, when the wrong Nordic platform is specified.
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
=============
This is a minor release.
Enhancements
~~~~~~~~~~~~
* Rename nRF51... to nRF5x... This prepares for the arrival of nRF52.
* Switch Github repository URL to ARMmbed organization.
* Add support to handle radio-notification callback as a FuncionPointer so that
we can have <object, member> pairs for callbacks.
Bugfixes
~~~~~~~~
none.
=============
This is a minor release.
Enhancements
~~~~~~~~~~~~
* Rename nRF51... to nRF5x... This prepares for the arrival of nRF52.
* Switch Github repository URL to ARMmbed organization.
* Add support to handle radio-notification callback as a FuncionPointer so that
we can have <object, member> pairs for callbacks.
Bugfixes
~~~~~~~~
none.