To start direct connectable advertising on the cordio stack, the programmer should call the function DmConnAccept instead of the function DmAdvStart . This functions expect the target address and address type as parameter, which are passed to the controller when the programmer sets the advertising parameters and not known when advertising_enable is called. Therefore, this information should be kept in memory when advertising parameters are set and retrieved when advertising is enable to choose the right call to start (or stop) advertising. Timeout of direct advertising is also handled in an uncommon way, a connection timeout is received. Similarly, DmConnClose should be called to stop connectable direct advertising. The state is kept in an array of direct_adv_cb_t. Each items contains a peer address, the peer address type, the connection handle and the advertising handle as well as a state which indicate if the advertising is running, pending or not used. When advertising parameters are set, the state is updated to match the target address or disable direct advertising management for the advertising set being configured. When advertising is enabled, the pal dispatch the operation to the right calls (DmAdvStart/DmConnAccept or DmAdvStop/DmConnClose). When an advertising timeout happen or a connection is made, the pal cleans any direct advertising state of this advertising set |
||
|---|---|---|
| .github | ||
| TESTS | ||
| TEST_APPS | ||
| UNITTESTS | ||
| cmsis | ||
| components | ||
| docs | ||
| drivers | ||
| events | ||
| features | ||
| hal | ||
| platform | ||
| rtos | ||
| targets | ||
| tools | ||
| .astyleignore | ||
| .astylerc | ||
| .coveragerc | ||
| .gitattributes | ||
| .gitignore | ||
| .mergify.yml | ||
| .pylintrc | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| DOXYGEN_FRONTPAGE.md | ||
| Jenkinsfile | ||
| LICENSE-apache-2.0.txt | ||
| LICENSE.md | ||
| README.md | ||
| doxyfile_options | ||
| doxygen_options.json | ||
| logo.png | ||
| mbed.h | ||
| requirements.txt | ||
README.md
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.
License and contributions
The software is provided under the Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more information.
This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.
Folders containing files under different permissive license than Apache 2.0 are listed in the LICENSE file.
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.
Documentation
For more information about Mbed OS, please see our published documentation. It includes Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools.
To contribute to this documentation, please see the mbed-os-5-docs repository.
