Go to file
Kevin Bracey 436301dc5e Add Mutex::trylock_until and trylock_for
Given the 64-bit timebase, add trylock_until to Mutex.

Naming is based on a combination of Mutex::trylock, Thread::wait_until,
and C++11 timed_mutex::try_lock_until.

pthreads and C11 use "timedlock", but that's not a good fit against our
existing trylock() and lock(timeout) - they have only absolute-time
waits, not relative.

To increase the similarity to C++11, add trylock_for - same parameters
as lock, but with the bool return value of trylock and trylock_until.

Add an assertion when convering status codes to booleans to check that
there are no non-timeout errors.
2018-02-09 14:18:44 +00:00
.github Copy edit pull_request_template.md 2017-10-27 13:41:02 -05:00
TESTS Add RTC time test. 2018-01-27 00:57:57 -06:00
cmsis Core(A): Changed macro __DEPRECATED to CMSIS_DEPRECATED. (Issue #287) __DEPRECATED conflicts with a predefined macro in GCC C++ mode. 2018-01-02 15:22:03 +00:00
drivers Fix bug allowing I2C::abort_transfer to incorrectly unlock deep sleep mode 2018-01-12 15:01:49 +00:00
events equeue: some refactoring to meet coding rules 2017-10-30 13:56:11 +01:00
features Remove last code redundancy 2018-02-09 14:18:42 +00:00
hal Provide fix for issue #5835 - Tickers update should be atomic 2018-01-27 00:57:46 -06:00
platform make _sbrk() WEAK so the user can override it, e.g. to make malloc() always use external memory 2018-02-09 14:18:43 +00:00
rtos Add Mutex::trylock_until and trylock_for 2018-02-09 14:18:44 +00:00
targets NXP: Add support for MIMXRT1050_EVK 2018-02-09 14:18:44 +00:00
tools NXP: Add support for MIMXRT1050_EVK 2018-02-09 14:18:44 +00:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore doxygen builds temporay object database 2017-06-05 17:32:45 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml littlefs: Set specific hash for littlefs-fuse testing 2018-01-27 00:57:53 -06:00
CONTRIBUTING.md Update link in CONTRIBUTING.md 2017-06-09 16:38:38 -05:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Jenkinsfile: remove client app test temporarily 2017-06-01 12:15:09 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Simple typo fix in the README.md 2018-01-12 15:01:48 +00:00
doxyfile_options Doxygen: Update excluded paths and predefined macros. 2017-12-15 10:49:59 +00:00
doxygen_options.json Doxygen: Update path and predefined macros. 2017-12-15 10:49:59 +00:00
logo.png Readme updates for style and branding 2017-12-20 16:05:44 +00:00
mbed.h Update Mbed version block for patch release 2018-01-27 00:58:05 -06:00
requirements.txt Add pyelftools dependency 2018-02-09 14:18:41 +00:00

README.md

Mbed OS

Build status release Build status master Tools coverage status PR progress

Arm Mbed OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices.

Mbed OS provides a platform that includes:

  • Security foundations.
  • Cloud management services.
  • Drivers for sensors, I/O devices and connectivity.

Release notes

The release notes detail the current release. You can also find information about previous versions.

Getting started for developers

We have a developer website for asking questions, engaging with others, finding information on boards and components, using an online IDE and compiler, reading the documentation and learning about what's new and what's coming next in Mbed OS.

Getting started for contributors

We also have a contributing and publishing guide that covers licensing, contributor agreements and style guidelines.