Commit Graph

10481 Commits (03806a8045c596d0849b92bd90b84cd11a58d6e3)

Author SHA1 Message Date
Laurent MEUNIER 32ecd00c3a STM32: move pin_lines_desc to c file
Move the const table initialization from the header file
to a new C file to avoid any multiple defined errors.
2017-02-16 19:34:11 +01:00
Laurent MEUNIER 18abfdb604 STM32: gpio: style consistency 2017-02-16 19:34:08 +01:00
Laurent MEUNIER 73955b678e STM32: pins: move pin_lines_desc table to const 2017-02-16 19:34:05 +01:00
Laurent MEUNIER 273ac81680 stm32: use default in switch case
As commented during PR review, better use default case.
2017-02-16 19:34:01 +01:00
Jimmy Brisson bcbfe6abe1 Rename codered to lpcexpresso in code 2017-02-16 12:09:43 -06:00
Laurent MEUNIER 5317ea5bb6 STM32: I2C - pin mode
The default pin mode shall be set as part of the pinamp_pinout, and
as defined in tables of PeripheralPins.c, but this is currently
over-written by a call to pin_mode(pin, PullNone); from
mbed_pinmap_common.c, so we need a set the mode again here, including
OpenDrain config as needed for I2C.
2017-02-16 18:57:34 +01:00
Laurent MEUNIER 21bc5af3c2 STM32: common pinmap using LL layer to access registers
this first makes pinmap.c a common file

then rework it with several goals:
- avoid gpio / irq / pin management extra dependencies
- improve performances when switching between pin modes

This change is based on LL layer to access to registers level
instead of using HAL higher level API.

The family specific functions are implemented in pin_device.h
of each family. Mostly this is F1 family that is differnt
from other ones.
2017-02-16 18:57:18 +01:00
Laurent MEUNIER dce2ca75d8 STM32: gpio few performance improvements
Those are minor changes to increase performance of widely used
GPIO functions.
2017-02-16 18:55:56 +01:00
Laurent MEUNIER 3517eb108e STM32: Change Set_GPIO_Clock return type
Directly return a GPIO_TypeDef pointer to avoid extra casts.
Also move it to GPIO file.
2017-02-16 18:55:44 +01:00
Laurent MEUNIER 6bd488db4d STM32: gpio irq: Use LL registers access
Instead of using HAL_GPIO_Init / Deinit which makes a lot of registers
being written and re-written, and which creates extra gpio / pin / irq
dependencies, we directly set the IRQ related registers thanks for the
STM32 LL layers which provides APIs to modify registers.
2017-02-16 18:55:36 +01:00
Laurent MEUNIER 74774f9424 STM32 Make gpio_irq_api.c a common files
This requires the creation of gpio_irq_device.h file, where
family specific EXTI IRQ mapping is defined
2017-02-16 18:55:28 +01:00
Laurent MEUNIER 0e2cc3824b STM32 : Make port_api.c a common file 2017-02-16 18:55:20 +01:00
Yogesh Pande f57433a00a Separating CoAP library from mbed-client-c
This commit includes
 - Removing CoAP sources from mbed-client-c to its own repository.
 - mbed-client-c is moved outside of mbed-os source tree because it is used by mbed-client, so
   it will be part of mbed-client offering.
 - CoAP sources are used by coap-service which is a part of nanostack deliveries hence coap now existing
   as independent module under mbed-coap.

 - Commit handles the interdepdency of coap-service with mbed-client-c because of coap sources, coap-service
   header files are now fixed to point to right header directory.
2017-02-16 19:08:28 +02:00
Christopher Haster d4e686be63 nsapi: Renamed attach -> sigio to decrease confusion on its behaviour 2017-02-16 10:47:06 -06:00
Bartek Szatkowski 9377fa97c9 Rework RTOS mutex tests 2017-02-16 14:07:26 +00:00
Christopher Haster 417524f562 Callback: Adopt better use of assignment/call operators 2017-02-15 15:19:38 -06:00
Christopher Haster ed6fec2811 Callback: Deprecated attach member function in favor of simple assignment
The attach function is used several other places to indicate
registration for interrupts. This differs significantly to its use in
the Callback class. Additionally, the attach function is unnecessary
given that simple assignment works just as well.
2017-02-15 15:07:58 -06:00
Christopher Haster 99ca88a66a events: Added support for infering event type from Callback objects
While limitations in type inference prevent the event helper from
infering the type of generic function objects, there is nothing
technical preventing inference from the Callback class, where the
function type is encoded in the template parameters.

With adoption of the Callback class as the standard function
representation, it makes sense to support events created from
callback objects.
2017-02-15 13:43:52 -06:00
Christopher Haster 64ccff3fe1 lwip: Added delay to dtls handshake test to compensate for local network
The speed of packets on the local network exceeds even the speed of
the ethernet hardware on some of the less powerful devices. Adding
a small delay which can be expected from a real DTLS handshake prevents
this condition from occuring.
2017-02-15 12:38:05 -06:00
Christopher Haster 0949164422 events: Added better handling of desynchronized timers in platform layer
An odd bug (c0951c9) in the NCS36510 ticker code caused the timer/ticker
classes to become desynchronized. Updated the handling to not assume the
timers are perfectly in synch. This will increase the event's tolerance of
less robust platforms.
2017-02-15 11:00:02 -06:00
Christopher Haster c0951c9035 NCS36510: Fixed drift in ticker interrupt
The NCS36510 is limited to 16bit timers. Construction of larger
intervals is performed in software by counting the number of 16bit
intervals that pass.

Either this counting takes a bit of time, or there is a math error
somewhere (maybe a long critical section?), because there is a
roughly ~1us delay between when the interrupt occurs and the ticker
progresses onto the next 16bit interval. This is normally a completely
reasonable error, except that the error accumulates. After a while,
the equeue tests find themselves with tens of milliseconds of error.
To make matters worse, this error is random because of other interrupts
occuring in the system, making the exact issue quite a bit difficult
to track down.

This fix drops the software counter in favor of just recalculating
the next delay interval from the target time and value of the running
timer. The running timer used to calculate the current tick is left to
overflow in hardware and doesn't have this drift.
2017-02-15 10:59:52 -06:00
Christopher Haster 1f9e239a7d events: Added equeue platform timing tests
Tests the timer/semaphores at a lower level than the event queue,
which removes a layer of concerns from issues in the rtos timing.
2017-02-15 10:59:46 -06:00
Indrek Ardel 29d5ebbb61 Improve readability of USBHID related descriptors 2017-02-14 14:56:51 +02:00
Liviu Ionescu 14ffc2511e Merge remote-tracking branch 'ARMmbed/master' 2017-02-14 14:05:37 +02:00
ccli8 0bd8fb22c4 [NUC472] Support no-XRAM configuration 2017-02-14 09:12:02 +08:00
Jimmy Brisson 467bac1997 Remove duplicate files in zipped exports
The zipping function of the exporters would unconditionally add all
files scanned by scan resources to a zip, including all of the files
associated with each feature. This would conflict with
`build_api.scan_resources` adding all of the files to the resources
object that correspond to the enabled features. To resolve this
difference in behavior, I made the zipping function oblivious to
features and had the upper level function, which has access to the
target configuration, do the proper merging.
2017-02-13 15:12:58 -06:00
Amanda Butler 67bf9b27d1 Delete exporters.md
Delete page because duplicate exists in Handbook - https://docs.mbed.com/docs/mbed-os-handbook/en/latest/advanced/exporters/
2017-02-13 11:09:07 -06:00
Sam Grove 21b91c794e Merge pull request #3753 from AnotherButler/patch-2
Delete build_profiles.md
2017-02-13 10:14:39 -06:00
Sam Grove e22f26ffa4 Merge pull request #3663 from helmut64/STM32L4_deepsleep_fix
Fixed a problem that the STOP2 was falling back to STOP1
2017-02-13 10:12:30 -06:00
Sam Grove d8151d7991 Merge pull request #3590 from OpenNuvoton/nuvoton
[NUC472/M453] Export IAR project and other bugfixes
2017-02-13 10:12:02 -06:00
adustm 67a2f4b276 Bug fix to fullfill 64bytes transfer in HID 2017-02-13 17:10:19 +01:00
Laurent MEUNIER a8f6970a9d STM32: spi_frequency table index fix
In case of prescaler_rank was 0, a -1 index was being used,
which resulted in initialization of the Init.BaudRatePrescaler with
random values.

Now let's better check index and avoid -1 operation, so that prescaler_rank
can be only from 0 to "last_index".
2017-02-13 16:17:33 +01:00
Hasnain Virk 1ac5700eb6 [ONME-2953 ]Minor glitch in error handling
In sendto(), memory allocation failures were mistakenly being treated as
would blocks (assumption was that the device might be able to recover).
However, that put the blocking socket into deep sleep and there was no mechanism to wake it up
ever again. Somehow that got slipped through testing. Fixed in this amenment
2017-02-13 16:37:12 +02:00
0xc0170 2898199ccd ncs36510: lp ticker - remove unused header file inclusion (sleep) 2017-02-13 13:17:05 +00:00
Hasnain Virk 1f24533847 Minor amendments
NanostackLockGuard usage is now consistent throughout.
Missing Lock assertion added at a few locations in the code
2017-02-13 11:13:56 +02:00
Mika Leppänen 46396da1cf Added filter to send minus events to lwip adaptation 2017-02-13 09:50:38 +02:00
Amanda Butler a02e5eecc8 Delete build_profiles.md
Delete page because duplicate exists in Handbook
2017-02-12 19:58:31 -06:00
YarivCol 2c6eba35c2 fix in mbed_error_vfprintf
MBED_CONF_PLATFORM_STDIO_CONVERT_NEWLINES was not used in mbed_error_vfprintf causing wrong behavior when the option was selected (no new line is some terminals like putty).
2017-02-13 00:54:51 +02:00
Seppo Takalo 7dc2dc8c66 Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from a1982c1..e125164
e125164 Check secure session pointer in timer callback (#61)
f49e596 Update unit tests (#59)
6a5634a Support for multiple virtual services (#58)
7fe6b98 Remove yotta files (#57)
5c5c8fe Fix socket send return value overflow (#56)
0870d05 Update unit test stubs to match latest socket api (#55)
e687be8 Merge pull request #54 from ARMmbed/warn_fixes
b8fe613 updated unittests
8640d05 Compilation warnings fixed
eea83e5 Flag out entropy source addition (#53)
7d72eb4 Fix unittests (#52)
4a6991e Avoid referencing ns_msghdr_t::flags

git-subtree-dir: features/nanostack/FEATURE_NANOSTACK/coap-service
git-subtree-split: e1251645d38d5b1b90350957f0e8b66e0fb59235
2017-02-12 22:06:41 +02:00
Seppo Takalo 667006e1ba Nanostack 6.0.1 2017-02-12 22:05:33 +02:00
Hasnain Virk e4f91cd0dc [ONME-2927] Socket adaptation layer for nanostack
As a result of major overhaul in Nanostack generally for socket API and especially
for TCP, the adaptation layer for mbed-OS is being upgraded.

Previously, as nanostack was not able to provide receive queue, adaptation layer had been
faking it. Now with Stream Socket by default Nanostack provides 2K receive queue and 2K send queue.
Receive queue size can be changed using setsockopt(). Batre metal nanostack would not provide with any
receive queues with Datagram Socket, however in this adaptation layer we introduce a 2K receive queue size
for the Datagram Socket as well.

Layer state machine handling is polished to ensure robustness.

::socket_connect() will can return 2 new error codes now. NSAPI_ERROR_ALREADY (like posix EALREADY) in case
if the connection is in progress or NSAPI_ERROR_IS_CONNECTED (like posix EISCONN) if already connected.
NSAPI_ERROR_WOULDBLOCK is now mapped directly to nanostack NS_WOULDBLOCK.

NanostackLockGaurd class is introduced which enables us to claim and release mutex using RAII style.
2017-02-12 22:05:26 +02:00
Russ Butler bcab66c26d Update Odin linker scripts for bootloader
Add MBED_APP_START and MBED_APP_SIZE to the Odin's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:29:01 -06:00
Russ Butler ca8873b160 Update stm32f429 linker scripts for bootloader
Add MBED_APP_START and MBED_APP_SIZE to the stm32f429's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:28:59 -06:00
Russ Butler 579b2fbe40 Update K64F linker scripts for bootloader support
Add MBED_APP_START and MBED_APP_SIZE to the K64F's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:28:58 -06:00
Sam Grove aa6d673d70 Merge pull request #3734 from ARMmbed/revert-3684-TARGET_STM_USB_CONFIG
Revert "Target stm usb config"
2017-02-10 11:48:44 -06:00
Jimmy Brisson 7d75e277e7 Pass linker flags to the linker only once
Before, `make_gcc_arm` would export a makefile with both linker flags in
the `$(LD)` make variable and the `$(LD_FLAGS)` make variable. This only
affected GCC based makefiles, as the `$(LD)` make variable would only
contain the linker for both ARMC5 and IAR. This patch enforces the
`$(LD)` behavior of ARMC5 and IAR on all of the compilers by truncating
`$(LD)` to just the command
2017-02-10 11:28:02 -06:00
jeromecoutant 2433b1ad95 STM32L4 HAL update for RTC Wake Up Timer 2017-02-10 16:26:10 +01:00
jeromecoutant 565ad777b0 STM32F7 : remove multiple HSE_VALUE define value 2017-02-10 13:06:41 +01:00
Sam Grove ec329be6f2 Revert "Target stm usb config" 2017-02-09 15:37:19 -06:00
Liviu Ionescu 47b164b00b Merge remote-tracking branch 'ARMmbed/master' 2017-02-09 19:11:44 +02:00