Go to file
Kevin Bracey cd573a603f 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-01-29 15:26:41 +02:00
.github Copy edit pull_request_template.md 2017-10-27 13:41:02 -05:00
TESTS Merge pull request #5087 from mprse/rtc_test 2018-01-26 17:26:38 -06:00
cmsis Core(A): Changed macro __DEPRECATED to CMSIS_DEPRECATED. (Issue #287) 2017-12-21 14:09:25 +09:00
drivers Merge pull request #5721 from scartmell-arm/bug-i2c-abort-deep-sleep 2018-01-11 10:30:53 -06:00
events equeue: some refactoring to meet coding rules 2017-10-30 13:56:11 +01:00
features Merge pull request #5874 from c1728p9/usb_fixes_and_improvements 2018-01-26 10:37:13 -06:00
hal Provide fix for issue #5835 - Tickers update should be atomic 2018-01-22 13:29:31 +01:00
platform CriticalSectionLock: fixing missing include 2018-01-24 08:10:35 +01:00
rtos Add Mutex::trylock_until and trylock_for 2018-01-29 15:26:41 +02:00
targets Merge pull request #5857 from TomoYamanaka/master 2018-01-26 10:50:44 -06:00
tools Merge pull request #5476 from ubirch/add-cmake-export 2018-01-26 15:07:55 -06: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-24 18:27:47 -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-08 19:50:18 +00:00
doxyfile_options Doxygen: Update excluded paths and predefined macros. 2017-12-14 16:44:01 +00:00
doxygen_options.json Doxygen: Update path and predefined macros. 2017-12-14 16:45:31 +00:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h platform: add DeepSleepLock 2017-09-07 15:35:06 +01:00
requirements.txt Remove pycurl dependency 2016-10-20 16:24:47 -05: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.