Commit Graph

41 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
Martin Kojtal aeeed2d050 Merge pull request #876 from NitinBhaskar/master
Initial ethernet support for LPC433x
2015-02-09 08:40:47 +00:00
NitinBhaskar b6885d122a extended the year in the license 2015-01-30 13:34:03 +05:30
nitin.bhaskar.27.09@gmail.com 0cc5d40a62 Initial ethernet support for LPC433x 2015-01-29 22:20:44 +05:30
0xc0170 453e81fd4c Merge branch 'pinology' of https://github.com/PrzemekWirkus/mbed into PrzemekWirkus-pinology
Conflicts:
	libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F4/TARGET_DISCO_F401VC/cmsis_nvic.c
2015-01-27 14:15:48 +01:00
Toyomasa Watarai 7b62e7d5d6 [LPC4337] Remove init variable for RTC
- Remove static variable for initialization check
- Add enabled flag check for RTC control register
2014-12-25 09:41:33 +09:00
Toyomasa Watarai 44c66b1062 [LPC4337] Fix RTC clock setting issue
- Fixed missing RTC clock intialization code
- Confirm to pass RTC test case (MBED_16)
2014-12-24 18:09:47 +09: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
jesusalvarez 5f6da82f2f Merge remote-tracking branch 'upstream/master' 2014-09-11 11:07:25 -04:00
ytsuboi a9d60a2520 [LPC4337] support AnalogOut 2014-09-11 13:48:08 +09:00
ytsuboi 0abd9a2518 [LPC4337] support Rev.B board on PinNames.h 2014-09-07 19:58:13 +09:00
jesusalvarez 49e01fb232 Fix I2C0 pin init 2014-09-03 11:12:50 -04:00
ytsuboi ef0819c731 [LPC4337] move files from LPC43XX to LPC4330 2014-09-03 02:20:48 +09:00
ytsuboi 1ee314c4a5 [LPC4337] first commit
just confirmed with >workspace_tools\make.py -m LPC4337_M4 -t ARM -p 25
2014-09-01 23:30:22 +09:00
Rohit Grover 958aa2488b changes proposed from Martin's review 2014-08-29 17:02:40 +01: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
Rohit Grover 90467175c0 cleaning up code within Nordic's mbed HAL using astyle 2014-08-27 08:42:26 +01:00
jesusalvarez 39f82c99ec LPC4330_M4 port_api, us_ticker update 2014-08-19 18:16:48 -04: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
jesusalvarez c2327523bd LP4330_M4 i2c/spi update 2014-08-12 19:25:25 -04: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 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 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
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
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
0xc0170 b0537af763 gpio irq enable/disable
- InterruptIn disable_irq/enable_irq
2013-10-19 22:28:29 +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
Bogdan Marinescu 0c33d40fbb Added support for UART break generation. 2013-07-17 15:29:39 +03:00
jesusalvarez 804176b806 Update targets and pins for LPC43xx 2013-07-07 23:27:11 -04:00
Emilio Monti 597c62e06a Add the vendor name as a proper target label 2013-07-03 17:14:43 +01:00