Commit Graph

38 Commits (3ae6d045ee053ddef6749adbaef9466e4b51a537)

Author SHA1 Message Date
sg- 70fad08a4c Update SPI API documentation for hardware driven SS. Modify all target spi_api.c implementations. spi_init ssel parameter was used incorrectly to determine master/slave mode rather than enable hardware driven SS (seems to be due to legacy copy paste). Remove duplicate copy paste code of initialization in spi_init that is done by constructor (SPI and SPISlave) 2015-04-10 00:38:27 -05:00
Anders Lindvall 252d7c8da1 Merge pull request #1 from mbedmicro/master
Add support for EA LPC4088_DM
2015-02-03 12:13:03 +01:00
Anders Lindvall 627714908d Removed the mbed_mac_address override as it is not needed on the LPC4088_DM 2015-01-24 12:33:02 +01:00
Anders Lindvall 4a2f3e00fe Fixed review comments 2015-01-21 10:22:02 +01:00
Anders Lindvall cbebd63a2c Added LPC4088_DM HAL 2015-01-21 10:19:35 +01:00
Przemek Wirkus 6fa4b469f4 Decorated all HALs with gpio_is_connected() function implementation 2014-12-19 13:37:16 +00:00
Sissors 1b833cbd67 Changed serial pin_mode with brackets and for all targets 2014-10-06 12:15:24 +02:00
Sissors 86e71216fa Allow Serial pin to be NC on Freescale/NXP devices
Nordic(?)/STM should also be done, but I don't know if they do their own
stuff.

Issue is that since the mbed-assert implementation, calling pin_mode
causes an assert when a pin is NC. Since defining a serial object with
only TX or RX is a valid use case, this should be handled.

pinmap_pinout does accept NC pins, so there no guards are needed (person
who adds asserts there may also fix it in all other code).
2014-10-04 22:47:25 +02:00
Andreas Rebert 4511b5bbc5 [LPC4088] Corrected calculation of CAN clock 2014-09-10 10:39:09 +02:00
Rohit Grover c8f896d708 update definitions for us_ticker_set_interrupt() across all platforms to use timestamp_t 2014-08-29 17:02:39 +01:00
Martin Kojtal a681b14416 Change "error.h" to "mbed_error.h" to avoid conflicts with 3rd party code 2014-08-15 16:19:18 +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
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
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 906a6745a9 assert - logic corrections 2014-05-20 17:10:11 +01:00
0xc0170 60276a7cac __ASSERT_MSG macro for uvision, corrections in LPC targets - serial - assert 2014-05-20 16:41:30 +01:00
0xc0170 fb90157c9a All targets except STM - asserts for checking presumptions (function parameters) 2014-05-16 15:45:12 +01:00
0xc0170 09fe00f041 gpio and pinmap - asserts for NC as parameters (not init), abort retarget
- retarget - abort - calls mbed_die
	- asserts added to gpio mbed hal for all targets
2014-05-15 15:30:14 +01:00
mazgch 7bc41ef504 some more pin names 2014-05-14 17:59:32 +02:00
0xc0170 4c61464ee7 all targets - gpio - NC guard
- gpio init enables to set pin to NC, thus the rest of gpio HAL should not do any action
	  if pin is set to NC.
2014-05-14 15:44:33 +01:00
sg- b64e32299f add fflush to exit
enable DEVICE_STDIO_MESSAGES on k64f
remove all line endings from error messages throughout mbed sdk (all targets)
2014-04-09 16:24:13 -05:00
neilt6 e57e69c772 Changed error(...) to a weak function
Made error(...) a weak function so that it can be overridden in
production projects. Also fixed several serial_api.c files that required
stdlib.h, but were getting it from error.h.
2014-03-31 10:27:14 -06:00
mazgch be8bca4aa0 proposed change of gpio_api 2014-03-04 11:27:30 +01:00
Chiel de Roest 8b3cdc0067 Remove unnecessary semicolons.
Remove unnecessary colon that was placed in all SPI drivers for NXP
targets.
2014-01-24 22:49:09 +01:00
Michael Moon a249e39826 Improved baudrate calculation function.
Uses 100% integer math, delivers more accurate results with fewer iterations in less time.

Since it seems most of the NXP chips use identical math, I have also altered the other targets in this commit.

If there are non-NXP chips which use a similar serial block, consider porting to those as well

Comparison:

         BAUD   DL MUL DIV  CPU_CLOCK
      -------  --- --- --- ----------
new: {   9600, 625,  1,  0,  96000000},	// Actual baud:    9600, error =0.00%,    1 iterations
old: {   9600, 625,  1,  0,  96000000},	// Actual baud:    9600, error =0.00%,    0 iterations

new: {  38400, 125,  4,  1,  96000000},	// Actual baud:   38400, error =0.00%,    8 iterations
old: {  38400,  81, 14, 13,  96000000},	// Actual baud:   38409, error +0.02%,  420 iterations

new: {  57600,  81,  7,  2,  96000000},	// Actual baud:   57613, error +0.02%,  120 iterations
old: {  57600,  54, 14, 13,  96000000},	// Actual baud:   57613, error +0.02%,  315 iterations

new: { 115200,  27, 14, 13,  96000000},	// Actual baud:  115226, error +0.02%,  120 iterations
old: { 115200,  27, 14, 13,  96000000},	// Actual baud:  115226, error +0.02%,  210 iterations

new: { 230400,  23, 15,  2,  96000000},	// Actual baud:  230179, error -0.10%,  120 iterations
old: { 230400,  17, 15,  8,  96000000},	// Actual baud:  230179, error -0.10%,  525 iterations

new: { 250000,  24,  1,  0,  96000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  24,  1,  0,  96000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   6,  1,  0,  96000000},	// Actual baud: 1000000, error =0.00%,    1 iterations
old: {1000000,   6,  1,  0,  96000000},	// Actual baud: 1000000, error =0.00%,    0 iterations

new: {2000000,   3,  1,  0,  96000000},	// Actual baud: 2000000, error =0.00%,    1 iterations
old: {2000000,   3,  1,  0,  96000000},	// Actual baud: 2000000, error =0.00%,    0 iterations

new: {   9600, 514, 15,  4, 100000000},	// Actual baud:    9600, error =0.00%,  110 iterations
old: {   9600, 337, 15, 14, 100000000},	// Actual baud:    9593, error -0.07%, 1365 iterations

new: {  38400,  93,  4,  3, 100000000},	// Actual baud:   38402, error +0.01%,  120 iterations
old: {  38400,  85, 12, 11, 100000000},	// Actual baud:   38363, error -0.10%,  525 iterations

new: {  57600,  62,  4,  3, 100000000},	// Actual baud:   57604, error +0.01%,  120 iterations
old: {  57600,  61,  9,  7, 100000000},	// Actual baud:   57633, error +0.06%,  840 iterations

new: { 115200,  31,  4,  3, 100000000},	// Actual baud:  115207, error +0.01%,  120 iterations
old: { 115200,  31,  4,  3, 100000000},	// Actual baud:  115207, error +0.01%,  525 iterations

new: { 230400,  19,  7,  3, 100000000},	// Actual baud:  230263, error -0.06%,  120 iterations
old: { 230400,  19,  7,  3, 100000000},	// Actual baud:  230263, error -0.06%,  735 iterations

new: { 250000,  25,  1,  0, 100000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  25,  1,  0, 100000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   5,  4,  1, 100000000},	// Actual baud: 1000000, error =0.00%,    8 iterations
old: {1000000,   5,  4,  1, 100000000},	// Actual baud: 1000000, error =0.00%,  315 iterations

new: {2000000,   2,  9,  5, 100000000},	// Actual baud: 2008929, error +0.45%,  120 iterations
old: {2000000,   2,  9,  5, 100000000},	// Actual baud: 2008929, error +0.45%,  315 iterations

new: {   9600, 625,  4,  1, 120000000},	// Actual baud:    9600, error =0.00%,    8 iterations
old: {   9600, 404, 15, 14, 120000000},	// Actual baud:    9602, error +0.02%, 1575 iterations

new: {  38400, 179, 11,  1, 120000000},	// Actual baud:   38408, error +0.02%,  120 iterations
old: {  38400, 101, 15, 14, 120000000},	// Actual baud:   38409, error +0.02%,  525 iterations

new: {  57600,  93,  5,  2, 120000000},	// Actual baud:   57604, error +0.01%,  120 iterations
old: {  57600,  68, 12, 11, 120000000},	// Actual baud:   57545, error -0.10%,  420 iterations

new: { 115200,  47, 13,  5, 120000000},	// Actual baud:  115248, error +0.04%,  120 iterations
old: { 115200,  34, 12, 11, 120000000},	// Actual baud:  115090, error -0.10%,  315 iterations

new: { 230400,  19,  7,  5, 120000000},	// Actual baud:  230263, error -0.06%,  120 iterations
old: { 230400,  17, 12, 11, 120000000},	// Actual baud:  230179, error -0.10%,  210 iterations

new: { 250000,  30,  1,  0, 120000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  30,  1,  0, 120000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   5,  2,  1, 120000000},	// Actual baud: 1000000, error =0.00%,    3 iterations
old: {1000000,   4,  8,  7, 120000000},	// Actual baud: 1000000, error =0.00%,  210 iterations

new: {2000000,   3,  4,  1, 120000000},	// Actual baud: 2000000, error =0.00%,    8 iterations
old: {2000000,   2,  8,  7, 120000000},	// Actual baud: 2000000, error =0.00%,  210 iterations
2013-11-29 02:44:14 +11:00
Bogdan Marinescu 3c0a8b633f Provide generic pinout defines
This commit adds generic peripheral names to various mbed enabled
boards, to make it easier to write portable code amongst various
mbed boards.
2013-11-26 17:12:36 +02:00
Joris Aerts 067e446ae2 Add CAN->filter to API and add placeholders to hal's
Add filter function and modify CAN->read definition to allow reading specific messages.
2013-10-22 10:57:28 -07:00
0xc0170 b0537af763 gpio irq enable/disable
- InterruptIn disable_irq/enable_irq
2013-10-19 22:28:29 +02:00
Andreas Rebert a574fd73b3 Bugfixes for I2C and port impl 2013-10-11 14:01:49 +02:00
Andreas Rebert bb35d16521 Merged bugfixes and improvments for LPC1768 target to LPC4088 target 2013-09-23 11:39:52 +02:00
Andreas Rebert 00cfdbad2a Merge remote-tracking branch 'upstream/master' into lpc4088 2013-09-09 14:13:08 +02:00
unknown 0e36bdd457 Bugfix: PIN Modes was not set correctly
Added: Export to uVision and Code Red toolchains
2013-09-09 14:10:11 +02:00
Adam Green 5d27f98c7b serial_putc() can cause rx bytes to be dropped
While fixing this issue in the various LPC* ports, I noticed a comment
pointing to this mbed forum post which summarizes this bug quite well:
  https://mbed.org/forum/bugs-suggestions/topic/4473/

This bug was introduced in the following commit:
2662e105c4

The following code was added to serial_putc() as part of this commit:
    uint32_t lsr = obj->uart->LSR;
    lsr = lsr;
    uint32_t thr = obj->uart->THR;
    thr = thr;

As the forum post indicates, this causes the serial_putc() routine to
actually eat an inbound received byte if it exists since reading THR is
really reading the RBR, the Receiver Buffer Register.  This code looks
like code that was probably added so that the developer could take a
snapshot of these registers and look at them in the debugger.  It
probably got committed in error.
2013-09-07 00:44:44 -07:00
Andreas Rebert 75dba19438 Updated pin mapping and CAN HAL for LPC4088 target 2013-08-08 13:57:02 +02:00
Bogdan Marinescu 0c33d40fbb Added support for UART break generation. 2013-07-17 15:29:39 +03:00
Emilio Monti 597c62e06a Add the vendor name as a proper target label 2013-07-03 17:14:43 +01:00