Nordic's Soft Device is not tolerant to applications making direct access to
the non-volatile memory controller (NVMC) hardware. This patch adds a code
path to replace native NVMC calls with equivalent Soft Device calls when Soft
Device is enabled.
This patch is necessary to resolve issues related to lock ups when using
either MicroBitStorage or MicroBitFileSystem when BLE is enabled.
Previously DynamicPWM had a per instance member variable that was not shared across all instances of DyanmicPWM which is not true to the hardware, that shares a period across all pwm channels.
This commit adds a static member variable, and sets the default to 20000 us - a default set at the mbed layer.
As per issue #218, pwm has always been unstable resulting in a clicking noise atwhen tones are amplified, and twitchy servo controllers.
This commit when combined with lancaster-university/mbed-classic#03f4fb and lancaster-university/mbed-classic#be51bd will produce a more stable waveform, whilst also maintaining the behaviour of DynamicPwm which has now been absorbed by the PWM driver itself.
As per issue #115, AnalogOut was not capable on all IO even though there was no reason for this to be the case.
This commit adds a revised PinCapability enumeration, adding AnalogOut capability to all capable pins using the PIN_CAPABILITY_STANDARD enum, which combines PIN_CAPABILITY_DIGITAL and PIN_CAPABILITY_ANALOG_OUT.
ManagedString should only be used for string based data.
The APIs removed by this commit presumed that this was not the case.
ManagedString implicitly contains error checking, which makes it
unsuitable for sequences of bytes that may contain null termination
Removing these APIs for now was the best option until a future time
when ManagedBuffer can be used within the runtime.
This commit includes the addition of comments,
some validation and corrections to C++ definitions.
Also, a minor API revision for the Eddystone class, which
simple removes Eddystone from member functions, as it
it implicit that you will be setting a URL using Eddystone
in the MicroBitEddystone class.
- Generalised linker symbol definition to permit ARMCC linker symbols in
addition to gcc linker symbols
- Improved MicroBitFileSystem FLASH area calculation. Some sections were
erroneously used in the calculation of the previous version, and page aligned
calculations resulted in artificial over allocation.
- moved variable initialisation code from MicroBitFileSystems class
declaration into init() funciton to support ARMCC compiler.
- Remove redundant simulator test code
MicroBitFile now contains an explicit isValid() funciton, which can be used to
determine if the given file object is a valid file on the file system.
Default file open mode also updated to allow the user to override whether or
not the file is created on open.