Skip to content

Feature wifi rebase #2699

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 192 commits into from
Sep 14, 2016
Merged

Feature wifi rebase #2699

merged 192 commits into from
Sep 14, 2016

Conversation

bulislaw
Copy link
Member

miklis and others added 30 commits August 8, 2016 09:49
- Add FlexCAN function pointer handler logic to save code size.
- CAN driver enter/exit Freeze mode issue

Signed-off-by: Mahadevan Mahesh <[email protected]>
Moved general build execution steps to Jenkins internal DSL library.
…that the value can be passed as an argument during compile time.
Additionally, the following changes were don to avoid combinatorial
explosion in function overloads as a result of adding cv-qualifiers:
- Added convenience function for inferred type
- Deprecated callback overloads qhere cv-qualifiers are not scalable

Supported overloads:
callback(void (*f)(A...));
callback(const Callback<R(A...)> &);
callback(T *t,                void (*f)(T*, A...));
callback(const T *t,          void (*f)(const T*, A...));
callback(volatile T *t,       void (*f)(volatile T*, A...));
callback(const volatile T *t, void (*f)(const volatile T*, A...));
callback(T *t,                void (T::*f)(A...));
callback(const T *t,          void (T::*f)(A...) const);
callback(volatile T *t,       void (T::*f)(A...) volatile);
callback(const volatile T *t, void (T::*f)(A...) const volatile);
- Marked `call` and `operator()` functions as const
- Moved to static_cast for internal function pointer to avoid losing
  compiler checked const-safety
- Added test for `operator=` with non-callback types
- Moved from zero-cast to value-initializer when callback is null
- Added `operator==` and `operator!=`
- Removed special handling of null callback
- Replicated doxygen to all overloads
- Added correct nops where uninitialized callbacks are called
- Added assertion for null callback
- Removed copy-constructor from callback constructor
As the templated tests grew, the resulting binary exceeded a
flash size of 64K. This caused the test to incorrectly fail on
small devices.

Moved and split into the following:
TESTS/mbed_functional/callback
TESTS/mbed_functional/callback_small
TESTS/mbed_functional/callback_big
TESTS/mbed_functional/functionpointer
One limitation of C++ is that implicit casts do not occur when
matching template overloads, as a consequence the callback's
argument type requires a strict match.

Unfortunately, the prevents the previously common pattern of using
void pointers as function arguments, causing unnecessary problems
for users porting code.

        Thing *t;
        void doit(void *p) { blablabla }

        Callback<void()> cb(t, doit);

To avoid this, explicit overloads on void pointers were added. This
avoids a template expansion, and allows the implicit cast to occur
as the user would expect.
User feedback indicated that the previous deprecation notices
were confusing and mislead migration from the old style of thread
spawning.

The deprecation notices were updated to emphasize the replacement
functions, and examples of correct usage were added in the doxygen.
When freeing all memory in the rx buffer chain set the head pointer to
NULL. This prevents the head rx buffer from getting freed twice.
- Corrected handling, before errors would forcibly restart the
  accept loop without checks for timeouts
- Rearranged accept logic to match the logic of
  recv/send/recvfrom/sendto
Avoids what turns into an infinite loop in lwip's internals
sg- and others added 28 commits September 10, 2016 07:16
[utest]: Allow the linker to remove any part of utest if not used
[MAX326xx] Removed echoing of characters and carriage return.
DELTA_DFBM_NQ620 platform porting
NUCLEO_F446ZE - Enable mbed5 release version
Test names not dependent on disk location of root
CFSTORE Bugfix for realloc() moving KV area and cfstore_file_t data structures not being updated correctly
DISCO_L476VG - Add Serial Flow Control pins + add SERIAL_FC macro
STM32F2xx - Enable Serial Flow Control
[MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S
[HAL] Fixed "intrinsic is deprecated" warnings
[NUC472] Fix heap configuration error with armcc
…itch

Add app config command line switch for test and make
Tools - Fix fill section size variation
8K RAM target is too small for
"NUCLEO_L031K6"
"NUCLEO_L053R8"
"DISCO_L053C8"
"NUCLEO_F030R8"
There was a case sensitivity issue when compiling the NCS36510 on Linux.
This commit changes the include directive to the proper case.
Disable RTOS tests for STM32 8K targets
- Add support of cortex-M7 for cthunk.
- Change the cthunk trampoline implementation to safer and quicker
solutions:
 * thumb2, the behaviour was undefined. new implementation use now 2
instructions
 * thumb, The new implementation use 3 instructions instead of 6.
@0xc0170 0xc0170 merged commit b826f0e into ARMmbed:feature_wifi Sep 14, 2016
@bulislaw bulislaw deleted the feature_wifi_rebase branch December 20, 2016 16:20
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.