Skip to content

Release candidate for mbed-os-5.7.6 #6195

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 76 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
813ae64
lwip: enable EMAC IPv6 support
juhaylinen Feb 9, 2018
87f206e
Fix NVIC Wrapper include
TomoYamanaka Feb 9, 2018
b6ab721
DISCO_F303VC : wrong STDIO pins
jeromecoutant Feb 7, 2018
5f57899
DISCO_F303VC : add IAR files
jeromecoutant Feb 8, 2018
375e1ca
DISCO_F303VC : Align clock configuration with STM32 family
jeromecoutant Feb 8, 2018
ac6f62a
Fixed serial pins and a typo for ODIN MTB
Feb 7, 2018
569dab5
cast to resolve signed/unsigned comparison compiler warning in FATFil…
bmcdonnell-ionx Feb 5, 2018
9a05451
STM32L0/4: Always try to select LSE if LPUART and baudrate <= 9600
Jan 25, 2018
c1e8cb7
STM32L0: Enable stop mode operation for the LPUART
Jan 25, 2018
bc3640c
Ble: fix size function in advertising_data_t and address_t.
pan- Feb 9, 2018
ec18173
add few files to gitignore list
ithinuel Feb 9, 2018
b4e7f58
remove magic calibration value for HSI in ST's targets
ithinuel Feb 12, 2018
15dc64e
fatfs: Removed extra MBR block
geky Feb 12, 2018
adb58a9
Added test to catch multiple nested MBRs
geky Feb 13, 2018
f8d1ca0
mbr: Added checks for extended partitions
geky Feb 13, 2018
9eb56b5
tools: build: fix handing of "--stats-depth"
TeroJaasko Feb 13, 2018
a6c69b4
F7 ST CUBE V1.10.0 F7 HAL driver V1.2.5
bcostm Feb 8, 2018
1a3c397
Add missing can legacy file
bcostm Feb 9, 2018
bbb34d5
fix for serial issue #5805
prashantrar Feb 4, 2018
1f3f42b
Fixing coding style
prashantrar Feb 5, 2018
336d50d
mbr: Added note about limitations
geky Feb 14, 2018
1e35f26
Prevent detect_targets.py tool script from crashing on known targets
daid Feb 2, 2018
a528b0c
Fix for issue #6054 - interrupts scheduled in the past.
mprse Feb 12, 2018
9c3d403
Generate/Link secure object file
Sep 22, 2017
bbb1183
gnuarmeclipse exporter uses mBed instead of proper casing
janjongboom Feb 15, 2018
b98aebe
RTX changes pulled in from d20b8aad7f5e
Feb 8, 2018
6be169c
Default values for Trustzone Idle/Timer thread updated
Feb 8, 2018
2342f75
RTX5: Pre-processor defines used for assembly
Feb 7, 2018
591b03c
Non Secure flag is required for pre-processing of linker file
Sep 22, 2017
b746ba1
Pulling in CMSIS commit 05fa9d328a
Feb 8, 2018
b184943
Added SHA record for context switch assembly files
Feb 12, 2018
cac461d
STM32F4 Cube update : file name alignment
jeromecoutant Feb 12, 2018
8d75c35
STM32F4 Cube v1.19.0 update : ST HAL files
jeromecoutant Feb 12, 2018
2954f59
STM32F4 Cube v1.19.0 update : ST CMSIS files
jeromecoutant Feb 14, 2018
6429a9e
STM32F429ZI add SERIAL_ASYNCH
pilotak Feb 13, 2018
81ee1af
remove unused variable / resolve compiler warning
bmcdonnell-ionx Feb 15, 2018
c658bab
Rework us_ticker and lp_ticker
ccli8 Jan 24, 2018
2048a8a
equeue: Removed RTOS dependencies when RTOS not present
geky Feb 15, 2018
5f9aefe
equeue: Added test for non-RTOS compilation regressions
geky Feb 15, 2018
77238d1
equeue: Added note about using global event queues in irq
geky Feb 16, 2018
26645d4
tests-events-timing - print debug info only in case of failure.
mprse Feb 19, 2018
9428d6d
Replacing i2c_xxxx(...) calls to reduce binary size and avoid any RTO…
bqam-ublox Feb 16, 2018
e2d8925
Formatting change
bqam-ublox Feb 16, 2018
a94b2eb
Formatting change - II
bqam-ublox Feb 19, 2018
78075ea
Avoid importing <memory> as this causes a typedef conflict on `error_…
pi-anl Feb 16, 2018
0ff42ca
Simplify and Improve error/warning parser for arm_gcc
steinerphilipp Jan 24, 2018
135369c
Avoid blowing away .mbedignore files in exporters
theotherjimmy Feb 16, 2018
8d04ad0
Correct sector scraping in arm-pack-manager
theotherjimmy Feb 16, 2018
3897d61
Modified 'apt-get update' to loop until successful
cmonr Feb 16, 2018
5659e88
Added missing bracket.
cmonr Feb 17, 2018
3c72e84
Support ECP H/W accelerator
ccli8 Nov 13, 2017
d53284c
Fix warning in crypto
ccli8 Jan 22, 2018
7ec5910
Refine code in ECP alter.
ccli8 Jan 22, 2018
b05ccef
Check divisor is not zero in MODOP_DIV operation in ECP alter.
ccli8 Feb 6, 2018
f4cf8ae
Remove mbedtls prefix for internal functions in ECP alter.
ccli8 Feb 6, 2018
dcf17fc
Remove mbedtls_internal_ecp_mul in ECP alter.
ccli8 Feb 6, 2018
57aacff
Support internal self-test for ECP alter.
ccli8 Feb 6, 2018
c92b650
Refine crypto_zeroize/crypto_zeroize32
ccli8 Feb 12, 2018
7417522
Refine internal_mpi_write_eccreg in ECP alter.
ccli8 Feb 12, 2018
bb24d4e
STM32 STDIO pin redefinition
jeromecoutant Feb 8, 2018
908ee77
K64F lp ticker driver - calculation bug fix.
mprse Feb 9, 2018
d75675a
littlefs: Fix incorrect lookahead population before ack
geky Feb 9, 2018
c381737
NETSOCKET pressure tests configuration
jeromecoutant Feb 14, 2018
1b05280
Make NRF52 flash work with SoftDevice
Feb 16, 2018
6c5b4ad
Added quotes around MBED_BOT parameter
cmonr Feb 16, 2018
558358a
LWIP PBUF_POOL_BUFSIZE increased to fit also IPv6 header
Feb 20, 2018
8e95e53
Fix WIFI-CONNECT-PARAMS-CHANNEL-FAIL Greentea test case
Feb 20, 2018
bfe7902
fixup! LWIP PBUF_POOL_BUFSIZE increased to fit also IPv6 header
Feb 21, 2018
9ea0f86
Pull request template update
0xc0170 Feb 13, 2018
5e9d8ee
Correct single file excludes for some exporters
theotherjimmy Feb 20, 2018
1bb801c
retarget: Fix path behaviour without leading slash
geky Feb 21, 2018
5f8c702
LPC546XX: Add support for 220MHz core speed available on LPC54628
mmahadevan108 Feb 20, 2018
b27e5df
ff_lpc546xx: Add support for 220MHz core speed.
mmahadevan108 Feb 20, 2018
2fa791d
nrf5x: gpiote uninit only needs to be run if input pin is configured …
pi-anl Feb 6, 2018
c56a71e
sleep_manager_racecondition: fix for slow devices
maciejbocianski Feb 22, 2018
569db76
Update Mbed version block for patch release
adbridge Feb 23, 2018
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
  •  
  •  
  •  
44 changes: 8 additions & 36 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,11 @@
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
# Description

## Description
> Detailed changes summary | testing | dependencies
> Good example: https://os.mbed.com/docs/latest/reference/guidelines.html#workflow (Pull request template)

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

## Status

**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 and so on.

## Steps to test or reproduce

Outline the steps to test or reproduce the PR here.
- [ ] Fix
- [ ] Refactor
- [ ] New Target
- [ ] Feature
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ BUILD/
.mbed
venv/

# Mbedls
.mbedls-mock.lock

# Eclipse Project Files
.cproject
.project
Expand Down Expand Up @@ -44,6 +47,8 @@ pip-log.txt
.coverage
.tox
nosetests.xml
.cache
.hypothesis

# Translations
*.mo
Expand Down Expand Up @@ -72,6 +77,9 @@ debug.log
# Cscope
cscope.*

# Ctags
tags

# vim swap files
*.swp
*~
Expand Down
9 changes: 7 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ python:
env:
global:
- >
STATUS=$'curl -so/dev/null --user $MBED_BOT --request POST
STATUS=$'curl -so/dev/null --user "$MBED_BOT" --request POST
https://api.github.com/repos/$TRAVIS_REPO_SLUG/statuses/${TRAVIS_PULL_REQUEST_SHA:-$TRAVIS_COMMIT}
--data @- << DATA\n{
"state": "$0",
Expand All @@ -30,7 +30,8 @@ before_install:
- sudo ln -s $HOME/.cache/apt /var/cache/apt/archives
# Setup ppa to make sure arm-none-eabi-gcc is correct version
- sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa
- sudo apt-get update -qq
# Loop until update succeeds (timeouts can occur)
- while [ -n "$(sudo apt-get update 2>&1 |grep Failed)" ]; do :; done

after_success:
- bash -c "$STATUS" success "Local $NAME testing has passed"
Expand Down Expand Up @@ -108,6 +109,10 @@ matrix:
# Check that example compiles
- sed -n '/``` cpp/,/```/{/```$/Q;/```/d;p;}' $EVENTS/README.md > main.cpp
- python tools/make.py -t GCC_ARM -m K64F --source=. --build=BUILD/K64F/GCC_ARM -j0
# Check that example compiles without rtos
- sed -n '/``` cpp/,/```/{/```$/Q;/```/d;p;}' $EVENTS/README.md > main.cpp
- rm -r rtos features/netsocket features/frameworks BUILD
- python tools/make.py -t GCC_ARM -m DISCO_F401VC --source=. --build=BUILD/DISCO_F401VC/GCC_ARM -j0
# Run local equeue tests
- make -C $EVENTS/equeue test

Expand Down
5 changes: 4 additions & 1 deletion TESTS/events/timing/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ void semaphore_timing_test() {
equeue_sema_wait(&sema, delay);
int taken = timer.read_us() - start;

printf("delay %dms => error %dus\r\n", delay, abs(1000*delay - taken));
if (taken < (delay * 1000 - 5000) || taken > (delay * 1000 + 5000)) {
printf("delay %dms => error %dus\r\n", delay, abs(1000 * delay - taken));
}

TEST_ASSERT_INT_WITHIN(5000, taken, delay * 1000);

led = !led;
Expand Down
6 changes: 3 additions & 3 deletions TESTS/mbed_hal/sleep_manager_racecondition/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ void sleep_manager_irq_test()
Ticker ticker1;
Timer timer;

ticker1.attach_us(&sleep_manager_locking_irq_test, 500);
ticker1.attach_us(&sleep_manager_locking_irq_test, 1000);

// run this for 5 seconds
// run this for 10 seconds
timer.start();
int start = timer.read();
int end = start + 5;
int end = start + 10;
while (timer.read() < end) {
sleep_manager_locking_irq_test();
}
Expand Down
23 changes: 14 additions & 9 deletions TESTS/netsocket/tcp_echo/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#ifndef MBED_CONF_APP_CONNECT_STATEMENT
#error [NOT_SUPPORTED] No network configuration found for this target.
#error [NOT_SUPPORTED] No network configuration found for this target.
#endif

#include "mbed.h"
Expand All @@ -32,18 +32,21 @@ using namespace utest::v1;
#define MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE 256
#endif

namespace {
char tx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
char rx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
namespace
{
char tx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
char rx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
}

void prep_buffer(char *tx_buffer, size_t tx_size) {
for (size_t i=0; i<tx_size; ++i) {
void prep_buffer(char *tx_buffer, size_t tx_size)
{
for (size_t i = 0; i < tx_size; ++i) {
tx_buffer[i] = (rand() % 10) + '0';
}
}

void test_tcp_echo() {
void test_tcp_echo()
{
int n = 0;
NetworkInterface* net = MBED_CONF_APP_OBJECT_CONSTRUCTION;
int err = MBED_CONF_APP_CONNECT_STATEMENT;
Expand Down Expand Up @@ -119,7 +122,8 @@ void test_tcp_echo() {


// Test setup
utest::v1::status_t test_setup(const size_t number_of_cases) {
utest::v1::status_t test_setup(const size_t number_of_cases)
{
GREENTEA_SETUP(240, "tcp_echo");
return verbose_test_setup_handler(number_of_cases);
}
Expand All @@ -130,6 +134,7 @@ Case cases[] = {

Specification specification(test_setup, cases);

int main() {
int main()
{
return !Harness::run(specification);
}
77 changes: 53 additions & 24 deletions TESTS/netsocket/tcp_echo_parallel/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
* limitations under the License.
*/

#ifndef MBED_CONF_APP_CONNECT_STATEMENT
#error [NOT_SUPPORTED] No network configuration found for this target.
#endif
#ifndef MBED_CONF_APP_CONNECT_STATEMENT
#error [NOT_SUPPORTED] No network configuration found for this target.
#endif

#ifndef MBED_EXTENDED_TESTS
#error [NOT_SUPPORTED] Parallel tests are not supported by default
#error [NOT_SUPPORTED] Parallel tests are not supported by default
#endif

#include "mbed.h"
Expand All @@ -33,12 +33,12 @@
using namespace utest::v1;


#ifndef MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE
#define MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE 64
#ifndef MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE
#define MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE 64
#endif

#ifndef MBED_CFG_TCP_CLIENT_ECHO_THREADS
#define MBED_CFG_TCP_CLIENT_ECHO_THREADS 3
#ifndef MBED_CONF_APP_TCP_CLIENT_ECHO_THREADS
#define MBED_CONF_APP_TCP_CLIENT_ECHO_THREADS 3
#endif

#define STRINGIZE(x) STRINGIZE2(x)
Expand All @@ -49,51 +49,59 @@ NetworkInterface* net;
SocketAddress tcp_addr;
Mutex iomutex;

void prep_buffer(char *tx_buffer, size_t tx_size) {
for (size_t i=0; i<tx_size; ++i) {
void prep_buffer(char *tx_buffer, size_t tx_size)
{
for (size_t i = 0; i < tx_size; ++i) {
tx_buffer[i] = (rand() % 10) + '0';
}
}


// Each echo class is in charge of one parallel transaction
class Echo {
class Echo
{
private:
char tx_buffer[MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE];
char rx_buffer[MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE];
char tx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE];
char rx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE];

TCPSocket sock;
Thread thread;

public:
// Limiting stack size to 1k
Echo(): thread(osPriorityNormal, 1024) {
Echo(): thread(osPriorityNormal, 1024)
{
}

void start() {
void start()
{
osStatus status = thread.start(callback(this, &Echo::echo));
TEST_ASSERT_EQUAL(osOK, status);
}

void join() {
void join()
{
osStatus status = thread.join();
TEST_ASSERT_EQUAL(osOK, status);
}

void echo() {
void echo()
{
int err = sock.open(net);
TEST_ASSERT_EQUAL(0, err);

err = sock.connect(tcp_addr);
TEST_ASSERT_EQUAL(0, err);

#if defined(MBED_CONF_APP_TCP_ECHO_PREFIX)
//recv connection prefix message
sock.recv(rx_buffer, sizeof(MBED_CONF_APP_TCP_ECHO_PREFIX));
#endif /* MBED_CONF_APP_TCP_ECHO_PREFIX */
memset(rx_buffer, 0, sizeof(rx_buffer));

iomutex.lock();
printf("HTTP: Connected to %s:%d\r\n",
tcp_addr.get_ip_address(), tcp_addr.get_port());
tcp_addr.get_ip_address(), tcp_addr.get_port());
printf("tx_buffer buffer size: %u\r\n", sizeof(tx_buffer));
printf("rx_buffer buffer size: %u\r\n", sizeof(rx_buffer));
iomutex.unlock();
Expand All @@ -112,26 +120,45 @@ class Echo {
}
};

Echo *echoers[MBED_CFG_TCP_CLIENT_ECHO_THREADS];
Echo *echoers[MBED_CONF_APP_TCP_CLIENT_ECHO_THREADS];


void test_tcp_echo_parallel() {
void test_tcp_echo_parallel()
{
net = MBED_CONF_APP_OBJECT_CONSTRUCTION;
int err = MBED_CONF_APP_CONNECT_STATEMENT;
TEST_ASSERT_EQUAL(0, err);

printf("MBED: TCPClient IP address is '%s'\n", net->get_ip_address());

#if defined(MBED_CONF_APP_ECHO_SERVER_ADDR) && defined(MBED_CONF_APP_ECHO_SERVER_PORT)
tcp_addr.set_ip_address(MBED_CONF_APP_ECHO_SERVER_ADDR);
tcp_addr.set_port(MBED_CONF_APP_ECHO_SERVER_PORT);
#else /* MBED_CONF_APP_ECHO_SERVER_ADDR && MBED_CONF_APP_ECHO_SERVER_PORT */
char recv_key[] = "host_port";
char ipbuf[60] = {0};
char portbuf[16] = {0};
unsigned int port = 0;

greentea_send_kv("target_ip", net->get_ip_address());
greentea_send_kv("host_ip", " ");
greentea_parse_kv(recv_key, ipbuf, sizeof(recv_key), sizeof(ipbuf));

greentea_send_kv("host_port", " ");
greentea_parse_kv(recv_key, portbuf, sizeof(recv_key), sizeof(ipbuf));
sscanf(portbuf, "%u", &port);

tcp_addr.set_ip_address(ipbuf);
tcp_addr.set_port(port);
#endif /* MBED_CONF_APP_ECHO_SERVER_ADDR && MBED_CONF_APP_ECHO_SERVER_PORT */

// Startup echo threads in parallel
for (int i = 0; i < MBED_CFG_TCP_CLIENT_ECHO_THREADS; i++) {
for (int i = 0; i < MBED_CONF_APP_TCP_CLIENT_ECHO_THREADS; i++) {
echoers[i] = new Echo;
echoers[i]->start();
}

for (int i = 0; i < MBED_CFG_TCP_CLIENT_ECHO_THREADS; i++) {
for (int i = 0; i < MBED_CONF_APP_TCP_CLIENT_ECHO_THREADS; i++) {
echoers[i]->join();
delete echoers[i];
}
Expand All @@ -140,7 +167,8 @@ void test_tcp_echo_parallel() {
}

// Test setup
utest::v1::status_t test_setup(const size_t number_of_cases) {
utest::v1::status_t test_setup(const size_t number_of_cases)
{
GREENTEA_SETUP(120, "tcp_echo");
return verbose_test_setup_handler(number_of_cases);
}
Expand All @@ -151,6 +179,7 @@ Case cases[] = {

Specification specification(test_setup, cases);

int main() {
int main()
{
return !Harness::run(specification);
}
Loading