Commit Graph

4725 Commits (096733c78510d85a6bb460cce2086f2e5f5d67cc)

Author SHA1 Message Date
Przemek Wirkus cefba29822 Added verbose mode to mbed library build when using singletest.py -v (verbose) switch 2015-08-12 09:43:43 +01:00
Austin Blackstone 0278260cad added BLoD functionality to all Silicon Labs boards. Added #define to all device.h files and a disable_irq() exception in common/board.c because the wait function is implemented in a interrupt for both NRF and SiLabs boards 2015-08-11 11:32:11 -05:00
bcostm 2b1b1acce6 Improvement of timer initialization for pwmout 2015-08-11 14:42:15 +02:00
bcostm 8f6a11530c Change SERIAL_TX/RX value 2015-08-11 14:38:03 +02:00
bcostm 8b76967c29 Improvement of ticker configuration 2015-08-11 14:34:06 +02:00
bcostm 408927ec5a [DISCO_F746NG] Update cmsis files (alignment with STM32CubeF7 package) 2015-08-11 12:16:52 +02:00
bcostm 0b9bd41f23 [DISCO_F746NG] Add GCC_ARM exporter template file 2015-08-11 12:12:34 +02:00
bcostm 2cf65f0095 [DISCO_F746NG] Use Cortex-M7 instead of Cortex-M7F
Using Cortex-M7F, singletest.py does not work (build error).
2015-08-11 12:10:11 +02:00
bcostm 03bd5dbd8f [DISCO_F746NG] Update STM32CubeF7 to V1.0.1 2015-08-11 12:04:45 +02:00
Steven Cooreman cd01871a2c Add Silicon Labs targets to Travis CI builds. 2015-08-11 11:09:16 +02:00
Austin Blackstone 1f93de49b6 added Blue Lights of Death action to ST Nucleo and Diso boards 2015-08-10 16:54:50 -05:00
Devan Lai 37c71434dd [LPC15XX] Fix GPIO port word pin registers offset
Adjust offset for GPIO port word pin registers from 0x100 to 0x1000
2015-08-07 22:32:57 -07:00
bcostm a1bd132fc1 Merge branch 'master' of https://github.com/mbedmicro/mbed 2015-08-07 11:54:06 +02:00
tomoyuki yamanaka 746ba018c0 Modify communication problem of Ethernet.
In Ethernet, modify a problem that sometimes fail to "pbuf_alloc" function.
2015-08-07 16:33:04 +09:00
tomoyuki yamanaka bb4d569cfd Add RZ_A1H in RPC. 2015-08-07 16:20:22 +09:00
Kevin Gillespie e3482229e0 Simplifying pwm search. Reordering PinMap_PWM. 2015-08-05 12:57:07 -05:00
0xc0170 020975119c mbed lib revision - 104 2015-08-05 14:19:47 +01:00
Przemek Wirkus 0c7ec777f9 Added fix for duplicate -D compiler symbols 2015-08-05 12:28:47 +01:00
Jean-Philippe Brucker 15019ef882 Nordic: fallback to the internal LF clock in case Xtal doesn't start
Since some Nordic platforms don't use an external clock source, they
need to be built with the TARGET_NRF_LFCLK_RC flag. If they don't,
SystemInit will wait indefinitely for an external clock to start.

This patch adds a 1s timeout to the external oscillator initialisation,
and falls back to using the internal RC one if no LFCLKSTARTED event was
received in this interval.

For most applications, this won't matter. When building for the wrong
Nordic target, pin numbers will be mixed up as well and the application
will break later on.
But on targets that can only be updated using FOTA and don't have an
interface chip, this patch avoid ending up with a bricked device after a
slight mistake. Indeed, BLE DFU service is portable across all boards
and will run even with a mixed-up target setup, allowing the user to
re-install the right application.

An example scenario is transferring an application on a standalone
NRF51 chip, after spending some time prototyping on an mKIT, which tends
to happen a bit too often...

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
2015-08-05 10:57:57 +01:00
Jean-Philippe Brucker 1c90449f35 Nordic: handle unwanted RTC interrupts
This patch clears the EVENT_COMPARE register even when we're not
expecting to get a COMPARE interrupt.

Here is a scenario where we get an unwelcome interrupt, and where it
currently results in a deadlock:

* A Ticker T1 runs at 500ms
* Its handler registers a Timeout T2 at 20µs. Since LF clock runs at
  32.768kHz, this will be rounded up to a multiple of 30.5µs (actually
  61µs, to ensure we're in the next tick window)

           T1  T2                                T1' T2'
    -------|---|---------------------------------|---|--------->
           :   :                                 :
           <---> n * 30.5µs                      :
           <--------------- 500ms --------------->

* When the ticker API handles T1, it calls us_ticker_set_interrupt a
  first time for T1', and then for registering T2.
* Since T2 period is less than one RTC tick (30.5µs), there is a high
  chance it will go past *while* we're still in this first handler.
* So ticker_irq_handler also handles T2 as well, and removes it from the
  queue.
* us_ticker_set_interrupt is called for T1' before returning from
  ticker_irq_handler

The problem resides in the fact that us_ticker_set_interrupt takes more
than 2 RTC ticks to execute: while inside the handler, T2 interrupt will
fire.

* Because of this pending interrupt, RTC1_IRQHandler will be called
  right away, but since we removed T2 from the queue, the handler is
  waiting for T1' instead, and will not clear EVENT_COMPARE until we
  reach the T1' tick, in about 500ms.
* This results in a lock and main isn't executed anymore.

With this patch, we avoid being stuck in RTC1_IRQHandler while waiting
for T1'.

Note: even when T2 isn't handled in the same loop as T1, we may get a
spurious interrupt, because us_ticker_set_interrupt will be called twice
for T2... and will register T2+m the second time, while T2 interrupt is
fired in the background.
That case isn't as harmful, since RTC1_IRQHandler will be waiting for
T2+m, which is only one or two ticks further, and then it won't be
called again before T1'.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
2015-08-05 10:39:29 +01:00
Martin Kojtal 24cc331f12 Merge pull request #1278 from marcusChiou/master
Change DELTA_DFCM_NNN40 ram size to 32KB config
2015-08-05 07:52:11 +01:00
sarahmarshy dc1e3be0a0 Added requirements.txt file 'pip install -r requirements.txt' will install all the needed python packages 2015-08-04 14:24:45 -05:00
unknown be49cca1a1 Change DELTA_DFCM_NNN40 ram size to 32KB config 2015-08-04 15:08:53 +08:00
modtronix-com 25144420ab Changed External oscillator to 16MHz, moved defined to device.h
For NZ32-SC151 fixed External oscillator frquency to 16MHz, and, moved
defined to device.h
2015-08-04 12:35:23 +10:00
Martin Simpson 99d009db00 Delete circle.yml 2015-08-03 15:56:33 +01:00
Martin Kojtal 9d276ebad7 Merge pull request #1265 from Wiznet/mbed_dev4
Wiznet - I2c -> gpio
2015-07-31 14:52:52 +01:00
Martin Kojtal e4cd8bbd3e Merge pull request #1266 from alexbeer2048/master
Enable LPC8xx usart when configuring it
2015-07-31 14:12:58 +01:00
Martin Kojtal 5b1dc60c03 Merge pull request #1271 from kgills/pwm_fix
MAXWSNENV, MAX32600MBED - Fixing pwm array search.
2015-07-31 13:57:26 +01:00
dbestm 2075adfd80 [DISCO_L053C8] enhance python file for uvision exporter 2015-07-31 13:54:23 +01:00
Martin Kojtal cc29b78880 Merge pull request #1274 from robojay/master
Removed PB6 debug toggling
2015-07-31 13:45:27 +01:00
Jay Francis 2cb58075f7 Removed PB6 debug toggling 2015-07-29 11:42:58 -04:00
Martin Kojtal e87fec7b35 Merge pull request #1267 from jamesadevine/microbit-pr04
Microbit addition
2015-07-29 09:37:34 +01:00
Kevin Gillespie db8697c321 [MAXWSNENV, MAX32600MBED] Fixing pwm array search. 2015-07-28 13:55:22 -05:00
Mikko Polojarvi 511b46de83 SiL USB: Disable LEM in Happy with ISOC endpoints
Happy Gecko's USB Low Energy Mode does not work properly with
isochronous endpoints.

Note that Happy Gecko errata USB_E112 states:

  Do not use the SUSPEND mode of LEMOSCCTRL in USB_CTRL.

  In rare cases with high data throughput, a transmission can
  fail when this mode is enabled.

  Use the GATED mode of LEMOSCCTRL for the best energy
  efficiency. The NONE mode can be used to disable energy
  savings

However, even using GATE mode causes problems for high-frequency
isochronous transfers. The primary effect for OUT endpoints is that
the first read will succeed, and the following one (targetting the
next frame) will fail with zero bytes incoming data, and PKTDRPSTS
is set in the related interrupt status register.

Disabling LEMOSCCTRL (set to NONE) solves the problem. Since this
will cause increased energy usage, do this only when an ISOC endpoint
is added.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 549d2b9e21 SiL USB: Fix endpoint definitions for Happy Gecko
Happy only has 3 endpoints, so flag out the rest.
2015-07-28 17:22:53 +03:00
amveeq 1620432608 Update USBEndpoints.h
No USB in Zero Gecko so removed also from here for the sake of clarity.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 088e451b7a SiL USB: Correctly handle ep0 reset on Happy
Use correct function when resetting endpoint 0 (on stall etc)
on Happy Gecko.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 1eb719bc17 SiL USB: Remove incorrect Zero Gecko flagging
Zero Gecko has no USB support, so don't even try to compile for it.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 3eaef2e095 SiL USB: Update copyrights and licence boilerplate
Everything should be copyrighted to SiLabs, and licensed
under Apache 2.0.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 957d7bd942 Silicon Labs USB device support - Wonder, Leopard, Happy
USB device support for Wonder, Leopard and Happy Gecko. See
details on configuration etc on the previous commit.

Known issue: USBAudio does not work reliably on Happy Gecko.
2015-07-28 17:22:53 +03:00
Mikko Polojarvi 8054366915 Silicon Labs USB device support
** Overview

This commit provides USB device-mode drivers for Silicon Labs chips.
The code is based on the SiLabs USB driver that is part of the
Simplicity dev environment.

Because Mbed USBDevice class wants to control the USB transactions
itself, large parts of the higher level code originally present in the
driver have been stripped out. An attempt has been made to keep Mbed
code separate enough that patches can be applied with minor effort, if
needed.

** Use of dynamic memory

Due to requirements imposed by the USB hardware, the driver needs read
and write buffers for every enabled endpoint. Since information on
what EPs will be used is only available during runtime, dynamic memory
allocation is used to minimize memory usage.

If needed, dynamic memory use can be disabled via a flag in
usbconfig.h. In this case, please read the documentation to see what
limitations this imposes. Static memory usage can also be reduced by
limiting the maximum number of active endpoints - see configuration in
usbconfig.h and USBEndpoints_EFM32.h.

** Power management

Driver supports the new SiLabs functionality in Mbed sleep(). Normal
sleep (EM1) is always available, and deep sleep (EM2) is available
when USB is either disconnected or suspended. How and when different
sleep modes are made possible can be configured in usbconfig.h

** Supported hardware

Current release officially supports, and has only been tested on Giant
Gecko. Upcoming releases will add support for other SiLabs platforms
on Mbed.
2015-07-28 17:22:53 +03:00
Martin Simpson 23c932ce3d Create circle.yml 2015-07-28 14:52:06 +01:00
bcostm 277b2d033f [DISCO_L476VG] Add platform in python files 2015-07-28 10:30:26 +02:00
bcostm 835e33d453 [DISCO_L476VG] Add uvision4 template files 2015-07-28 10:24:11 +02:00
bcostm 0f35f53699 [DISCO_L476VG] Add hal specific files 2015-07-28 10:23:26 +02:00
bcostm 151fe14452 [STM32L4] Add hal common files 2015-07-28 10:22:50 +02:00
bcostm e2ffa3f481 [STM32L4]Add hal common files 2015-07-28 10:22:02 +02:00
hjjeon0608 20888331af Deleted not used variable.
Deleted else if and using GPIO offset address.
Added GPIO out enable set/clear functions.
2015-07-28 11:19:08 +09:00
bcostm 33384ea5a5 [DISCO_L476VG] Add cmsis files 2015-07-27 15:57:47 +02:00
bcostm df5d0a124e [STM32L4] Add STM32Cube L4 HAL driver V1.0.0 2015-07-27 15:56:29 +02:00