Commit Graph

2363 Commits (31fb6731cafbf0483d032b0f61f68cc27adb685d)

Author SHA1 Message Date
vimalrajr 31fb6731ca Added handling RX only transmission in SPI APIs 2015-08-14 17:36:22 +05:30
vimalrajr 0adc8fdf6c Bug fix in SPI API 2015-08-14 17:36:21 +05:30
akhilpanayam 1da4cbc288 * added cmsis files for pin definitions for all targets of SAMR21 and D21. 2015-08-14 17:36:21 +05:30
vimalrajr 9ccfa07ac6 Removed unwanted header file inclusions 2015-08-14 17:36:20 +05:30
vimalrajr 800bc093e9 Modified pinmap APIs and supporting functions as per review comments. 2015-08-14 17:36:20 +05:30
akhilpanayam 47d62cd8ce * Updated IAR startup file.
* Grouped SAMR21G18A specific files to its particular folder.
* Added files for all variants of SAMR21 and SAMD21.
* Removed Quick Start files from ASF.
* Added Target Dependency in port.c for PORT MASK.
* Grouped PWM pin implementation to SAMR21G18A folder.
2015-08-14 17:36:19 +05:30
akhilpanayam d34e39ff05 * updated with corrections in serial init. 2015-08-14 17:36:18 +05:30
akhilpanayam 9da56e4dfc * updated serial_free api to make the pin Pulled up. 2015-08-14 17:36:18 +05:30
vimalrajr 3e5ac805b2 Modified SPI default baud rate as per review comments 2015-08-14 17:36:17 +05:30
vimalrajr bf05bbcaa6 Modified PWMOut APIs as per review comments 2015-08-14 17:36:17 +05:30
vimalrajr cd6771367d Modified supporting functions for finding SERCOM pinmaps. 2015-08-14 17:36:16 +05:30
akhilpanayam 8188c05c64 * Removed unwanted arrays in Pinmap.
* corrected macros for build to be successful without ASYNCH enabled in serial apis.
* added serial_pinout_tx api in serial.
2015-08-14 17:36:16 +05:30
vimalrajr 987567ee59 Adding PWM API implementation 2015-08-14 17:36:15 +05:30
akhilpanayam 62a6bcaeeb * updated with corrections in AnalogueIn apis. 2015-08-14 17:36:14 +05:30
akhilpanayam c7573e43ce * updated port apis with corrections. 2015-08-14 17:36:14 +05:30
vimalrajr 0ee229aa90 Modified I2C APIs as per review comments. 2015-08-14 17:36:13 +05:30
vimalrajr 5f9ee05e4b Removed ASF license headers from files. 2015-08-14 17:36:13 +05:30
vimalrajr 062ee461da Adding implementation for I2C APIs - master mode, slave mode, and master async interrupt mode. 2015-08-14 17:36:12 +05:30
akhilpanayam 87c8bc8bda * updated with new folder structure.
* added more pins for external interrupt as per pio_samr21g18a.h
* updated serial_api.c for sanity checks, removed unused variables and other corrections.
2015-08-14 17:36:10 +05:30
akhilpanayam a4fc70d463 * updated with NULL check for irq_handler. 2015-08-14 17:36:09 +05:30
akhilpanayam e1c0fea8b7 * updated the default pin macros for R21. 2015-08-14 17:36:09 +05:30
akhilpanayam ef2b6cfd66 * File addition for PWM.
* updated port apis for variable (start) data type change.
2015-08-14 17:36:08 +05:30
akhilpanayam c47f60bb23 * updated with port driver apis. Tested and working. 2015-08-14 17:36:08 +05:30
akhilpanayam 5d0a913591 * Added missed out pins for external Interrupt. irqmask initialized to 0 in init for gpio irq. 2015-08-14 17:36:07 +05:30
Martin Kojtal b28ce2b780 Merge pull request #1277 from modtronix-com/master
Changed NZ32-SC151 external oscillator to 16MHz, and moved defines to device.h
2015-08-14 12:43:02 +01:00
David H 57463eaef0 Merge pull request #5 from mbedmicro/master
Update my fork with original
2015-08-14 13:25:26 +10:00
modtronix-com 160d4bccf7 Cosmetic changes
Cosmetic change to reduce number of diffs showing up in pull request
2015-08-14 12:06:13 +10:00
modtronix-com 16327ce210 Added place for adding mbed and HAL defines
Added place for adding mbed and HAL defines
2015-08-14 11:53:45 +10:00
modtronix-com ccecacc129 Moved "stm32l1xx_hal_conf.h" to project folder.
Moved "stm32l1xx_hal_conf.h" to target folder. This file is part of
STM32CubeL1, and this is the way it is done for the 95 examples supplied
with STM32CubeL1. This file should be part of project(target) folder,
not API. On mbed, this has been done for TARGET_STM32F4 and
TARGET_STM32F7 targets (in ../targets/cmsis/TARGET_STM folder). All
targets in these two folders already have the "stm32l1xx_hal_conf.h"
file in the target folder.
2015-08-14 10:53:11 +10:00
Steven Cooreman 62d9adfb42 In certain cases, the clock setting did not select HFXO, even though HFXO was requested in the board header.
Root cause: you cannot use a C-enum name in a #if compare, becaudse the preprocessor will replace all enum names with 0 (so all checks on HFXO/LFXO checked out regardless of the define).
2015-08-13 17:35:40 +02:00
Martin Kojtal 376d6a73e3 Merge pull request #1287 from stevew817/usb-device-rel3
Silicon Labs - Add support for USBDevice
2015-08-13 15:39:43 +01:00
Martin Kojtal bd9a168505 Merge pull request #1273 from marcusbirkin/master
KL46Z - Ensure the NVIC table gets copied to RAM even when it is not at 0x0000
2015-08-13 11:43:33 +01:00
Martin Kojtal 163a66abdd Merge pull request #1268 from martin2100/patch-1
STMF4 - pwmout_api.c freq fix
2015-08-13 11:21:23 +01:00
Martin Kojtal bc07f838f8 Merge pull request #1286 from devanlai/master
LPC15XX - Fix GPIO port word pin registers offset
2015-08-13 11:19:31 +01:00
Martin Kojtal 59ff23cdaf Merge pull request #1290 from BlackstoneEngineering/BLoDFix_SiLabs
Blue Lights of Death fix for Silicon Labs boards
2015-08-13 10:56:41 +01:00
Martin Kojtal 88ef2fe48f Merge pull request #1283 from kgills/pwm_fix
[MAXWSNENV, MAX32600MBED] Simplifying pwm search. Reordering PinMap_PWM.
2015-08-13 10:27:02 +01:00
Martin Kojtal cc42528dbc Merge pull request #1281 from jpbrucker/fix_us_ticker
Nordic: handle unwanted RTC interrupts
2015-08-13 10:21:57 +01:00
Martin Kojtal 99877b836d Merge pull request #1276 from jpbrucker/nrf51_clock_fallback
Nordic: fallback to the internal LF clock in case Xtal doesn't start
2015-08-13 10:17:26 +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
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
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
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
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 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
Jay Francis 2cb58075f7 Removed PB6 debug toggling 2015-07-29 11:42:58 -04:00
Kevin Gillespie db8697c321 [MAXWSNENV, MAX32600MBED] Fixing pwm array search. 2015-07-28 13:55:22 -05:00