Commit Graph

768 Commits (2deb3706d2ecbcec2166b04fa0c56bc133e4d34f)

Author SHA1 Message Date
Bogdan Marinescu 490d1a6606 Merge pull request #417 from Sissors/master
[LPC1114] Sleep fix + some device.h settings
2014-07-29 18:48:52 +01:00
Sissors a545702123 Sleep fix + some device.h settings
LPC1114 has no semihosting and also no localfilesystem. I took the
liberty of guessing the LPC11Cxx also don't have those.

Sleep code did nothing outside of locking up the microcontroller
(because semihosting was enabled). Code seems to be copied from
LPC11u24, but the LPC1114 is fundamentally different. (For example
deep-sleep bit is now the deep-powerdown bit, which you dont want).

Aditionally it keeps current peripheral state during deepsleep and when
waking up. Datasheet rates LPC1114 at 6uA in deepsleep, I measured it at
3.7uA. That makes me a happy panda.
2014-07-28 21:14:57 +02:00
sg- 8c41ea4aae Had duplicate set of api drivers in the directory - deleted
added define guards to xxxxx_api.c files for device.h peripheral gating
2014-07-28 12:46:50 -05:00
Bogdan Marinescu 928b206625 Merge pull request #413 from lindvalla/fix_spi_on_lpc1549
Fixed three issues with the SPI driver for the LPC1549 platform:
2014-07-24 11:45:56 +01:00
sg- 8dda44c302 moved PeripheralNames.h to target folder (set new target values to 0)
Moved peripheral PinMap declarations to PeripheralPins.c
Deleted duplicate mbed_overrides.c
2014-07-23 11:32:30 -05:00
sg- e479081dab Merge branch 'master' of https://github.com/mbedmicro/mbed 2014-07-23 08:33:42 -05:00
Anders Lindvall ea510ce162 Fixed three issues with the SPI driver for the LPC1549 platform:
* The TXDATCTL register was used even if only the control signals were
  modified which caused extra data to be transmitted.

* The RXDAT register does not only contain the received data, but also
  control information in bits 16 to 20. The old code did not mask out
  the control information and in rare cases that would cause the returned
  data to include too much information (i.e. received 0xaa as data but the
  function returned 0x300aa).

* The LPC1549 uses a Switch Matric (SWM) to allow any pin to have any
  function. This is not used in the old code which simply assigned
  the first instance of the SPI class to SPI0 and the second instance to
  SPI1. The third instance would result in a call to error().

  This behaviour is not at all working with real world examples where the
  SPI bus contains more than two peripherals. The third peripheral would
  cause the platform to end up in error().

  The solution is to modify the get_available_spi() function to first see
  if the MISO/MOSI/SCLK and SSEL pins are already configured for use as
  either SPI0 or SPI1. If the exact same pins are already used then the
  SPIx will be reused. If one or more pins are different then another
  SPIx will be used (or if both are alredy in use then error()). With this
  change it is now possible to do this:

  MyFlash      f(D11,D12,D13);      // Will use SPI0
  MyTemp       t(D11,D12,D13);      // Will use SPI0
  SDFileSystem s(D11,D12,D13,"sd"); // Will use SPI0
  MyDisplay    d(D11,D12,D13);      // Will use SPI0

  The old/existing code would have resulted in this

  MyFlash      f(D11,D12,D13);      // Will use SPI0
  MyTemp       t(D11,D12,D13);      // Will use SPI1
  SDFileSystem s(D11,D12,D13,"sd"); // error()
  MyDisplay    d(D11,D12,D13);      // Will never be called
2014-07-23 10:15:14 +02:00
0xc0170 f56f37528d Merge branch 'master' of https://github.com/Sissors/mbed into Sissors-master 2014-07-23 08:42:17 +01:00
sg- d35532b11a Remove testing text 2014-07-22 09:17:34 -05:00
sg- 67a3183567 Add new platform. Based on K64F. 2014-07-22 09:15:52 -05:00
Mihail Stoyanov 55f9b014de Add GHI_MBUINO target support 2014-07-22 11:12:05 +03:00
Sissors dc7155634a Bugfix for KLxx/K20 pwm period
Period is MOD + 1, so needs to add/substract 1 in the correct places
2014-07-21 19:03:07 +02:00
Toyomasa Watarai 5a49448226 [LPC1549] Fixed SPI frequency issue
Fixed SPI frequency issue when new frequency is not divided by system
clock.
Optimized power/clock setting code.
Some code refactoring.
2014-07-20 23:04:43 +09:00
Mihail Stoyanov 787da10f72 RedBearLab NRF51822 target support 2014-07-19 18:57:26 +03:00
Yihui Xiong 76f1eb949b add ARCH_GPRS target 2014-07-16 18:34:20 +08:00
tkuyucu 9f0849d0ea Merge remote-tracking branch 'upstream/master' 2014-07-15 16:21:12 +02:00
Sigve Sebastian Farstad ae4d94584b Fix erroneous boolean expression conversions
In fb90157c9a, asserts were introduced
changing the error checking style in large portions of the code base
from `if(error_condition) fail();` to `assert(!error_condition);`. In
doing so, not all boolean conditions were negated properly. This commit
restores the original semantics of the error checks as they were before
fb90157, (unless an error check has been changed upstream, in which
case it is ignored).

The practical effects of this commit is that it should restore proper
I2C and SPI functionality on the LPC15XX and nRF51822, respectively.
2014-07-15 15:24:30 +02:00
Martin Kojtal 2031512f69 Merge pull request #400 from micromint/master
[LPC4330] Updated LPC4330_M4 port
2014-07-15 07:35:28 +01:00
jesusalvarez e84df816c4 Restored assert on gpio_object.h. Added export template for GCC ARM Embedded (TOOLCHAIN_GCC_ARM) 2014-07-14 10:05:37 -04:00
jesusalvarez 9b8711ea45 Update LPC4330_M4 README 2014-07-11 15:13:54 -04:00
jesusalvarez 4e82296c05 Updates to LPC4330_M4 drivers 2014-07-11 14:48:25 -04:00
0xc0170 0de2a8946d [K20D50M] GPIO IRQ - CLZ to get position in irq handler 2014-07-10 14:43:25 +01:00
0xc0170 cf645e8fa1 [K20D50M] K20D50M - correct target name 2014-07-10 13:46:38 +01:00
0xc0170 79ee368366 [K20D50M] PinNames correction, UART pins definitions, GPIO IRQ speed up (as KLxx) 2014-07-10 13:23:48 +01:00
Sissors 699c1782d5 Increased KLxxZs interrupt handling speed
Instead of checking one bit at a time use a simple binary search
algorithm. Speed increase is roughly 250% (bit more for KL46).
2014-07-09 21:52:25 +02:00
Rohit Grover 9413ed9163 provide default initialization of some local variables in serial_api.c:serial_format() 2014-07-09 10:52:37 +01:00
Rohit Grover aae8513739 changes needed to support V7 of the nRF51822 soft-device 110 2014-07-08 16:42:47 +01:00
Martin Kojtal 09251dd3ba Revert "error.h -> mbed_error.h" 2014-07-08 14:04:50 +02:00
0xc0170 f7f77392d9 error header file rename to mbed_error.h 2014-07-04 08:05:49 +02:00
Bogdan Marinescu 69befae949 Merge pull request #384 from bcostm/master
[NUCLEO_L053R8] Fix ticker issue
2014-07-02 09:24:17 +01:00
bcostm 776b044262 [NUCLEO_L053R8] Remove call to SystemClockUpdate function.
It's ok to remove this call on this target because the same system clock
frequency is used with HSE and HSI clocks.
2014-07-02 09:18:42 +02:00
bcostm b8633eef38 [NUCLEO_L053R8] Fix ticker issue 2014-07-01 15:58:49 +02:00
dbestm 448f40a902 [NUCLEO_L152RE] enhance I2C for EEPROM 2014-07-01 14:58:43 +02:00
dbestm 35c391ba63 [NUCLEO_F411RE] enhance I2C for EEPROM 2014-07-01 14:49:20 +02:00
dbestm 7b6a59a068 [NUCLEO_F334R8] enhance I2C for EEPROM 2014-07-01 14:36:32 +02:00
dbestm 7b4bcd6eaf [NUCLEO_F030R8] enhance I2C for EEPROM 2014-07-01 14:15:07 +02:00
dbestm 2af0e5b5fc [NUCLEO_F103RB] enhance I2C for EEPROM 2014-07-01 14:06:22 +02:00
dbestm 372a0ae662 [NUCLEO_F302R8] enhance I2C for EEPROM 2014-07-01 13:54:41 +02:00
dbestm 32e5859bed [NUCLEO_F072R8] enhance I2C for EEPROM 2014-07-01 11:11:16 +02:00
dbestm a85701deae [NUCLEO_L053R8] enhance I2C to make it works with EEPROM 2014-07-01 10:32:18 +02:00
dbestm 674cca1c96 [NUCLEO_F401RE] enhance I2C API to make it work with EEPROM 2014-07-01 09:52:35 +02:00
ytsuboi 4771ebac99 Added target HRM1017 2014-07-01 02:24:31 +09:00
Toyomasa Watarai b1cae3da93 [LPC1549] Added CAN support
Added CAN API support for LPC1549 target.
Tested with LPC1768 target using NXP TJA1042 CAN transceiver.
2014-06-30 15:21:42 +09:00
Martin Kojtal eb364dacfe Merge pull request #380 from xiongyihui/master
[ARCH_BLE] target ARCH_BLE uses separate PinNames.h and device.h
2014-06-30 06:37:35 +02:00
Yihui Xiong 582eb65675 target ARCH_BLE uses separate PinNames.h and device.h 2014-06-30 09:58:48 +08:00
Bogdan Marinescu f74be83b04 Merge pull request #367 from dinau/LPCcappuccino_initial_port
LPCCAPPUCCINO] initial port
2014-06-27 16:20:32 +01:00
Martin Kojtal 124ef5e3ad Merge pull request #376 from dinau/f407vg_update_hal
[DISCO_F407VG] HAL update.
2014-06-27 07:22:56 +01:00
bcostm 8a5c5b9662 [NUCLEOs] Add Serial Rx only and TX only modes + 8-bit data as default 2014-06-26 14:50:32 +02:00
Martin Kojtal 9fec469ec6 Merge pull request #377 from dinau/disco_f303vc_update
[DISCO-F303VC] Updated with F302R8 recent changes
2014-06-26 10:18:14 +01:00
Martin Kojtal 288cce7281 Merge pull request #378 from dinau/disco_f051r8_update
[DISCO-F051R8] Updated with F030R8 recent changes
2014-06-26 09:42:39 +01:00
Martin Kojtal ea64ad4ac2 Merge pull request #375 from bcostm/dev_F072RB_assert
[NUCLEO_F072RB] mbed assert addition
2014-06-26 09:09:29 +01:00
dinau e6050cceca [DISCO-F051R8] Updated with F030R8 recent changes 2014-06-25 22:56:05 +09:00
dinau cc84553854 [DISCO-F303VC] Updated with F302R8 recent changes 2014-06-25 22:27:57 +09:00
dinau de7003d6c2 [DISCO_F407VG] HAL update.
Mainly updated with NUCLEO-F401RE canges.
2014-06-25 20:45:07 +09:00
bcostm e4e24ee17d [NUCLEO_F072RB] Add assert 2014-06-25 10:57:45 +02:00
bcostm c39de07958 [NUCLEO_F401RE] Fix issue with sleep and ST HAL tick timer
The timer used for the ST HAL tick must be disabled before entering in
sleep mode.
2014-06-25 10:22:44 +02:00
dinau 0e1d88d0ee Merge branch 'origin/master' 2014-06-24 23:46:48 +09:00
Bogdan Marinescu 8ef659bca8 Merge pull request #372 from bcostm/dev_NUCLEO_F334R8
[NUCLEO_F334R8] Add platform files
2014-06-24 14:44:08 +01:00
bcostm dd4362a60d [NUCLEO_F334R8] Add target HAL files 2014-06-24 11:22:07 +02:00
Toyomasa Watarai 27a7514c6e [LPC1114] Fixed PwmOut spike pulse issue
[LPC1114] Fixed PwmOut spike pulse issue when duty is 0%.
2014-06-24 13:28:40 +09:00
bcostm 8191dfcefd [NUCLEO_F411RE] Add target HAL files 2014-06-23 12:40:40 +02:00
dinau 323a5d7270 LPCCAPPUCCINO] initial port
LPCCAPPUCCINO is the breakboard that has LPC11U37,
https://strawberry-linux.com/catalog/items?code=12045
Schematic:
https://strawberry-linux.com/pub/cappuccino-sch.pdf
2014-06-20 23:08:02 +09:00
Toyomasa Watarai 50db157bd6 [LPC1549] Added USBDevice support
[LPC1549] Added USBDevice support by va009039's code
[LPC1549] Fixed warnings by GCC toolchain and removed redundant code
[LPC11U68] Fixed warnings by GCC toolchain and removed redundant code
2014-06-18 15:09:09 +09:00
bcostm 82bde4ef39 [NUCLEOs] SPI corrections
- Correct wrong NSS pin configuration on F030R8 and F401RE
- Set the default data size to 8 bits
- Typo corrections
2014-06-17 12:14:17 +02:00
dinau 131cdb529d [LPC2368][GCC_ARM] Added export functionality
Other changes are,
(1) Modified link error
(2) Silent Warning
2014-06-13 20:13:14 +09:00
tkuyucu 86234528c2 Merge branch 'upstream/master' 2014-06-12 15:20:59 +02:00
tkuyucu 5cb6b71015 Increase PWM timer precision 2014-06-12 15:05:44 +02:00
tkuyucu a384cf796e New PWM implementation
The old implementation suffered when SoftDevice was under use. The new
implementation is more robust.
2014-06-12 14:52:46 +02:00
Bogdan Marinescu c694da0543 Merge branch 'dev_error_assert' of git://github.com/0xc0170/mbed into 0xc0170-dev_error_assert
Conflicts:
	libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c
	workspace_tools/toolchains/arm.py
2014-06-11 15:50:34 +01:00
Bogdan Marinescu 42deb9ac55 Merge pull request #342 from bcostm/master
[NUCLEO_F401RE] Remove call to Systick + bug fixes
2014-06-11 09:42:11 +01:00
Bogdan Marinescu 0adb870369 Merge branch 'arch-pro' of git://github.com/xiongyihui/mbed
Conflicts:
	workspace_tools/targets.py
2014-06-11 09:40:42 +01:00
Bogdan Marinescu ff65c63a80 Merge pull request #346 from devanlai/LPC11CXX-RTR
Add support for remote CAN frames on LPC11CXX
2014-06-11 09:16:41 +01:00
Bogdan Marinescu 281ecee63f Merge pull request #350 from 0xc0170/dev_k64f_enet_fix
[K64F] enet - IRQ handlers are in the emac (eth) layer
2014-06-11 09:16:05 +01:00
tkuyucu 416900bdd9 Re-init timer if powered down
Re-commit after reverting the last commit with the changes to error.c
2014-06-11 09:22:47 +02:00
tkuyucu 5b60c2942d Revert "Re-init Timer if powered down"
This reverts commit 21a8a92e87.
2014-06-11 09:21:24 +02:00
0xc0170 372009f461 [K64F] enet - IRQ handlers are in the emac (eth) layer 2014-06-10 16:09:08 +01:00
tkuyucu 64b6589439 Merge remote-tracking branch 'upstream/master' 2014-06-10 14:55:44 +02:00
tkuyucu 21a8a92e87 Re-init Timer if powered down 2014-06-10 14:51:48 +02:00
bcostm a0d3da9a36 [NUCLEO_F401RE] Add missing IT flag reset + update system clock variable 2014-06-09 12:51:24 +02:00
Devan Lai df7af8ca86 Add support for remote CAN frames
Fixed bug where outgoing messages always had DIR bit set, even if
message type was CANRemote.
Fixed TODO where incoming messages were always assigned message type
CANData even if the message was remote
Changed filter setup to no longer set MDIR bit in receive filter; this
allows remote messages to pass through the filter.
2014-06-06 18:41:20 -07:00
bcostm 18cade6354 [NUCLEO_F401RE] Correct PWM channel on PA_3 2014-06-06 09:40:51 +02:00
Toyomasa Watarai e4e5683036 [LPC11U68] Fixed ADC sampling clock issue 2014-06-05 11:12:26 +09:00
Toyomasa Watarai 74d82257c0 [LPC1549] Fixed potential build error for GCC 2014-06-04 15:04:12 +09:00
bcostm 8e2d37abf9 [NUCLEO_F401RE] Remove call to Systick
+ Update Cube F4 HAL driver to V1.1.0RC2
2014-06-03 11:18:59 +02:00
Toyomasa Watarai 850e3c4d3d [LPC11U68] Added UART1-4 support 2014-06-03 18:18:39 +09:00
bcostm 2a70e71e30 [NUCLEO_F072RB] Add HAL files 2014-06-02 10:17:37 +02:00
0xc0170 324407b59a assert rename to mbed_assert header file 2014-05-28 16:38:00 +02:00
0xc0170 be43ebc182 MBED_ASSERT - mbed assert implementation 2014-05-28 15:39:44 +02:00
Yihui Xiong 73b643816c add Arch Pro target 2014-05-28 17:54:42 +08:00
0xc0170 48cc27f405 [LPC targets + K20 + F407VG] spi,serial, i2c asserts logic corrections 2014-05-28 10:35:50 +02:00
0xc0170 6a84ffa433 Merge branch 'master' into dev_error_assert
Conflicts:
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/spi_api.c
	libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/gpio_api.c
	libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/gpio_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/analogin_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/gpio_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/i2c_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/pwmout_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/serial_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/spi_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F103RB/i2c_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/i2c_api.c
	libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/i2c_api.c
2014-05-28 09:53:51 +02:00
0xc0170 f9091a237c [Freescale targets] - spi, serial assers corrections
- reverted gpio change in TARGET_LPC11U6X
2014-05-28 08:23:28 +02:00
Bogdan Marinescu bd83615ac5 Merge pull request #333 from 0xc0170/dev_nrf51_adc_read
[NRF51822] analog read - set channel
2014-05-27 12:54:12 +01:00
Bogdan Marinescu 22f1f3a38a Merge pull request #332 from bcostm/master
[NUCLEO_L053R8] Fix issue with upper case file name
2014-05-27 12:53:24 +01:00
0xc0170 9a39c1ddee [NRF51822] analog read - set channel 2014-05-27 12:57:45 +02:00
bcostm d4b8cb8a1c [NUCLEO_L053R8] Fix issue with file upper case file name
+ code cleanup
2014-05-27 11:12:53 +02:00
Bogdan Marinescu 1cdfe81b13 Merge pull request #331 from bcostm/master
[NUCLEO_xxx] Update xxx_free() functions + typo
2014-05-27 09:57:57 +01:00
bcostm 3529f1dc0a [NUCLEO_F302R8] Update xxx_free() functions + typo 2014-05-27 10:18:11 +02:00
bcostm 45142e0af4 [NUCLEO_F030R8] Update xxx_free() functions + typo 2014-05-27 09:51:55 +02:00
bcostm a223580e6b [NUCLEO_L152RE] Update rtc_free() 2014-05-27 09:24:28 +02:00