Commit Graph

2292 Commits (e25ffc78567b5c6adff81047b2324b6ab99b8dcb)

Author SHA1 Message Date
Bogdan Marinescu d0d75b1224 Merge branch 'master' of github.com:mbedmicro/mbed 2014-07-31 10:15:39 +01:00
Bogdan Marinescu ffbabdbea9 Revert "Change F411 to Cortex-M4F instead of Cortex-M4"
This reverts commit 97cdccdf03.
Will apply on the next SDK build, to keep synchronized with the online
build system.
2014-07-31 10:14:43 +01:00
Bogdan Marinescu 2f0469c832 Merge pull request #421 from neilt6/master
Added mount/unmount to FATFileSystem
2014-07-31 10:09:58 +01:00
Toyomasa Watarai 32255cfb5b Revert "Fixed L6235E link error for NRF51822 variants"
This reverts commit 320e384f02.
2014-07-31 11:44:30 +09:00
Toyomasa Watarai 320e384f02 Fixed L6235E link error for NRF51822 variants
Changed TARGET_NRF51822 target directory names to TARGET_MCU_NRF51822
Removed NRF51822 names to extra_label of target.py
Added MCU_NRF51822 names to extra_label of target.py
Tested with blinky example for NRF51822, HRM1017, ARCH_BLE and
RBLAB_NRF51822 target
2014-07-31 11:13:19 +09:00
Toyomasa Watarai 49231e22ad Merge remote-tracking branch 'upstream/master' 2014-07-31 10:33:24 +09:00
Aron L. Phillips d63067208a Removed the Peripheral Pin Definitions from the xxx_api.c files (analogin, i2c, pwmout, serial, & spi) to follow an example from Erik O. from this platform: https://github.com/mbedmicro/mbed/blob/master/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/PeripheralPins.c to allow for advanced compatibility of platforms;
Subsequently, the Peripheral Pin Definitions were added to the file called PeripheralPins.c to accommodate the removal of the definitions from the main xxx_api.c files and added it to each respective Target folder;
Added PeripheralPin.h to point to the PeripheralPin.c files in the target directories.
2014-07-30 17:53:01 -04:00
Aron L. Phillips f0e2959200 Revert "Modified the TARGET_GHI_MBUINO/PeripheralNames.h and targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h to reflect the mBuino base hardware;"
This reverts commit 6b910f2763.
2014-07-30 16:05:02 -04:00
Aron L. Phillips 6b910f2763 Modified the TARGET_GHI_MBUINO/PeripheralNames.h and targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h to reflect the mBuino base hardware;
I commented out the non useful SPI pins and Serial pins from our hardware build;
For pwmout, I removed the non useful pins and added two more pins that are part of our hardware build.
2014-07-30 13:53:17 -04:00
Przemek Wirkus d5b7006223 Added reset option to host_test so in the future we can use different reset type, e.g. touch reset.txt on systems like MPS2 boards 2014-07-30 17:53:03 +01:00
Przemek Wirkus d9fbefd373 Test compliance with LPC1549 and LPC11U68 2014-07-30 17:53:01 +01:00
Przemek Wirkus 4c24cd6665 Fixed shuffle seed print only when shuffling 2014-07-30 17:52:58 +01:00
Przemek Wirkus 12b8dff9f9 First RESTful API functionality draft 2014-07-30 17:52:56 +01:00
Przemek Wirkus 783d20bac8 Added commandline parser help display when -i or -M option is missiog from command line 2014-07-30 17:52:54 +01:00
Przemek Wirkus 62c3118e38 Bugfixed filter target counter when used with filter. 2014-07-30 17:52:51 +01:00
Przemek Wirkus d71e2713dd Added simple filtering switch for -S option. This can be extended in the future to other switches like -r / -R 2014-07-30 17:52:49 +01:00
Przemek Wirkus d28da8ec83 Fixed flow for JSON defect line / column parsing from json exceprion msg string 2014-07-30 17:52:46 +01:00
Przemek Wirkus 03c96a45de Now issues in JSON configuration files will be printed in human readable format. 2014-07-30 17:52:43 +01:00
Przemek Wirkus d0cd53e29f Few pyLint issues fixed 2014-07-30 17:52:41 +01:00
Przemek Wirkus dc12ff6bba Fixed few pyFlakes issues + simple refactoring of unused variables and imports 2014-07-30 17:52:38 +01:00
Przemek Wirkus c75944562f Bugfix: removed blocking continue from shuffling option 2014-07-30 17:52:36 +01:00
Przemek Wirkus d66852d09f Added simple commen to GOANNA_PATH. This will be refactored in the future to get more flexible Goanna settings in private_settings.py 2014-07-30 17:52:33 +01:00
Przemek Wirkus 28e4fc4f06 Separation for test class SingletestRunner towards Object Oriented design. Added shuffle seed to recreate test order when shuffling test order 2014-07-30 17:52:31 +01:00
Przemek Wirkus fee2533ab9 Small source code and print indent refactoring 2014-07-30 17:52:29 +01:00
neilt6 979bc3e2d5 Added mount/unmount to FATFileSystem
Added virtual mount()/unmount() methods to FATFileSystem to allow users
to swap removable disks.
2014-07-30 10:22:23 -06:00
Bogdan Marinescu 48daa3c4a5 Merge branch 'master' of github.com:mbedmicro/mbed 2014-07-30 16:11:42 +01:00
Alexander Valitov aa157d0195 Fixed TX buffer reclaim mechanism
This was causing problems with larger transfers.
2014-07-30 15:49:49 +01:00
Toyomasa Watarai c66f9943a6 Added --multibyte_chars option
Added --multibyte_chars option for ARM and uARM build.

This enables to use multi-byte character such as Japanese or Chinese
especially for string literal.
It should not be affected single-byte character set.  Tested with
Japanese Windows environment.
2014-07-30 10:54:08 +09:00
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
Bogdan Marinescu 7d32effdfd Merge pull request #419 from 23chrischen/master
Change F411 to Cortex-M4F instead of Cortex-M4
2014-07-29 18:47:55 +01:00
Bogdan Marinescu 1d586e1f8d Merge pull request #416 from sg-/master
Had duplicate set of api drivers in the directory - deleted
2014-07-29 18:39:22 +01:00
23chrischen f1178aeccd Added "M4F"
Several listed as Cortex M4 cores are actually M4F cores (having a floating point unit), I did some homework to figure out which ones have FPU's. It appears that the K20D50M is the only board with a Cortex-M4 MCU that is does not have a floating point unit.
2014-07-29 11:50:05 -05:00
23chrischen 97cdccdf03 Change F411 to Cortex-M4F instead of Cortex-M4 2014-07-29 09:43:48 -05:00
Andreas Løve Selvik f3de4bc529 Bugfix: Make redirected stdio write initialize UART
Calling a scanf before the first printf would end up calling serial_getc without initializing the UART.
2014-07-29 11:47:46 +02: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
Przemek Wirkus 68b2f4648f FAT library will be now built to .a / .ar separate folder. New switch -f / --fat is introduced for build.py script 2014-07-28 14:04:26 +01:00
Przemek Wirkus 12c7ba5ee2 Small refactoring for SD card tests for TARGET_K64F platform 2014-07-28 13:35:10 +01:00
Przemek Wirkus cd05521867 Added simple random seed provider. 2014-07-28 09:20:46 +01:00
23chrischen b8923edd2c Added STM32F411RE to list 2014-07-27 21:50:51 -05:00
mjrgh 43113cf13a Fix KL25Z connect problem with some USB 3.0 hosts
This change fixes a problem I've encountered using the Freescale KL25Z as a USB client device when attaching to a USB 3.0 port on a host PC.  I've personally observed the problem on two PCs, one a Dell running Windows 8.1 and the other a custom-built Windows 7 machine with a Gigabyte mobo.  Several other people on the Web have reported what appears to be the same problem.  It even appears to happen with some Macs - so it's apparently not Windows-specific or Windows-version-specific.  But it does seem to be USB 3.0 specific, and one report speculated that the common element is the Intel Haswell chip set on the host side.

The problem can be worked around by using USB 2.1 ports (many PCs have a mix of 2.1 and 3.0 port hardware) or by connecting a USB 2.1 hub between the device and host.  I have USB 2.1 ports on both of my testing machines, and this solution does work for me.  But I wanted to fix it at the software level if possible, so that my project would work for people who might only have USB 3.0 ports available.

I tracked down the problem to a timing issue that seems to cause the device and host to get out of sync with respect to flow direction on the USB connection during the initial handshake. It seems that the host can issue a CONTROL OUT token at a point where the client is trying to send the response for a previous CONTROL IN token. I found a note in some USB 3.0 reference material that this situation can occur, and that the client can resolve it by sending a zero-length ACK, which tells the host that the client isn't ready and that the host request should be repeated. 

My fix sends a zero-length reply in USBDevice::controlOut() when the control flow error is detected, and also explicitly sends the pending CONTROL_IN packet.  This appears to fix it reliably on my machine.  I'm not entirely confident about the fix, though, since I don't feel I understand the USB protocol or the mbed code in enough depth.  I'm submitting the change here in the hope that someone with a deeper knowledge of the mbed code can determine if this is a good fix, and if not can hopefully use it as the starting point for a better solution.  

Note that I submitted the same pull request via the mbed source control system, but I was advised by another mbed user that I should also submit it directly on github.  Apologies for any confusion caused by the redundant submissions.
2014-07-25 14:52:27 -07:00
Przemek Wirkus 4c10fbb660 Changed copyright date to 2014 2014-07-25 17:37:16 +01:00
Przemek Wirkus 2415d391d7 Added pseudo random seed source from compiler -D option 2014-07-24 15:33:49 +01:00
Przemek Wirkus 8fab5bca18 Bugfix: Replaced magic value of UNDEF test result with proper const name 2014-07-24 15:33:46 +01: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
Martin Kojtal 7a5896cba2 Merge pull request #412 from sg-/master
[MTS_GAMBIT] Add new target support
2014-07-23 21:12:04 +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 6663575abc Merge branch 'Sissors-master' 2014-07-23 08:43:39 +01:00