Commit Graph

4583 Commits (c47f60bb23d1b6715f553377026eee60ada428eb)

Author SHA1 Message Date
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
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
Martin Simpson bbfd190206 Update pwmout_api.c
Line 244 changed PclkFreq*2 to PcklFreq
Line 246 changed PclkFreq to PclkFreq*2

This is proposed as the current pwmout_api.c gives the wrong period/frequency when using e.g."mypwm.period_ms(1);"
For PWM1 1ms gave 500Hz and PWM2,3 and 4 gave 2KHz

Applied to source as above and re-compiled this gave 1KHz outputs for all PWM's selected
Tried on NUCLEO STM32F401RE will effect other NUCLEO-STM32F4 as above

HAL Clocks are as follows for the F401RE Board:  PCLK1=42000000 PCLK2=84000000 HCLK=84000000

Kind Regards

Martin
2015-07-27 12:16:45 +01:00
James Devine 633b57e209 Nordic: Enabled the invocation of twi_master.h functions from a cpp context
In a previous commit, the content of twi_master.h did not allow the invocation
of the c functions specified by the file from a cpp context. This commit wraps
the contents of the header file with the appropriate ifdefs.
2015-07-27 11:31:49 +01:00
James Devine 50fca30a2f microbit: Added NRF51_MICROBIT_B to build_release.py
Added NRF51_MICROBIT_B to build_release.py so this platform
can be built for release.
2015-07-27 11:31:49 +01:00
Jonathan Austin c285f2e1d3 Nordic: refactor the way we select the LFCLKSRC
Rather than indefinitely adding platforms to a #define list that use
the internal RC oscillator instead of an external crystal, let platforms
define this and the 'core code' can be platform agnostic.

Note, that this also allows people to use this symbol in libraries.
There's one notable example in the BLE_API that can now be refactored to
the same method, hopefully saving someone some unpleasant debugging
when their platform doesn't work because of a missing platform dependent
define in the high level API.

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
2015-07-27 11:31:49 +01:00
Jonathan Austin 0ee410d831 Move HRM and DELTA targets to use LFCLK define
After this change it will no longer be necessary to list all
the platforms that require the LFCKL to be the internal RC oscillator,
instead we specify it as a property of the platform.

Applications and libraries can use the TARGET_NRF_LFCLK_RC symbol to
filter for platforms that don't have an external crystal.

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
2015-07-27 11:31:49 +01:00
Jonathan Austin 382f7334fb Nordic: added the s110 scatter files
This commit adds the ability for a compile flag to be set from targets.py
which changes the soft device to s110.

The compile flag is: MCU_NRF51_16K_S110. In order to avoid duplication
of the startup file, for the 16K parts we introduce an S110 or S130
scatter file. This means all 16K platforms must define
MCU_NRF51_16K
and ONE of
MCU_NRF51_16K_S110 or MCU_NRF51_16K_S130

Based on an earlier commit by Mihail but modified to avoid copy/paste
of the startup code for S110/S130

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
2015-07-27 11:31:48 +01:00
Mihail Stoyanov ee4c83b34f Nordic:
Support multiple SoftDevices for NRF51822 based platforms
Move microbit S110 to Nordic default SoftDevice location
Remove obsolete S110 bootloader
2015-07-27 11:08:03 +01:00
James Devine 585fe6245f Add BBC microbit platform: NRF51_MICROBIT
This adds the BBC micro:bit platform, based on NRF51822

Initially, add the platform to use whatever version of softdevice is the
default for the NRF51822-based platforms.

Originally written by James, modified for new target inheritance by
Jonathan Austin:

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
2015-07-27 11:07:53 +01:00
James Devine 668644c604 Nordic: fix for Nordic PAN56 - reset twi master
This commit is based on Nordic's fix for an abnormality in some releases
of the nrf51822 silicon.

Without this fix, the I2C bus locks up and doesn't reset properly. The
fix resets the TWI master on powerup.

For more information see
https://www.nordicsemi.com/eng/nordic/download_resource/24634/6/47696154

Nordic Product Anomaly ID 56.
2015-07-27 11:02:20 +01:00
James Devine e50305122d Wallbot: update wallbot to use standard I2C definitions
Unlike other Nordic platforms, the wallbot doesn't use numbered I2C
ports. This makes it difficult to refer to a platforms's I2C pins from
common code.

This fix leaves the original wallbot definitions, but adds the more
'standard' ones too.

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
2015-07-27 11:02:20 +01:00
Alexander Beer 37a478b88c Enable LPC8xx usart when configuring it 2015-07-27 11:45:47 +02:00
Martin Kojtal 9b9bab51e5 Merge pull request #1229 from Wiznet/mbed_dev2
Change us_ticker - one dual timer + one pwm timer
2015-07-27 09:38:55 +01:00
Martin Kojtal bfd1ddeee4 Merge pull request #1250 from dbestm/master
DISCO_F746NG - add pwm12 clock
2015-07-27 09:26:46 +01:00
Martin Kojtal 23cdadc405 Merge pull request #1253 from bcostm/master
DISCO_F746NG - Add IAR exporter
2015-07-27 09:25:33 +01:00
hjjeon0608 641ecd065a Add Repeated read/write functions. 2015-07-27 11:22:04 +09:00
hjjeon0608 74cdab3021 Change I2C using GPIO. 2015-07-27 10:02:03 +09:00
Martin Kojtal cda27fddc9 Merge pull request #1254 from bridadan/remove-gcc-arm-for-arm-mps
Removes GCC_ARM as a supported compiler for the ARM_MPS targets
2015-07-24 15:19:18 +02:00
Martin Kojtal 591781b445 Merge pull request #1257 from yoonghm/yoonghm-Export_GCC_ARM_TEENSY3_1
Yoonghm-Export-gcc_arm_teensy3 1
2015-07-24 15:17:31 +02:00
Martin Kojtal e6e5c975d4 Merge pull request #1261 from screamerbg/master
Redesign Nordic nRF51 MCU and derivative platforms
2015-07-24 15:15:13 +02:00
hjjeon0608 226d534d85 I have rectified typos
DULA -> DUAL
2015-07-24 14:31:48 +09:00
David H 8ef4c2ec12 Merge pull request #4 from mbedmicro/master
Update my fork with original
2015-07-24 12:07:47 +10:00
Mihail Stoyanov e9ccab9fb8 Redesign Nordic nRF51 MCU and derivative platforms to use class inheritance:
* add class to support both versions - 16K and 32K
* add class to support 2 modes - BOOT and (F)OTA
* change all classes to use the corresponding parent class
2015-07-23 15:28:52 +03:00
Martin Kojtal 58bac00e25 Merge pull request #1260 from screamerbg/master
Add travis test whether the testsuite is usable
2015-07-23 11:24:57 +02:00
Mihail Stoyanov 482941ab0e Add travis test whether the testsuite is usable 2015-07-23 12:12:06 +03:00
Martin Kojtal c5a4d1068e Merge pull request #1256 from screamerbg/master
Add bootloader versioning based on the softdevice being used for all …
2015-07-23 10:02:50 +02:00
Martin Kojtal 67a3069560 Merge pull request #1259 from bridadan/remove-mbedls-dependency
Remove mbed-ls dependency from test framework
2015-07-23 08:09:40 +02:00
Brian Daniels b5191580fd Removed mbed-ls dependency from test framework 2015-07-22 16:40:42 -05:00
YoongHM 4a7d6beaea Add GCC_ARM export for TEENSY3_1
To reflect support for GCC_ARM export for TEENSY3_1
2015-07-22 20:29:37 +08:00
YoongHM 8e04c1f2a7 Add gcc_arm_teensy3_1.tmpl
Add Jinja2 template to support export of Teensy 3.1 project for GCC ARM toolchain.
2015-07-22 20:25:23 +08:00
YoongHM b1534cf994 Feature: Export GCC_ARM for TEENSY3_1
Support project export in GCC_ARM for Teensy 3.1.
2015-07-22 20:20:58 +08:00
Mihail Stoyanov 9cc84bb8c4 Support multiple SoftDevices for NRF51822 based platforms 2015-07-22 15:08:46 +03:00
0xc0170 35cfd8ec82 mbed lib revision - 103 2015-07-21 14:38:29 +02:00
Mihail Stoyanov 49dbe0c6cc Add bootloader versioning based on the softdevice being used for all nRF51822 based platforms.
Remove obsolete S110 softdevice.
2015-07-21 13:47:40 +03:00
Brian Daniels 8640bcf9cc Removes GCC_ARM as a supported compiler for the ARM_MPS targets 2015-07-20 10:47:29 -05:00
bcostm 1f93b7694a [DISCO_F746NG] Add IAR exporter 2015-07-20 13:16:22 +02:00
dbestm 75d08d8afa [DISCO_F746NG] remove tab in pwmout_api.c 2015-07-20 13:10:57 +02:00
Martin Kojtal a68b724d07 Merge pull request #1245 from stevew817/master
[Silicon Labs] Bring EFM32 HAL up to date
2015-07-20 09:46:13 +02:00
Martin Kojtal 164dd4da1b Merge pull request #1251 from chrta/add_wextra_to_gcc_arm_exporter
GCC_ARM EXPORTER - Add Wextra flag as suggested in #950
2015-07-20 09:31:44 +02:00
hjjeon0608 55dc1fd077 Deleted constant in calculate interrupt timing. 2015-07-20 14:54:56 +09:00
Neil Thiessen 0dde4f5597 Revert 2a49d8b..456ac21
This rolls back to commit 2a49d8bf99.
2015-07-19 09:43:46 -06:00
Christian Taedcke 92de25c232 [EXPORTER] Derive lpcxpresso M0 and M3 cprojects from one template. 2015-07-19 14:32:12 +02:00
Christian Taedcke f3a4b6a9ca [EXPORTER] Derive all lpcxpresso project files from one common template. 2015-07-19 12:50:31 +02:00