Commit graph

368 commits

Author SHA1 Message Date
Joe Finney
79c739674c first compiling build. 2015-11-15 14:31:44 +00:00
Joe Finney
6dca3ed8d4 microbit: pre-compilation backup only. 2015-11-13 20:38:37 +00:00
Michal Moskal
56a560e5bc Merge branch 'master' into flatstring
Conflicts:
	.gitignore
	inc/ErrorNo.h
	source/MicroBitDisplay.cpp
	source/MicroBitImage.cpp
2015-11-12 16:13:45 -08:00
Joe Finney
2532d2f0b5 version v1.3.6 2015-11-08 18:07:32 +00:00
Joe Finney
11854d2ae1 version v1.3.5 2015-11-08 18:07:31 +00:00
Joe Finney
e34f0ce9bb version v1.3.4 2015-11-08 18:07:28 +00:00
Joe Finney
2c10561715 version v1.3.3 2015-11-08 18:07:21 +00:00
Joe Finney
691cc2feac Merge branch 'remay-quiet-gcc-build' 2015-11-08 18:07:01 +00:00
Joe Finney
ea51f396ca Added compatibility for builds under ARMCC 2015-11-08 18:04:17 +00:00
Joe Finney
435debffed Merge branch 'quiet-gcc-build' of https://github.com/remay/microbit-dal into remay-quiet-gcc-build 2015-11-08 13:50:33 +00:00
Jonathan Protzenko
b421ba5b69 A new check for -> on ManagedTypes. 2015-11-04 15:43:36 -08:00
Jonathan Protzenko
74542e66eb Change the refcount to a protected member variable. 2015-11-04 14:20:31 -08:00
Jonathan Protzenko
88b37e83bb Add an operator overload for ManagedType. 2015-11-02 13:20:38 -08:00
Joe Finney
83a261d23f version v1.3.2 2015-11-01 23:46:10 +00:00
Joe Finney
13456c60c1 microbit: Removal of explicit Serial instance for debugging.
Debugging now runs via the standrad MicroBit::serial interface.
2015-11-01 23:42:53 +00:00
Joe Finney
99ac37e454 version v1.3.1 2015-11-01 21:34:41 +00:00
Joe Finney
1a65e4e7bc microbit: Added support for soft reset button in panic mode
Also recalibrated loop timers in MicroBitDisplay::Error(), as used by panic()...
strange these now seem off by several orders of magnitude.

TODO: Ensure CPU is running at correct internal frequency with an oscilloscope test...
2015-11-01 21:33:46 +00:00
Robert May
b8083908a7 Correct warnings supression in more obvious way
Whilst a little more invasive change than the previous warnings
supression this is more correct and more obvious as to what's being done,
and what warnigns will remain in place for the rest of the comilation
unit.
2015-11-01 20:19:18 +00:00
Robert May
9591ef40dc Turn off -Wunused-parameter for include "nrf_soc.h"
Unfortunately we can't turn it off just while nrf_soc.h is being included
as the way the defines are used the compiler can't tell the parameters
are unused until the end of the compilation unit.  So we can't use the
more normal

as that pops the supression too early.

WARNING: including nrf_soc.h will turn off unused-function warnings for
the rest of the compilation unit - see included nrf_svc.h
2015-11-01 20:19:17 +00:00
Robert May
1a1a5976a8 Silence GCC -Wall 2015-11-01 20:19:17 +00:00
Robert May
3a8c72144f up the cmake version required to 2.8.12, which is required for target_compile_options. 2015-11-01 20:19:17 +00:00
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
Michal Moskal
7c4f87036f Remove left-behind code 2015-10-27 08:28:50 -07:00
Michal Moskal
3900962556 Remove specific panic codes for ref-counting. 2015-10-27 08:28:06 -07:00
Michal Moskal
59853855b0 Remove caching of getSerial(); use temporary for BLE init 2015-10-27 08:26:07 -07:00
Michal Moskal
2877fd68f2 Remove GCC warning pragmas 2015-10-27 08:23:14 -07:00
Michal Moskal
6437e714fa Delete when ref-count goes to 1, not 2\! 2015-10-27 08:19:56 -07:00
Michal Moskal
c1050df0d9 Make the image width/height 16 bit wide 2015-10-27 08:02:42 -07: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
Michal Moskal
7b82f3e8eb Improve comments; cleanup 2015-10-25 13:09:24 -07:00
Michal Moskal
98ffcc1fd1 Add status panic codes for ref-count errors 2015-10-25 12:59:45 -07:00
Michal Moskal
85b4e45863 Order-of-initialization fix. 2015-10-25 11:38:00 -07:00
Michal Moskal
d0b75c96d1 Add MicroBitImage::isReadOnly,clone.
Add MicroBitImage,ManagedString::leakData().
Work more on incr()/decr() protocol.
2015-10-25 10:03:14 -07:00
Michal Moskal
11c99d0b84 Make the reference count always odd to make it possible to distinguish it from a vtable 2015-10-25 08:30:05 -07:00
Michal Moskal
5df59c2f7e Remove VirtualRefCounted class; non-virtual <-> virtual casts are not no-ops. 2015-10-24 21:52:51 -07:00
Michal Moskal
4f82a6c37c Use RefCounted also for MicroBitImage. 2015-10-24 20:58:03 -07:00
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