Skip to content

Analog_Devices: Add armc6 features #5540

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 439 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
439 commits
Select commit Hold shift + click to select a range
2b1597a
add quotation marks for compiler path
mgiaco Sep 26, 2017
98b247a
remove the first join
mgiaco Sep 27, 2017
fbb1849
Merging changes from ATParser towards parser unification
SenRamakri Sep 27, 2017
634bde3
Merging changes from ATParser got AT parser unification
SenRamakri Sep 27, 2017
06fa1db
Prevent use of deleted ticker in Ticker test
c1728p9 Oct 4, 2017
ae4ce86
HAL: ticker_api: Fix outdated comment
fkjagodzinski Sep 5, 2017
8c98769
Fixed ethernet multi-function pin
cyliangtw Aug 23, 2017
0ece4d0
Replace mktime/localtime with interrupt-safe version in rtc
ccli8 Sep 4, 2017
f7f1ed3
Refine sleep code
ccli8 Aug 29, 2017
921f9e1
Fix RTC macro function with no arguments in BSP
ccli8 Sep 4, 2017
cb10be0
Fix RTC hour error with AM/PM
ccli8 Sep 4, 2017
901fcba
Move target configuration from mbed_lib.json to targets.json
ccli8 Sep 13, 2017
f86f651
Change SW2/SW3 to SW1/SW2 to match target board
ccli8 Sep 13, 2017
dfe7859
Fix lp_ticker typo
ccli8 Sep 15, 2017
148e1e2
Fix lp_ticker wake-up is incorrectly disabled
ccli8 Sep 18, 2017
37bf8e3
Fix RTC hour error with AM/PM
ccli8 Sep 21, 2017
c32006f
Refine sleep code
ccli8 Sep 22, 2017
0bd4d5e
Remove dead power-down code with mbed OS 3
ccli8 Sep 22, 2017
05439e0
Implement functional Wifi tests
Sep 19, 2017
52b9716
Set timeout to 4 minutes.
Sep 19, 2017
6f118da
Update template mbed_app.json
Sep 22, 2017
b2a884d
Fix includes.
Sep 29, 2017
8cb7c14
Update help text
Oct 3, 2017
ee9d04e
Fix builds for targets without wifi or without mbed_app.json
Oct 3, 2017
1d82491
Add Doxygen documentation for testcases.
Oct 4, 2017
609cd3b
Add license texts
Oct 4, 2017
3b45287
Moved STDIO_UART defines to targets.json for UBLOX_EVK_ODIN_W2 instea…
Sep 25, 2017
10f94e9
rtl8195am - remove obsolete configs
tung7970 Sep 30, 2017
b235e0a
rtl8195am - fix ARMC6 guards
tung7970 Oct 2, 2017
f926eb4
Fix documentation of BLE GattCharacteristic
akosthekiss Oct 1, 2017
d1e46c1
fix echo test handshake and reduce uart load
studavekar Oct 8, 2017
006ca97
Enable crypto HW acceleration for STM32F437xG platforms (i.e. ublox C…
RobMeades Aug 14, 2017
1c376d6
Add test for Timer class.
mprse Aug 21, 2017
76deb7e
Sleep: Disallow sleep for targets turning of the systick clock at sle…
pan- Sep 13, 2017
a3ef05d
Fix typo in DELTA_DFBM_NQ620 target
pan- Sep 25, 2017
3e3b70e
NRF52840: add the device configuration STCLK_OFF_DURING_SLEEP
pan- Sep 28, 2017
1f258ce
Test: deepsleep() API replacement
0xc0170 Sep 20, 2017
075993e
fix bug: I2C timeout due the clos strething by slave on nRFx SoC
nvlsianpu Sep 25, 2017
25400d5
Avoid wait_ms() spin
kjbracey Sep 28, 2017
30e8e9d
Make poll() use wait(1) rather than yield()
kjbracey Oct 2, 2017
6e0cd31
Add Low Power Timer test.
mprse Sep 12, 2017
575c064
Fix analogin scaling for EFM32 target
Sep 29, 2017
4c40c24
Fix the prepare_branch function
adbridge Sep 27, 2017
4892b54
Move to using command strings rather than command lists.
adbridge Sep 29, 2017
0b5043e
Add bootloaderd support to NUCLEO_F446RE target
pavels Sep 30, 2017
3c3e280
Add profile argument to mbed-os example build tools to allow non-defa…
kegilbert Sep 1, 2017
10b7613
Remove -p as an argument flag for profile
kegilbert Oct 3, 2017
62b5b44
lwIP: Add memory configs to JSON
kjbracey Oct 10, 2017
d3f9dd3
Enable MPL by default for 6LoWPAN-ND.
Oct 4, 2017
215eddc
fix init struct analogout
bcostm Oct 5, 2017
9583fff
Add error if OS tickrate is changed
c1728p9 Oct 5, 2017
7f31c76
STM32 RTC: initializes structures
bcostm Oct 6, 2017
817cead
Initialize State variable
bcostm Oct 10, 2017
b33ad27
Updated u-blox ODIN-W2 binaries to 2.2 rc1
Oct 4, 2017
82b36f5
NUCLEO_F303K8: add ALT pins + cleanup
bcostm Oct 10, 2017
05433d3
NUCLEO_L031K6: add ALT pins + cleanup
bcostm Oct 9, 2017
84c8244
NUCLEO_L432KC: add ALT pins + cleanup
bcostm Oct 9, 2017
f47600c
NUCLEO_F042K6: add ALT pins + cleanup
bcostm Oct 10, 2017
4215a38
NUCLEO_L011K4: add ALT pins + cleanup
bcostm Oct 10, 2017
7cde58d
STM32: RTC: Call irq_handler whenever interrupt fires
LMESTM Oct 10, 2017
6f9a678
Update HeapBlockDevice example in header file to compile
kegilbert Oct 10, 2017
06bd529
Add erase to example
kegilbert Oct 10, 2017
b855fde
uVisor: Upgrade to v0.31.0
Oct 9, 2017
fceea7a
Add additional information on the block parameter in the HeapBlockDev…
kegilbert Oct 18, 2017
3ab2f85
Fix behaviour of empty .mbedignore
geky Oct 13, 2017
e56bb68
Remove debug print from memap IAR impl
theotherjimmy Oct 3, 2017
0ab1272
Basic test refactoring
maciejbocianski Oct 3, 2017
857f30b
added SILICA_SENSOR_NODE in target.json
Sep 13, 2017
2209e01
copy of L476RG target
Sep 13, 2017
54452b5
peripherals pins adaptation
Sep 13, 2017
2f4f0b8
copy of L476RG ld file
Sep 13, 2017
f44d0fb
modification to .ld to improve memory
Sep 13, 2017
eb0da90
added TARGET_STM32L476JG define in mbed_rtx.h
Sep 13, 2017
d98fc95
modified mesh_system.c to improve memory
Sep 13, 2017
12a5a2f
added clock_source for tests
Sep 13, 2017
4d4884d
setted pin USBTX and USBRX
Sep 13, 2017
6015ae0
added IAR export for STM32L476JG
Sep 13, 2017
dd1d294
fixed pin LEDs
Sep 29, 2017
c6f68b2
removed memory allocation
Oct 10, 2017
7a56873
enabled flash in-application-programming driver for k66f
Aug 23, 2017
f5850b0
add updates for bootloader support to K66F
Aug 24, 2017
9c125db
fix app start size in IAR linker for K66F
Sep 1, 2017
d812594
RTOS: RtosTimer: Improve API docs
fkjagodzinski Aug 21, 2017
910025f
Tests: RTOS: RtosTimer: Add tests
fkjagodzinski Aug 18, 2017
91f648c
Tests: RTOS: RtosTimer: Fix tests on debug profile
fkjagodzinski Sep 26, 2017
3cf6a09
rtl8195am - use TOOLCHAIN_PATHS to locate toolchain
tung7970 Sep 5, 2017
6adfa8f
Extends test set for EventFlags class
maciejbocianski Sep 12, 2017
c9e589c
Move heap_and_stack tests
maciejbocianski Oct 9, 2017
3e56f41
Remove redundant ISR test.
mprse Oct 17, 2017
730646d
Updated MBED versionning block for patch release
adbridge Oct 20, 2017
e62a1b9
Merge pull request #5355 from ARMmbed/release-candidate
0xc0170 Oct 23, 2017
16048c2
Activate FLASH hal support on 2 STM32 boards
LMESTM Oct 20, 2017
a375ea0
STM32: TRNG: remove call to deprecated HAL_RNG_GetRandomNumber
LMESTM Sep 21, 2017
9bbe822
STM32: RNG: Ensure that no more than 1 instance is used
LMESTM Sep 21, 2017
4afca4d
NUCLEO_F207ZG: Fix issue with tests-api-analogout and GCC_ARM
bcostm Sep 25, 2017
781f6f7
Coding style and add State field init
bcostm Oct 5, 2017
b9acc52
Typo correction
bcostm Oct 10, 2017
28d76ac
rtl8195am - cleanup IAR icf file
tung7970 Oct 4, 2017
16784d4
rtl8195am - fix IAR zero padding issue
tung7970 Oct 5, 2017
7bf56cf
rtl8195am - remove redundant file
tung7970 Oct 6, 2017
ce58c04
Check for uARM support when compiling with uARM
theotherjimmy Oct 13, 2017
3387ddc
Test the supported check in the ARM toolchains
theotherjimmy Oct 20, 2017
b3368e9
Check for core support in ARM toolchain
theotherjimmy Oct 20, 2017
c190cea
MCUXpresso: Fix issue of ticker interrupt incorrectly firing
mmahadevan108 Oct 13, 2017
730be2b
MCUXpresso: Fix LPTimer issue when using multiple timeout objects
mmahadevan108 Oct 13, 2017
7317d3e
Change FileSystemHandle group to platform
geky Oct 16, 2017
9d3e36d
rtl8195am - fix us_ticker collision and race
tung7970 Oct 17, 2017
cbb1f98
STM32: Remove GCC_ARM compilation warnings
bcostm Oct 17, 2017
53acf47
STM32: Remove IAR compilation warning
bcostm Oct 18, 2017
ffc19cb
STM32: Remove lwip compilation warnings
bcostm Oct 19, 2017
33545bb
LPCXpresso LPC1769 board ported
grygorek Sep 5, 2017
3724b25
mbed LPC1768 & Xpresso LPC1769 unified
grygorek Sep 6, 2017
78b6f82
lpc1769 inherits from lpc1768; reuse lpc1768.ld for LPC1769 target
grygorek Oct 17, 2017
4b7b453
Add MemoryPool test.
mprse Aug 17, 2017
136aac9
Replace PACKED attribute on lpc4088 ethernet structs with MBED_PACKED…
kegilbert Oct 13, 2017
8d9e052
Improve domain handling and status checking of updated examples.
adbridge Oct 17, 2017
63dc29d
Combine string constants passed to 'join' function
adbridge Oct 24, 2017
48e87a0
Change address subtraction when moving through block devices to be th…
kegilbert Oct 24, 2017
687c1b6
mail test: fix out of memory problem for NUCLEO_F070RB
maciejbocianski Oct 25, 2017
3983d49
semaphore test: fix out of memory problem for NUCLEO_F070RB
maciejbocianski Oct 25, 2017
883cb92
Remove include from assember in makefile exporter
theotherjimmy Nov 1, 2017
12eb385
added IAR export for TMPM066
Oct 23, 2017
7db5595
race test: fix out of memory problem for NUCLEO_F070RB
maciejbocianski Oct 25, 2017
55043e1
Copy edit pull_request_template.md
Oct 27, 2017
b0ab46e
Resolve doxygen warning in filesystems
kegilbert Oct 27, 2017
e3c91a2
add compatibility with STM32L496xG MCUs
pmancele Jun 27, 2017
5edb090
Add BSP files for NUCLEO_L496ZG
Jun 27, 2017
3812e09
NUCLEO_L496ZG update build_travis.py
pmancele Jun 27, 2017
123772b
NUCLEO_L496ZG add mbedOS 2 compatibility
pmancele Jun 27, 2017
fe851f5
STM32L496ZG add ARM_MICRO toolchain
pmancele Jun 27, 2017
9b155d8
STM32L496ZG add ARM_STD toolchain
pmancele Jun 27, 2017
f9bf18f
STM32L496ZG add IAR toolchain
pmancele Jun 27, 2017
bdac5dc
NUCLEO_L496ZG target inherits from FAMILY_STM32
pmancele Jun 28, 2017
992f6e9
build_travis.py Fix indentation
pmancele Jun 29, 2017
fc11995
NUCLEO_L496ZG Use correct linker script for IAR
pmancele Jul 4, 2017
5ea8a11
NUCLEO_L496ZG update date in file copyrights headers
pmancele Jul 4, 2017
565beab
NUCLEO_L496ZG Use new alternative pins definition
pmancele Jul 4, 2017
902765f
NUCLEO_L496ZG Update comments
pmancele Jul 4, 2017
cb6326f
STM32L496xG fix objects.h to fit common_objects definition
pmancele Jul 4, 2017
6db1d2d
NUCLEO_L496ZG Fix ARM startup script
pmancele Jul 11, 2017
ab4b6cb
NUCLEO_L496ZG Fix IAR startup script
pmancele Jul 11, 2017
f281f51
NUCLEO_L496ZG JSON Clock Configuration
pmancele Jul 25, 2017
c3595f4
NUCLEO_L496ZG change LPUART1 clock source to fix crash on serial init
pmancele Jul 25, 2017
3847477
Remove analogin_s definition from objects.h
Aug 3, 2017
ae6e44e
replace tab by spaces
adustm Aug 4, 2017
fd4ef95
Make ARM test pass on mbed-os5 tests
adustm Aug 4, 2017
a08f7d4
Replace tab by spaces
adustm Aug 4, 2017
8835146
Align IAR files with mbed-os implementation (tests are still failing)
adustm Aug 4, 2017
9d143dc
Add STM32L496VG to be able to exprot a program in IAR
adustm Aug 8, 2017
59155b7
Fix for IAR tests
adustm Aug 17, 2017
dbe34f0
add target definition for sw4stm32 exporter
pmancele Oct 2, 2017
cabd7a3
fix can_s struct definition
pmancele Oct 2, 2017
3198920
remove sys.cpp file of the ARM_STD toolchain as done in the MR #4949
pmancele Oct 6, 2017
31feb1d
Test set for LowPowerTicker class
maciejbocianski Sep 7, 2017
ac82578
fs: Corrected errno when not finding a mounted filesystem
geky Oct 24, 2017
7a5ffad
STM32F4/STM32L4: remove MSP template file
jeromecoutant Oct 30, 2017
873d7d1
malloc test - reduce heap usage
maciejbocianski Oct 18, 2017
4ffe2aa
Beetle BLE: Fix variable length GATT attribute
gaborkertesz Oct 26, 2017
371a24a
Ensure Thread stack is 8 byte aligned
c1728p9 Oct 30, 2017
fd603c7
BLE: Update iBeacon documentation.
pan- Oct 31, 2017
054a301
BLE: iBeacon minor edit.
pan- Oct 31, 2017
e4ac455
BLE: Fix conjugation and spelling of iBeacon documentation.
pan- Oct 31, 2017
756df3e
Copy edit iBeacon.h
Oct 31, 2017
cfe4c7a
BLE: Fix typos in iBeacon documentation.
pan- Oct 31, 2017
3619039
STM32: Ethernet: Workaround for STM32_F767 revA
LMESTM Oct 31, 2017
8c38642
Collect build artifacts disable cleanup
studavekar Oct 31, 2017
ee7d828
Update Mbed version block for patch release
0xc0170 Nov 3, 2017
78474a5
Merge pull request #5427 from ARMmbed/release-candidate
adbridge Nov 6, 2017
d116c9d
RealTek WiFi test configuration
SenRamakri Oct 8, 2017
889e22c
Checking in the fixes related to I2C issues.
danclement Oct 27, 2017
2f36cd7
test: realtek net config default to none
0xc0170 Nov 7, 2017
c2bba67
STM32F412 IAR linker file issue
jeromecoutant Nov 9, 2017
e20d35d
STM32F4: Flash: fix 2MB GetSector computation
LMESTM Nov 8, 2017
f81521a
STM32: remove trailing white spaces
LMESTM Nov 8, 2017
ce04e3d
Increase flash size on Realtek RTL8195AM
Nov 7, 2017
157150e
STM32: Extend Ethernet RMII workaround
LMESTM Nov 2, 2017
3aa46e6
small supplement for PR #5338
maciejbocianski Nov 3, 2017
781c0c7
Shrink RTOS classes
kjbracey Nov 3, 2017
5fe9ee5
Tests: RTOS: RtosTimer: Fix tests for NRF51_DK board
fkjagodzinski Oct 31, 2017
5ead8ec
Tests: RTOS: RtosTimer: Refactor for readability
fkjagodzinski Nov 3, 2017
27d4b52
NUCLEO_L496ZG minor update
jeromecoutant Oct 6, 2017
5382081
NUCLEO_L496ZG_P support
jeromecoutant Nov 3, 2017
c4a034f
Add mbed-cloud-client support on DISCO_L475VG_IOT01A with wifi_esp826…
soramame21 Nov 2, 2017
b66b28c
Threaded wrapper for rail driver on EFR32 platforms
ryankurte Oct 6, 2017
b1c4fa3
Added critical section around rf_start_cca
ryankurte Oct 11, 2017
a95fcbf
Swapped to macro definition for debug prints
ryankurte Oct 31, 2017
bb3bd00
ncs36510: fire interrupt correct timer fix
0xc0170 Oct 27, 2017
d3ca63e
Doxygen comment updates and fixes
SenRamakri Oct 24, 2017
88a91a5
Fix comments on mbed_assert.h
SenRamakri Oct 27, 2017
6d967bb
Fixed doxygen_options.json
SenRamakri Oct 31, 2017
69df251
event queue test: fix out of memory problem for NUCLEO_F070RB
maciejbocianski Oct 24, 2017
9f9666e
add new target L-Tek FF-LPC546XX
Oct 18, 2017
761c578
Fix ETHMEM_SECTION placement for ARM on LPC1768
chrissnow Oct 15, 2017
05a36aa
Remove build warnings in LWIP
kegilbert Oct 13, 2017
8dceef0
HEXIWEAR: define HEXIWEAR target to support bootloader.
Nov 3, 2017
6de5b39
introduced mbed Connect Cloud board based on ODIN-W2 Module rety comm…
Oct 12, 2017
0105347
Added support for ADI EV-COG-AD4050LZ platform.
dave-wu Sep 20, 2017
b1b4cfb
Fixed issues raised in the feedback from ARM for the ADuCM4050 platform.
dave-wu Oct 2, 2017
f5b6cda
Fixed a merge error for LPC11U34_421.
dave-wu Oct 2, 2017
af8b5d9
- Added definiton for i2c_reset; - Removed unneeded code from i2c and…
dave-wu Oct 2, 2017
aa68725
- Fixed an issue where the TRNG device is read even when it is not re…
dave-wu Oct 3, 2017
78d8379
Removed undefined spi slave related functions.
dave-wu Oct 3, 2017
1a0470f
Removed the custom app thread stack size.
dave-wu Oct 3, 2017
477c728
- Added error checking for trng_get_bytes function; - Added curly bra…
dave-wu Oct 9, 2017
46eae9f
Added curly brackets for the single line if else statement.
dave-wu Oct 9, 2017
a85563b
- Cleaned up some formatting issues; - Fixed a build error in spi_mas…
dave-wu Oct 11, 2017
c4220ec
Added default delay and sample times for the ADC during initialization.
dave-wu Oct 12, 2017
41c6084
- Added code to clear temporary variable on the stack before exiting …
dave-wu Oct 30, 2017
f53e037
Added a check for the STUCK bit before reading the RNG data register …
dave-wu Nov 2, 2017
5408dae
- Removed .mbedignore due to an issue with the eclipse exporter not p…
dave-wu Nov 9, 2017
de51bca
Add support for RedBear's BLE Nano 2
Oct 1, 2017
44fc331
rtl8195am - fix us_ticker interrupt handling
tung7970 Oct 25, 2017
d56959a
Update HAL code to resolve ticker lockup issue
Archcady Nov 7, 2017
9c416ae
Update HAL library to fix lockup issue
Archcady Nov 9, 2017
dbbe227
Remove lines to improve readability
Archcady Nov 9, 2017
5ca8869
Reorganize defines for firmware updates on Realtek RTL8195AM
Nov 9, 2017
337a506
Limit size of equeue for sigio net test
sarahmarshy Nov 9, 2017
6923d0d
fix TRUE/FALSE redefinition
cyliangtw Nov 8, 2017
23a1629
STM32: HAL smartcard, fix memory corruption in Receive
LMESTM Nov 15, 2017
2ff12b4
Remove mbed-cloud-client-example-internal.
adbridge Nov 14, 2017
e56598c
STM32: Add support of CAN3 on STM32F413/F767
bcostm Nov 13, 2017
061edef
STM32: Use CAN3_BASE + typos
bcostm Nov 14, 2017
b3406e3
STM32: fix compilation error with STM32F1
bcostm Nov 15, 2017
21fcb75
STM32: fix error with CAN_3 not defined
bcostm Nov 15, 2017
1e7d12a
Fix bug for issue 5462, initial pin value not retained
nvlsianpu Nov 13, 2017
f2155a3
DISCO_L072CZ: align SetSysClock_PLL_HSE() with SetSysClock_PLL_HSI()
bcostm Nov 13, 2017
4be1146
DISCO_L072CZ: add comment in clock_source config
bcostm Nov 13, 2017
1b6e1ab
DISCO_L072CZ: remove dead code
bcostm Nov 15, 2017
dba0135
BLE: Update BatteryService documentation.
pan- Nov 9, 2017
b2b2480
Copy edit BatteryService.h
Nov 9, 2017
948f472
BLE: Fix assertion in Battery service.
pan- Nov 10, 2017
1886e8b
Provide fix for Timer and LowPowerTimer tests (time accumulation).
mprse Nov 13, 2017
329dfc5
Move Timer test, modify ASERT macros, fix comments.
mprse Nov 13, 2017
7efa2f7
Provide fix for Issue #5468.
mprse Nov 13, 2017
bc38af8
Extends test set for Ticker class (round 2)
maciejbocianski Oct 5, 2017
704a0dc
cryptographic acceleration support
stevew817 Jul 28, 2017
843d5c1
Apply feedback from @RonEld
stevew817 Aug 2, 2017
c5ac3ee
Applied @yanesca and @andresag01 comments (#4825)
stevew817 Oct 19, 2017
c6a6585
Cosmetic fix
stevew817 Oct 31, 2017
8657958
Apply feedback by @Patater
stevew817 Nov 11, 2017
4a5ad4e
Use ethernet as default config if target has LWIP feature
Oct 17, 2017
6abc761
Updated get_test_config function returns comment
Oct 17, 2017
4dc8ae5
Updated if statements for conciseness
Oct 17, 2017
e1e3453
Removed special config for K64F
Oct 17, 2017
9976bc2
Added support for ADI EV-COG-AD3029LZ platform.
dave-wu Sep 19, 2017
6b55c2a
Cleaned up some formatting issues.
dave-wu Nov 15, 2017
3a2de81
Added SystemCoreClock as an extern.
dave-wu Nov 16, 2017
2550c88
Update Mbed version block for patch release
adbridge Nov 17, 2017
34b61d1
Merge pull request #5523 from ARMmbed/release-candidate
0xc0170 Nov 20, 2017
a11721f
Analog_Devices: add ARMC6 feature
Nov 21, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[run]
omit =
*/usr/local/lib*
*/tools/test/*

[report]
omit =
*/usr/local/lib*
*/tools/test/*
18 changes: 9 additions & 9 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
Notes:
* Pull requests will not be accepted until the submitter has agreed to the [contributer agreement](https://github.com/ARMmbed/mbed-os/blob/master/CONTRIBUTING.md).
* This is just a template, so feel free to use/remove the unnecessary things
- Pull requests will not be accepted until the submitter has agreed to the [contributer agreement](https://github.com/ARMmbed/mbed-os/blob/master/CONTRIBUTING.md).
- This is just a template, so feel free to use/remove the unnecessary things

## Description
A few sentences describing the overall goals of the pull request's commits.

A few sentences describing the overall goals of the pull request's commits.

## Status
**READY/IN DEVELOPMENT/HOLD**

**READY/IN DEVELOPMENT/HOLD**

## Migrations

If this PR changes any APIs or behaviors, give a short description of what *API users* should do when this PR is merged.

YES | NO


## Related PRs

List related PRs against other branches:

branch | PR
------ | ------
other_pr_production | [link]()
other_pr_master | [link]()


## Todos

- [ ] Tests
- [ ] Documentation


## Deploy notes
Notes regarding the deployment of this PR. These should note any
required changes in the build environment, tools, compilers, etc.

Notes regarding the deployment of this PR. These should note any required changes in the build environment, tools, compilers and so on.

## Steps to test or reproduce

Outline the steps to test or reproduce the PR here.
15 changes: 7 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
python:
- "2.7"
group: deprecated-2017Q3
script:
- mkdir BUILD
# Assert that the Doxygen build produced no warnings.
Expand Down Expand Up @@ -36,10 +35,10 @@ before_install:
- python --version
- doxygen --version
install:
- pip install -r requirements.txt
- pip install pytest
- pip install pylint
- pip install hypothesis
- pip install mock
- pip install coverage
- pip install coveralls
- pip install --user -r requirements.txt
- pip install --user pytest
- pip install --user pylint
- pip install --user hypothesis
- pip install --user mock
- pip install --user coverage
- pip install --user coveralls
5 changes: 4 additions & 1 deletion TESTS/events/queue/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@

using namespace utest::v1;

#define TEST_EQUEUE_SIZE 1024
// TEST_EQUEUE_SIZE was reduced below 1024B to fit this test to devices with small RAM (RAM <= 16kB)
// additionally TEST_EQUEUE_SIZE was expressed in EVENTS_EVENT_SIZE to increase readability
// (for more details about EVENTS_EVENT_SIZE see EventQueue constructor)
#define TEST_EQUEUE_SIZE (18*EVENTS_EVENT_SIZE)

// flag for called
volatile bool touched = false;
Expand Down
15 changes: 9 additions & 6 deletions TESTS/mbed_drivers/echo/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,18 @@ using namespace utest::v1;
// Echo server (echo payload to host)
template<int N>
void test_case_echo_server_x() {
char _key[10] = {};
char _key[11] = {};
char _value[128] = {};
const int echo_count = N;
const char _key_const[] = "echo_count";
int expected_key = 1;

greentea_send_kv(_key_const, echo_count);
// Handshake with host
greentea_send_kv("echo_count", echo_count);
greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value));
do {
greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value));
expected_key = strcmp(_key_const, _key);
} while (expected_key);
TEST_ASSERT_EQUAL_INT(echo_count, atoi(_value));

for (int i=0; i < echo_count; ++i) {
Expand All @@ -48,12 +53,10 @@ utest::v1::status_t greentea_failure_handler(const Case *const source, const fai

Case cases[] = {
Case("Echo server: x16", test_case_echo_server_x<16>, greentea_failure_handler),
Case("Echo server: x32", test_case_echo_server_x<32>, greentea_failure_handler),
Case("Echo server: x64", test_case_echo_server_x<64>, greentea_failure_handler),
};

utest::v1::status_t greentea_test_setup(const size_t number_of_cases) {
GREENTEA_SETUP(180, "echo");
GREENTEA_SETUP(30, "echo");
return greentea_test_setup_handler(number_of_cases);
}

Expand Down
221 changes: 221 additions & 0 deletions TESTS/mbed_drivers/lp_ticker/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
/* mbed Microcontroller Library
* Copyright (c) 2013-2017 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "mbed.h"
#include "greentea-client/test_env.h"
#include "utest/utest.h"
#include "unity/unity.h"


#if !DEVICE_LOWPOWERTIMER
#error [NOT_SUPPORTED] Low power ticker not supported for this target
#endif

using utest::v1::Case;

static const int test_timeout = 10;

#define TICKER_COUNT 16
#define MULTI_TICKER_TIME_MS 100

/* Due to poor accuracy of LowPowerTicker on many platforms
there is no sense to tune tolerance value as it was in Ticker tests.

Tolerance value is set to 2000us to cover this diversity */
#define TOLERANCE_US 2000


volatile uint32_t ticker_callback_flag;
volatile uint32_t multi_counter;
Timer gtimer;



void sem_release(Semaphore *sem)
{
sem->release();
}


void stop_gtimer_set_flag(void)
{
gtimer.stop();
core_util_atomic_incr_u32((uint32_t*)&ticker_callback_flag, 1);
}

void increment_multi_counter(void)
{
core_util_atomic_incr_u32((uint32_t*)&multi_counter, 1);;
}

/** Test many tickers run one after the other

Given many Tickers
When schedule them one after the other with the same time intervals
Then tickers properly execute callbacks
When schedule them one after the other with the different time intervals
Then tickers properly execute callbacks
*/
void test_multi_ticker(void)
{
LowPowerTicker ticker[TICKER_COUNT];
const uint32_t extra_wait = 10; // extra 10ms wait time

multi_counter = 0;
for (int i = 0; i < TICKER_COUNT; i++) {
ticker[i].attach_us(callback(increment_multi_counter), MULTI_TICKER_TIME_MS * 1000);
}

Thread::wait(MULTI_TICKER_TIME_MS + extra_wait);
for (int i = 0; i < TICKER_COUNT; i++) {
ticker[i].detach();
}
TEST_ASSERT_EQUAL(TICKER_COUNT, multi_counter);

multi_counter = 0;
for (int i = 0; i < TICKER_COUNT; i++) {
ticker[i].attach_us(callback(increment_multi_counter), (MULTI_TICKER_TIME_MS + i) * 1000);
}

Thread::wait(MULTI_TICKER_TIME_MS + TICKER_COUNT + extra_wait);
for (int i = 0; i < TICKER_COUNT; i++) {
ticker[i].detach();
}
TEST_ASSERT_EQUAL(TICKER_COUNT, multi_counter);
}

/** Test multi callback time

Given a Ticker
When the callback is attached multiple times
Then ticker properly execute callback multiple times
*/
void test_multi_call_time(void)
{
LowPowerTicker ticker;
int time_diff;
const int attach_count = 10;

for (int i = 0; i < attach_count; i++) {
ticker_callback_flag = 0;
gtimer.reset();

gtimer.start();
ticker.attach_us(callback(stop_gtimer_set_flag), MULTI_TICKER_TIME_MS * 1000);
while(!ticker_callback_flag);
time_diff = gtimer.read_us();

TEST_ASSERT_UINT32_WITHIN(TOLERANCE_US, MULTI_TICKER_TIME_MS * 1000, time_diff);
}
}

/** Test if detach cancel scheduled callback event

Given a Ticker with callback attached
When the callback is detached
Then the callback is not being called
*/
void test_detach(void)
{
LowPowerTicker ticker;
int32_t ret;
const float ticker_time_s = 0.1f;
const uint32_t wait_time_ms = 500;
Semaphore sem(0, 1);

ticker.attach(callback(sem_release, &sem), ticker_time_s);

ret = sem.wait();
TEST_ASSERT_TRUE(ret > 0);

ret = sem.wait();
ticker.detach(); /* cancel */
TEST_ASSERT_TRUE(ret > 0);

ret = sem.wait(wait_time_ms);
TEST_ASSERT_EQUAL(0, ret);
}

/** Test single callback time via attach

Given a Ticker
When callback attached with time interval specified
Then ticker properly executes callback within a specified time interval
*/
template<us_timestamp_t DELAY_US>
void test_attach_time(void)
{
LowPowerTicker ticker;
ticker_callback_flag = 0;

gtimer.reset();
gtimer.start();
ticker.attach(callback(stop_gtimer_set_flag), ((float)DELAY_US) / 1000000.0f);
while(!ticker_callback_flag);
ticker.detach();
const int time_diff = gtimer.read_us();

TEST_ASSERT_UINT64_WITHIN(TOLERANCE_US, DELAY_US, time_diff);
}

/** Test single callback time via attach_us

Given a Ticker
When callback attached with time interval specified
Then ticker properly executes callback within a specified time interval
*/
template<us_timestamp_t DELAY_US>
void test_attach_us_time(void)
{
LowPowerTicker ticker;
ticker_callback_flag = 0;

gtimer.reset();
gtimer.start();
ticker.attach_us(callback(stop_gtimer_set_flag), DELAY_US);
while(!ticker_callback_flag);
ticker.detach();
const int time_diff = gtimer.read_us();

TEST_ASSERT_UINT64_WITHIN(TOLERANCE_US, DELAY_US, time_diff);
}

// Test cases
Case cases[] = {
Case("Test attach for 0.001s and time measure", test_attach_time<1000>),
Case("Test attach_us for 1ms and time measure", test_attach_us_time<1000>),
Case("Test attach for 0.01s and time measure", test_attach_time<10000>),
Case("Test attach_us for 10ms and time measure", test_attach_us_time<10000>),
Case("Test attach for 0.1s and time measure", test_attach_time<100000>),
Case("Test attach_us for 100ms and time measure", test_attach_us_time<100000>),
Case("Test attach for 0.5s and time measure", test_attach_time<500000>),
Case("Test attach_us for 500ms and time measure", test_attach_us_time<500000>),
Case("Test detach", test_detach),
Case("Test multi call and time measure", test_multi_call_time),
Case("Test multi ticker", test_multi_ticker),
};

utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
{
GREENTEA_SETUP(test_timeout, "timing_drift_auto");
return utest::v1::greentea_test_setup_handler(number_of_cases);
}

utest::v1::Specification specification(greentea_test_setup, cases, utest::v1::greentea_test_teardown_handler);

int main()
{
utest::v1::Harness::run(specification);
}
Loading