Commit Graph

131 Commits

Author SHA1 Message Date
Robert May a39ba7d4f7 Turn off GCC warnings when building the dependancies 2015-11-01 20:19:17 +00:00
Robert May b2d3417559 Fix build when $git_branch fails to be set correctly. 2015-11-01 20:19:17 +00:00
Joe Finney 2b35c969cd version v1.3.0 2015-11-01 18:31:37 +00:00
Joe Finney e68e47512a microbit: Updated default evernt queue depth to match test cases 2015-11-01 18:23:54 +00:00
Joe Finney 194f19a428 Merge branch 'simplified-eventing' 2015-11-01 18:22:27 +00:00
Joe Finney 1b6d6038c1 Merge branch 'master' into tight-validation 2015-11-01 16:28:08 +00:00
Joe Finney 77af825df0 Merge branch 'master' into simplified-eventing 2015-11-01 16:27:15 +00:00
Joe Finney 39abf824dc microbit: More efficient handling of events
Removed unnecessary queing of item on the MessageBus, whilst maintaining causal ordering.
2015-11-01 15:16:27 +00:00
Joe Finney b2e9369771 microbit: BUGFIX DoS attacks on the MessageBus
- Enures an event listener is not deleted whilst a fiber is activiely processing a queue
 - Added support for resurrection of event listeners in cases where identical listeners are removed/added repetitively.
2015-11-01 12:59:52 +00:00
Joe Finney 84da6a4a09 microbit: Minor bug fixes and refinements
- Add maximum depth for event queues, to prevent buggy scripts causing total memory exhaustion.
  - Suppress generation of A/B click events when A+B click is generated
  - preservation of event ordering on messagebus for resursive event generation cases.
  - bugfix of message bus processing to prevent occasional dual processing of events
  - bugfix MicroBitDisplay to behave correctly when delay parameter is zero.
2015-10-31 10:27:38 +00:00
Joe Finney 0fa8296048 microbit: BUGFIX safe deletion of listeners
also correction to minor bu in MicroBitFiber that could conceivably send more
notifications that it should...
2015-10-29 00:08:33 +00:00
Joe Finney 1eeaeca2c6 microbit: BUGFIX - correct initialization of MicroBitListener
code now correctly initiailizes the evt_queue filed needed to prevent
lockup during event processing (understandably!).
2015-10-28 14:17:12 +00:00
Joe Finney 7f64a4c703 microbit: BUGFIX Corrected incorrect handling of MicroBitMessageBus::add return values. 2015-10-26 16:37:12 +00:00
Joe Finney 823a956d68 microbit: First cut at updates to provide tight validation within the runtime code, with a view to moving
NOP/clamping behaviour out of teh micro:bit runtime and into the glue layers of higher level
languages.

 - Updates to many functions to provide explicut return codes.
 - Updates to many functions to remove heuristic calidation (NOP/clamping/defaults)
 - Updates to ErrorNo.h to provide clearer return values, and place return values in a better scope
 - Updates to MicroBitDisplay to use enums where appropriate.
2015-10-25 21:51:33 +00: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
Joe Finney bfe1b4db53 microbit: some work on tightening the API return codes.
still work in progress.
2015-10-21 11:35:59 +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 72e5a9a6a6 microbit: BUGFIX - post merge fixes
- MicroBitDisplay::scroll() timing bug
  - MicroBitDisplay::print() timing bug
  - MicroBitFiber wait/notify bug
2015-10-18 19:09:54 +01:00
Joe Finney 424b825185 Merge branch 'master' into simplified-eventing
Conflicts:
	inc/MicroBitMessageBus.h
2015-10-18 18:20:03 +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
Joe Finney aca544677e microbit: Updates to enable queing of display animation calls
Updates to change the behaviour of the scroll/print/animate faily of function away
from being pre-emtive and instead prroviding queing behaviour.

Minor updates to provide complete sets of async equivalent operations

Updates to the scheduler to provide wait/notify/waitone semantics.
2015-10-17 20:35:16 +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