Go to file
Chun-Chieh Li 89e2406ab2 ESP8266: Simplify flow control and enable per-socket reconnection
1.  Fix 'spurious close' by adding close() in open(). 'spurious close' gets frequent and cannot ignore when send() changes to asynchronous. User can retry open() until 'spurious close' gets true.
2.  Allow only one actively sending socket because:
    (1) ESP8266 AT packets 'SEND OK'/'SEND FAIL' are not associated with socket ID. No way to tell them.
    (2) In original implementation, ESP8266::send() is synchronous, which implies only one actively sending socket.
3.  Register 'SEND OK'/'SEND FAIL' oobs, like others in ESP8266::ESP8266 constructor. Don't get involved in oob management with send status because ESP8266 modem possibly doesn't reply these packets on error case.
4.  Now that ESP8266::send() changes to asynchronous, drop the code with _parser.recv("SEND OK")/_parser.recv("SEND FAIL"). _parser.recv("SEND OK")/_parser.recv("SEND FAIL") and 'SEND OK'/'SEND FAIL' oobs both consume 'SEND OK'/'SEND FAIL' packets and complicate flow control.
2020-06-19 17:54:34 +08:00
.github Fix an article 2019-11-21 10:31:47 +00:00
TESTS Fix assertation ordering in tests 2020-05-29 13:04:18 +01:00
TEST_APPS Replace deprecated wait calls 2019-07-15 10:13:50 +03:00
UNITTESTS Merge pull request #13033 from Patater/upgrade-to-tls-2.22.0-5.15 2020-06-08 13:24:17 +02:00
cmsis Core(A): Fixed __FPU_Enable function not to mess registers. (#589) 2019-05-21 19:25:58 +09:00
components ESP8266: Simplify flow control and enable per-socket reconnection 2020-06-19 17:54:34 +08:00
docs Squashed 'features/nanostack/sal-stack-nanostack/' changes from cc03296c27..b3fe5744d1 2020-06-08 14:27:38 +03:00
drivers update USBMSD::memoryWrite implementation 2020-03-31 09:15:50 +00:00
events Test event IDs going negative 2019-10-31 13:36:01 +02:00
features Merge pull request #13072 from mikter/ws_certificate_set_change_5.15 2020-06-12 14:48:23 +01:00
hal Change explicit pinmap to static pinmap 2019-11-28 08:32:12 +01:00
platform Update mbed version to 5.15.4 2020-06-16 15:06:17 +01:00
rtos STM32F0: clean main-thread-stack-size setting 2020-02-07 10:10:36 +00:00
targets Merge pull request #12969 from OpenNuvoton/nuvoton_5.15_watchdog_hardfault 2020-06-09 11:09:06 +02:00
tools Change unrecognised features to a warning, rather than error 2020-05-29 13:18:19 +01:00
.astyleignore Add moduletest for SlicingBlockDevice 2019-11-04 16:13:32 +02:00
.astylerc AStyle: fix indentation for longer lines 2018-05-24 14:15:52 +01:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Normalize line endings for IM880B startup files. 2019-07-15 14:56:22 +03:00
.gitignore Integrate with mbeb-cli build system 2019-04-30 14:41:09 +03:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml USB public APIs cleanup (#11034) 2019-08-02 12:23:47 +01:00
CONTRIBUTING.md Fix links to documentation on https://os.mbed.com 2019-01-21 14:56:40 -08:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Updated file comment 2018-08-20 12:31:40 +03:00
LICENSE-apache-2.0.txt license: rename to apache 2.0 txt file 2019-02-13 11:28:01 +00:00
LICENSE.md Removed scripts for provisiongs from repository, made fixes per PR comments, adjusted Readme.md 2019-08-30 15:10:19 +03:00
README.md Squashed 'features/nanostack/sal-stack-nanostack/' changes from cc03296c27..b3fe5744d1 2020-06-08 14:27:38 +03:00
doxyfile_options Add RESET_REASON and WATCHDOG to doxygen options 2019-05-24 11:35:30 +02:00
doxygen_options.json Fix doxygen_options.json for ResetReason 2019-07-08 15:55:25 +02:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Move Atomic.h to <mstd_atomic> 2019-07-18 20:02:07 +03:00
requirements.txt Bump the six (Python module) version to 1.12.0 2019-09-30 10:20:45 +02:00

README.md

Mbed OS

Build status release Build status master Tools coverage status

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.