Commit Graph

116 Commits

Author SHA1 Message Date
Michal Moskal 9330b401d5 Move RefCounted class to a separate file 2015-10-24 20:30:15 -07:00
Michal Moskal 5a10bda561 First stab at more memory efficient strings 2015-10-24 19:34:04 -07:00
Michal Moskal 057158c9f3 Cache getSerial(); otherwise BLE information device initalization may crash 2015-10-24 19:28:36 -07:00
bluetooth-mdw 8924cab6da Merge branch 'master' of https://github.com/lancaster-university/microbit-dal 2015-10-23 13:12:13 +01:00
bluetooth-mdw 4b6cd6ed52 Corrected "Status of...." section prior to publication. 2015-10-23 13:11:51 +01:00
Joe Finney 03214f9a0c version v1.2.4 2015-10-21 11:45:11 +01:00
Joe Finney ad398033ba Merge branch 'bluezone-fix' 2015-10-21 11:39:34 +01:00
bluetooth-mdw 6cc19fd6e8 Added Pin AD Configuration values to description of the characteristic. 2015-10-20 11:39:41 +01:00
bluetooth-mdw 01ec1bb159 All services except Generic Access and Generic Attribute designated "optional" to allow subset profiles to be assembled easily. 2015-10-20 10:15:25 +01:00
bluetooth-mdw 523800935f Updated following final(?) profile adjustments 2015-10-19 17:39:03 +01:00
bluetooth-mdw eba76ecae4 Documented new mapping of LED matrix state data to display rows and LEDs 2015-10-19 17:29:26 +01:00
Joe Finney 613f524bab microbit: BUGFIX: micro:bit not entering BLUEZONE mode cleanly
Fixed bug in GAP advertisement configuration.
2015-10-19 14:42:13 +01:00
bluetooth-mdw 4e90c4a273 Documented supported values of Accelerometer Period and Magnetometer Period 2015-10-19 12:35:17 +01:00
Joe Finney 7fb3fc02c4 version v1.2.3 2015-10-18 17:59:26 +01:00
Joe Finney e3f0c7d6e5 Merge branch 'ble-profile' 2015-10-18 17:57:47 +01:00
Joe Finney 80f79f7faf Merge branch 'master' into ble-profile
Conflicts:
	source/CMakeLists.txt
	source/MicroBit.cpp
	source/MicroBitFiber.cpp
	source/MicroBitMessageBus.cpp
	source/MicroBitSuperMain.cpp
2015-10-18 17:54:37 +01:00
Joe Finney 464cf6cb51 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-10-18 14:55:17 +01:00
Joe Finney db3eccf6ff microbit: Final updates to BLE profile
Minor changes to BLE profile services (cleanup prior to merge with master branch):

  - Added temperature period characteristic to match design pattern of other sensors.
  - Updated endinaness of MicroBitLEDService Matrix to be more intuitive.
  - Cleaned up Microbit.cpp by removing unused reference to BLE services.
  - Exposed serial number and naming information thr BLE DeviceInformation and API.
  - Updated BLE advertisement period to be alightly more repsonsive (200ms vs 1000ms).
  - BUGFIX: micro:bit name is now always generated, regardless of BLE services.
  - BUGFIX: Scroll Period data length.
2015-10-18 14:46:42 +01:00
bluetooth-mdw 4fd6052720 Changed LED Matrix State representation (1 octet per LED row) and added Temperature Period characteristic. 2015-10-17 19:27:04 +01:00
Joe Finney 85b2b1e09e version v1.2.2 2015-10-14 09:43:57 +01:00
Joe Finney ac5685acb2 Merge branch 'dpgeorge-matrix-point-optimisation' 2015-10-14 09:41:52 +01:00
Joe Finney 068822ff12 Merge branch 'matrix-point-optimisation' of https://github.com/dpgeorge/microbit-dal into dpgeorge-matrix-point-optimisation 2015-10-14 09:38:13 +01:00
bluetooth-mdw c1acdfdb5b Final tweaks after successful profile testing 2015-10-11 08:48:18 +01:00
Joe Finney 2011886e64 microbot: Cleanup of #ifdef in MicroBitHeapAllocator
Removed compiler warning if MICROBIT_HEAP_REUSE_SD is not defined.
2015-10-09 16:58:10 +01:00
bluetooth-mdw 8ef6dba587 Removed redundant issue tracker file. Now using github Issues to track... issues. 2015-10-09 14:45:53 +01:00
bluetooth-mdw 9cdd69b937 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-10-09 13:37:08 +01:00
bluetooth-mdw e838ef1075 Updated with latest position wrt testing 2015-10-09 13:36:42 +01:00
Joe Finney 6764c732ea microbit: BUGFIX to MicroBtDFU Service
- Updates to UI handling to avoid starving out the processor.
  - Clears screen before entering DFU bootloader
2015-10-09 01:14:36 +01:00
Joe Finney 122d885ee8 microbit: Updated Bluetooth device name from MicroBit to micro:bit to match brand guidelines 2015-10-09 00:03:01 +01:00
Joe Finney ce2cc57bf1 microbit: Optimisation of internal Message Bus listeners
All message bus listeners with the micro:bit runtie are non blocking, and safe to be called
in an interrupt context. As such, these have now all been declared MESSAGE_BUS_LISTENER_IMMEDIATE
which should mitigate all unbounded event queueing effects.
2015-10-08 23:49:14 +01:00
Joe Finney d4b4f70cb2 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-10-08 23:25:34 +01:00
Joe Finney 1d76def8fa microbit: BLE service bugfixes
Updates to BLE interface to match specification following testing by Bluetooth SIG.

Accelerometer Period: now supports READ and WRITE
Magnetometer Period: now supports READ and WRITE
LED Matrix State: now supports READ and WRITE.

UUIDs of Temperature Service characteristic corrected.
2015-10-08 23:23:00 +01:00
Joe Finney 85a26dc8e1 microbit: Updates to enable semantic versioning of the micro:bit runtime DAL
More specifically, the build system now uses the semantic versioning meta-data
held in module.json to define a major.minor.patch version. Additionally, is the branch
being compiled is *not* the master branch, the version is appended with <branchname><githash>.

Specific updates:

- Updates to CMake files to expose this to the micro:bit runtime code.
- Addition of uBit.systemVersion() to expose this to application code.
- Displaying of version string over serial if MICROBIT_DBG is enabled.
- Distribution of version string over BLE via the firmware revision characteristic.
2015-10-08 14:37:35 +01:00
bluetooth-mdw e79903e464 Tweaked following failed test 2015-10-06 10:26:21 +01:00
bluetooth-mdw 6d9e64fbc6 Minor tweaks to resolve failed tests 2015-10-05 21:08:45 +01:00
bluetooth-mdw 3bb76f6089 Changed event service UUIDs to match code 2015-10-04 16:45:36 +01:00
bluetooth-mdw 9a415f62cb Device Information Service characteristics had wrong UUID (BDS issue) 2015-10-04 16:09:47 +01:00
bluetooth-mdw a0bcf7912f UUID for Generic Access Service was incorrect (BDS issue). Corrected. 2015-10-04 15:56:04 +01:00
Joe Finney 2230e39340 microbit: BUGFIX: #1291 ManagedString(INT_MIN) does not work properly
Corner case error in serialization code for INT_MIN only - corrected.
2015-09-29 23:51:20 +01:00
bluetooth-mdw 7459213d10 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-09-29 11:14:18 +01:00
bluetooth-mdw 3f4a7cf5f1 Removed redundant HTML files 2015-09-29 11:13:59 +01:00
bluetooth-mdw 393cb25bc0 Updated Profile Design section 2015-09-29 11:12:37 +01:00
Joe Finney 5da263db81 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-09-28 21:58:37 +01:00
Joe Finney 18236810a3 microbit: BLE Profile Beta 1
First functionally complete BLE profile, matching BLE speicfication v1.6.
More specifically, the following services are now functional:

  - AccelerometerService
  - MeganetometerService
  - EventService
  - TemperatureServide
  - IOPinService
  - DFUService
  - ButtonService
  - LEDService

Also, updates to underlying device drivers to enable greater configurability:

  - MicroBitCompass now supports variable sample rates and temperature sensing
  - MicroBitAccelerometer now supports variable sample rates and ranges
  - MicroBitThermometer introduced
  - MicroBitMessageBus adapted to permit enumeration and block removal of listeners

Finally, MicroBit DFU Service has been changed to the new UUIDs specificed in v1.6 of BLE spec.
2015-09-28 21:40:44 +01:00
Damien George 0dcb6834ec microbit: Use default constructor for MatrixPoint so data is ROMable.
Previous to this patch an explicit constructor was provided for creating
MatrixPoint instances, which meant that such objects could not be put in
ROM (since they needed to be constructed at runtime).

By using the defualt construction method for structs the MatrixPoint map
is now compiled into the rodata section, hence freeing up RAM.

Saves: 4 bytes data, 56 bytes bss, 148 bytes code.
2015-09-25 21:19:10 +01:00
bluetooth-mdw 5b54d1d3c1 Reports now include Summary and Abstract fields from Bluetooth Developer Studio 2015-09-25 11:14:01 +01:00
Joe Finney 4314b68643 microbit: First implementation of Temperature Service 2015-09-23 22:15:44 +01:00
Joe Finney b00fc85548 Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile 2015-09-22 16:14:42 +01:00
Joe Finney eb5ed28f74 microbit: First cut at MicroBitButtonService and microBitIOPinService
Strictly still development - untested code.
2015-09-22 16:13:08 +01:00
bluetooth-mdw dcd03cb4e2 A range of changes motivated mostly by optimisation opportunities and implementation issues. 2015-09-22 15:07:12 +01:00