Go to file
Przemyslaw Stekiel 25b23a9286 tests-mbed_hal-sleep: finish UART transmission before sleep test
There is no problem with this test during the morph, but some issue has been noticed while testing new Jenkins CI in Oulu on NRF52_DK.
I was able to reproduce the issue locally. The difference between morph and local run is that CPU statistics are enabled on morph. This makes the difference and test passes.

The sleep test case perform sleep for 100 us, 200 us, ... ,1000 us in loop (us ticker wakes the board) and verifies if sleep time matches the assumption.
I got the following results:

sleep                 wake-up after
100 us                   ~100 us    ok
200 us                   ~200 us    ok
300 us                   ~300 us    ok
400 us                   ~400 us    ok
500 us                   ~14 us     (??)

When requested sleep time is equal to 500 us some unexpected interrupt occurs which wakeup the board and force the test to fail.
Register state just after exit from sleep:
Control and State Register: 0x00400000 (ISRPENDING - Interrupt pending flag is set).
NVIC Interrupt Set-pending Register[0]: 0x00000004 (UARTE0_UART0_IRQn) or 0x00000200 (TIMER1_IRQn - timer used by us ticker).

UART interrupt is generated because of green-tea transmission. We know that it is performed while test is executed since we need to wait before going into deep-sleep since otherwise the transmission will be broken. So to take care of UART interrupt we need to wait before sleep test in the same way like it is done in deep-sleep test.
2018-09-26 14:29:14 +02:00
.github PR template: Feature -> functionality change 2018-08-08 12:50:12 +01:00
TESTS tests-mbed_hal-sleep: finish UART transmission before sleep test 2018-09-26 14:29:14 +02:00
TEST_APPS Merge pull request #8073 from jarlamsa/icetea_test_docs 2018-09-22 16:36:17 -05:00
UNITTESTS Merge pull request #8138 from michalpasztamobica/master 2018-09-26 09:38:20 +02:00
cmsis Fix CMSIS __RESTRICT define for IAR 2018-08-25 20:41:12 -05:00
components Merge pull request #7955 from yossi2le/add_frequency_to_dataflash_conig 2018-09-24 10:45:34 -05:00
docs/design-documents Merge pull request #7426 from donatieng/nfc-spec 2018-09-02 16:04:13 +02:00
drivers Merge pull request #7903 from tkem/fix/cleanup-include-paths 2018-09-19 12:16:09 +02:00
events Merge pull request #7810 from kegilbert/eventqueue-templatewall-rework 2018-08-24 11:30:54 +02:00
features Merge pull request #8229 from mirelachirica/fix_network_and_util_ut 2018-09-25 10:35:36 -05:00
hal Merge pull request #8029 from OpenNuvoton/nuvoton_fix_lpticker_wrapper 2018-09-19 13:44:40 +02:00
platform Merge pull request #8165 from mprse/issue_8155_fix 2018-09-24 12:59:22 +02:00
rtos Merge pull request #8106 from c1728p9/macros_to_config 2018-09-22 16:40:53 -05:00
targets Merge pull request #8014 from M-ichae-l/realtek-rtl8195am-lib-updates 2018-09-26 13:09:28 +02:00
tools Merge pull request #8014 from M-ichae-l/realtek-rtl8195am-lib-updates 2018-09-26 13:09:28 +02:00
.astyleignore AStyle: ignore hal storage abstraction 2018-06-29 10:36:36 +01: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 Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Move test_suite.json ignore in project level 2018-08-31 11:54:40 +03:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Remove components from RTOS-less build. 2018-09-01 12:37:45 -05: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 Updated file comment 2018-08-20 12:31:40 +03:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Add GH link to README.md 2018-08-28 14:23:56 -05:00
astyle-branch.out Added test config for mac tester 2018-08-31 11:55:42 +03:00
doxyfile_options Allow storage doxy to build 2018-09-13 17:30:44 -05:00
doxygen_options.json add UNITTESTS folder to exclude patterns in doxygen_options.json 2018-09-21 15:31:04 +03:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Separate version header file to get version updates in Mbed OS 2018-07-11 09:41:30 -05:00
requirements.txt Update mbed-cloud-sdk in requirements.txt 2018-09-17 20:27:59 -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.

Documentation

For more information about Mbed OS, please see our published documentation. It includes published 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 repo.