Go to file
Christopher Haster 756a09003c Added explicit void specialization in callbacks
One limitation of C++ is that implicit casts do not occur when
matching template overloads, as a consequence the callback's
argument type requires a strict match.

Unfortunately, the prevents the previously common pattern of using
void pointers as function arguments, causing unnecessary problems
for users porting code.

        Thing *t;
        void doit(void *p) { blablabla }

        Callback<void()> cb(t, doit);

To avoid this, explicit overloads on void pointers were added. This
avoids a template expansion, and allows the implicit cast to occur
as the user would expect.
2016-08-26 12:50:13 -05:00
TESTS Added explicit void specialization in callbacks 2016-08-26 12:50:13 -05:00
docs Fix docs/BUILDING.md error command issue 2016-08-07 00:01:19 +08:00
features Added support for cv-qualifiers in Callback class 2016-08-26 09:40:22 -05:00
hal Added explicit void specialization in callbacks 2016-08-26 12:50:13 -05:00
libraries [MAX32620HSP] Replaced tab with spaces. 2016-08-25 15:15:50 -05:00
rtos Added support for cv-qualifiers in Callback class 2016-08-26 09:40:22 -05:00
tools Merge pull request #2528 from jeremybrodt/max32620 2016-08-26 09:25:33 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore dont track .mbed files created by mbed-cli 2016-08-04 22:22:32 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Add pylint testing to Travis 2016-08-16 13:29:43 -05:00
CONTRIBUTING.md Mentioned the Contributor Agreement in Contributing.md 2015-04-16 11:47:51 -04:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
MANIFEST.in Further changes to reflect workspace_tools to tools rename 2016-06-09 21:40:54 +01:00
README.md Fixed link to release page 2016-08-22 14:05:54 +02:00
mbed_lib.json Added config option for stdio baud rate 2016-07-11 18:42:44 -05:00
requirements.txt Requirements - fix progen def name - use dashes 2016-07-28 09:17:06 +01:00
setup.py Setup - fix progen def name - use dashes 2016-07-29 08:23:51 +02:00

README.md

ARM mbed OS

mbed OS is an open-source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller.

mbed OS accelerates the process of creating a connected product by providing a platform operating system that includes robust security foundations, standards based communication capabilities, built-in cloud management services, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack so that you can readily customize it to the device you're developing for, and reduce memory requirements by excluding unnecessary software components.

Current release

Our current release series is mbed OS 5.1:

Getting Started for Developers

We have a getting started guide for developers using mbed OS in applications:

Getting Started for Contributors

We have a getting started guide for contributors working on mbed OS:

  • Have a look in the docs directory