Skip to content

Release candidate for mbed-os-5.6.2 #5268

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

Merged
merged 74 commits into from
Oct 6, 2017
Merged

Conversation

adbridge
Copy link
Contributor

@adbridge adbridge commented Oct 6, 2017

No description provided.

phyokyaw-renesas and others added 30 commits October 6, 2017 14:12
When building with VisualGDB the compilation fails due to the lack of required include files Dir.h and File.h.
Compiler report:

1>------ Build started: Project: exported-mbed-STM32F429-nucleo, Configuration: Debug VisualGDB ------
1>  FileSystem.cpp
1>  mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'class Managed<mbed::File>':
1>  mbed-os\features\filesystem\FileSystem.cpp(141,19): note :   required from here
1>mbed-os\features\filesystem\FileSystem.cpp(130,7): error :  invalid use of incomplete type 'class mbed::File'
1>   class Managed : public F {
1>         ^~~~~~~
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(39,7): note :  forward declaration of 'class mbed::File'
1>   class File;
1>         ^~~~
1>  mbed-os/features/filesystem/FileSystem.cpp: In member function 'virtual int mbed::FileSystem::open(mbed::FileHandle**, const char*, int)':
1>mbed-os\features\filesystem\FileSystem.cpp(141,19): error :  cannot convert 'Managed<mbed::File>*' to 'mbed::File*' in initialization
1>       File *f = new Managed<File>;
1>                     ^~~~~~~~~~~~~
1>mbed-os\features\filesystem\FileSystem.cpp(142,16): error :  invalid use of incomplete type 'class mbed::File'
1>       int err = f->open(this, path, flags);
1>                  ^~
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(39,7): note :  forward declaration of 'class mbed::File'
1>   class File;
1>         ^~~~
1>mbed-os\features\filesystem\FileSystem.cpp(144,16): warning :  possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
1>           delete f;
1>                  ^
1>mbed-os\features\filesystem\FileSystem.cpp(141,11): warning :  'f' has incomplete type
1>       File *f = new Managed<File>;
1>             ^
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(39,7): note :  forward declaration of 'class mbed::File'
1>   class File;
1>         ^~~~
1>  mbed-os\features\filesystem\FileSystem.cpp(144,16): note :  neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
1>           delete f;
1>                  ^
1>mbed-os\features\filesystem\FileSystem.cpp(148,13): error :  cannot convert 'mbed::File*' to 'mbed::FileHandle*' in assignment
1>       *file = f;
1>               ^
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(39,7): note :  class type 'mbed::File' is incomplete
1>   class File;
1>         ^~~~
1>  mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'class Managed<mbed::Dir>':
1>  mbed-os\features\filesystem\FileSystem.cpp(153,18): note :   required from here
1>mbed-os\features\filesystem\FileSystem.cpp(130,7): error :  invalid use of incomplete type 'class mbed::Dir'
1>   class Managed : public F {
1>         ^~~~~~~
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(38,7): note :  forward declaration of 'class mbed::Dir'
1>   class Dir;
1>         ^~~
1>  mbed-os/features/filesystem/FileSystem.cpp: In member function 'virtual int mbed::FileSystem::open(mbed::DirHandle**, const char*)':
1>mbed-os\features\filesystem\FileSystem.cpp(153,18): error :  cannot convert 'Managed<mbed::Dir>*' to 'mbed::Dir*' in initialization
1>       Dir *d = new Managed<Dir>;
1>                    ^~~~~~~~~~~~
1>mbed-os\features\filesystem\FileSystem.cpp(154,16): error :  invalid use of incomplete type 'class mbed::Dir'
1>       int err = d->open(this, path);
1>                  ^~
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(38,7): note :  forward declaration of 'class mbed::Dir'
1>   class Dir;
1>         ^~~
1>mbed-os\features\filesystem\FileSystem.cpp(156,16): warning :  possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
1>           delete d;
1>                  ^
1>mbed-os\features\filesystem\FileSystem.cpp(153,10): warning :  'd' has incomplete type
1>       Dir *d = new Managed<Dir>;
1>            ^
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(38,7): note :  forward declaration of 'class mbed::Dir'
1>   class Dir;
1>         ^~~
1>  mbed-os\features\filesystem\FileSystem.cpp(156,16): note :  neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
1>           delete d;
1>                  ^
1>mbed-os\features\filesystem\FileSystem.cpp(160,12): error :  cannot convert 'mbed::Dir*' to 'mbed::DirHandle*' in assignment
1>       *dir = d;
1>              ^
1>  mbed-os\features\filesystem\FileSystem.cpp(18):
1>  mbed-os\features\filesystem\FileSystem.h(38,7): note :  class type 'mbed::Dir' is incomplete
1>   class Dir;
1>         ^~~
1>  mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'int Managed<F>::close() [with F = mbed::Dir]':
1>  mbed-os\features\filesystem\FileSystem.cpp(162,1): note :   required from here
1>mbed-os\features\filesystem\FileSystem.cpp(133,27): error :  incomplete type 'mbed::Dir' used in nested name specifier
1>           int err = F::close();
1>                     ~~~~~~~~^~
1>  mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'int Managed<F>::close() [with F = mbed::File]':
1>  mbed-os\features\filesystem\FileSystem.cpp(162,1): note :   required from here
1>mbed-os\features\filesystem\FileSystem.cpp(133,27): error :  incomplete type 'mbed::File' used in nested name specifier
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
This change prevents inclusion of non throwing versions of the new operator from
the compiler standard library. On GCC, the non throwing version bring with it
some portion of the exception support code.
Correct the vector table size on the LPC54114. This fixes crashes
seen on boot when building with GCC.
Signed-off-by: Mahadevan Mahesh <[email protected]>
Instead of using #if NDEBUG, we can directly invoke debug() function. Fixes #5013
Release the deep sleep lock when running instances of the Timer class
are deleted. This ensures that deep sleep locks are properly released
by the Timer class.
As PWMOut in most cases depend on high speed freq clock, it should lock deepsleep while active.
Fixed by zeroing the memory. A more "c++ correct" approach
may be to add an additional op for equality, and use the "=="
operator on the F type in the generate function. But this adds
the requirement that F supports equality.
Rather than Unlocking flash during flash object creation, and leaving
the flash possibly continuously unlocked a(s object might bever be freed),
we decide to Unlock then Lock again at each erase or program call.
Should leave the Dir in an openable state, currently does not
since it thinks it's in use by the fs it failed to open on.
If only buffer-full events and LF characters trigger the flush of
the send buffer then only line-based communication can be
implemented over the BLE UART Service. This patch extends the
service API by adding an explicit `flush` method to force sending
the buffer contents, thus enabling protocols with short (e.g.,
single character) messages.
As we can check if callback was attached, we use NULL assigment.
bcostm and others added 18 commits October 6, 2017 14:12
In order to give the choice to enable or not the timer freeze on stop/breakpoint.
This has to be defined in the mbed_app.json file for example.
Initialize the ticker on the first call to ticker_read* if the
ticker has not been initialized already.
Update platform code to use the ticker common layer rather than using
HAL us ticker directly. This both ensures that the underlying ticker
is properly initialized and that the value read is in microseconds with
full 32-bit range.
The allocation of GPIOTE channels for DigitalIn is unwanted behavior.
This caused early run-out of channels for InterruptPin.
This patch replacing input configuration that is using gpiote driver by configuration that is
using gpio hal.
If a LowPowerTimer is started and then goes out of scope then a
deep sleep lock underflow can occur. This is because the
the variable '_lock_deepsleep' is checked when starting the timer
but is not checked in the destructor, which unconditionally releases
the deep sleep lock.
This commit reverts commit c1c0f1e
because it causes nightly builds to fail. This is because extra tests
added in tests-mbed_drivers-ticker fail on some targets, such as the
KL46Z, MAX32625MBED, MAX32630FTHR, NCS36510, NRF51 and NRF52_DK.
Add _lock_count to DeepSleepLock and use this to prevent deep sleep
from staying locked when the DeepSleepLock objected is destroyed after
an unbalanced number of calls to lock and unlock.
Test that DeepSleepLock and Timer lock deep sleep at the correct time
and do no leave sleep locked after they are destroted.
Add a critical section to attach_us so setting _function and
locking deep sleep are done atomically.
Unlock sleep in CAN and SerialBase. This prevents deep sleep from
staying locked if these objects are destroyed without first clearing
the callbacks.
GCC's newlib library depends on fstat to get in-flight information about
a file's type an size. A working fstat for regular files is needed for
seek and related functions to work correctly.
They are not part of the releases
- missing O_ flags
- missing S_IF flags
- missing system types
- missing stat structure
- exhaustive list of errno codes
@adbridge
Copy link
Contributor Author

adbridge commented Oct 6, 2017

/morph test-nightly

@adbridge
Copy link
Contributor Author

adbridge commented Oct 6, 2017

/morph mbed2-release

@adbridge
Copy link
Contributor Author

adbridge commented Oct 6, 2017

/morph export-build

@mbed-bot
Copy link

mbed-bot commented Oct 6, 2017

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph mbed2-release

@mbed-bot
Copy link

mbed-bot commented Oct 6, 2017

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph export-build

Output

mbed Build Number: 165

All exports and builds passed!

@mbed-bot
Copy link

mbed-bot commented Oct 6, 2017

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test-nightly

Output

mbed Build Number: 1539

All builds and test passed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.