Commit Graph

220 Commits (51c53c6857a3aa984353722900db9178e455a88c)

Author SHA1 Message Date
Yihui Xiong f11cb671e5 fix prescaler settings 2014-04-29 07:30:50 +08: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
Yihui Xiong 61a0f59bad add I2C pins name to Arch and Arch Pro 2014-04-04 10:40:31 +08:00
Mihail Stoyanov 4e46149448 Added pins D14 and D15 for LPC1549 2014-04-02 14:40:02 +01:00
Mihail Stoyanov 4110d25404 Added D14 and D15 pins for Arch Pro 2014-04-01 18:39:41 +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
Bogdan Marinescu 71b306a2d4 Improvements to Sam's platform_init.c commit 2014-03-25 11:43:54 +00:00
sg- ecad62a205 Updates to build_api.py (platform_init.c remains platform_init.o in mbed.bld) and moved NMI_Handler from gpio_irq_api.c to platform_init.c for KL05Z, KL25Z and KL46Z target platforms to take advantage of this change. 2014-03-24 18:41:19 -05:00
Bogdan Marinescu c013d6e6a9 Restore serial_api.c on LPC1768
Michael's GPIO fix changed this to a previous version, this commit restores
it to the last version.
2014-03-18 10:53:33 +00:00
Toyomasa Watarai 84a654d200 [LPC1549] Added AnalogOut API and PWM improvement
Added AnalogOut
I2C code cleanup
PWM now support 4ch
us_ticker now use RIT instead of SCT
2014-03-12 19:23:14 +09:00
Bogdan Marinescu f34be80874 Fix compilation errors from GPIO pull request 2014-03-10 13:41:31 +00:00
Bogdan Marinescu 423ddcb86e Merge pull request #198 from mazgch/gpio_api
proposed change of gpio_api (new update pull request)
2014-03-10 11:15:59 +00:00
Toyomasa Watarai 855bafe8d5 Added PwmOut for LPC1549 target 2014-03-07 18:40:45 +09:00
mazgch 8f5a2a580a fix indentation and make helpers static inline 2014-03-04 15:00:28 +01:00
mazgch c1d3cb5aa3 address concern from watarai-san about code size and performance by creating a set of common initialization functions 2014-03-04 14:09:41 +01:00
mazgch be8bca4aa0 proposed change of gpio_api 2014-03-04 11:27:30 +01:00
Emilio Monti 6d79406112 Merge pull request #196 from toyowata/master
Added LPC11U35_501 target support
2014-03-04 10:20:01 +00:00
Toyomasa Watarai 7216c36d0f Added LPC11U35_501 target support
Tested with CQ's LPC11U35/501 target board
2014-03-04 17:57:33 +09:00
Emilio Monti 8431561fc7 Merge pull request #194 from Sissors/master
LPC1768 writeable fix + KL25Z/KL46Z RTC pin function
2014-03-03 11:05:07 +00:00
mazgch ca1d76687b adding back tx fifo, this also fixes the tx interrupts 2014-03-03 12:00:32 +01:00
Sissors 56ce1e7290 Fixed LPC1768 writable
Now if no flow control is used it will check if holding register is
empty, instead of complete UART is empty: The TxIrq uses the same
requirement.
Currently BufferedSerial (and everyone else trying something similar)
goes haywire because it doesn't just check if writable, but also if done
writing.

If flow control is enabled nothing is changed.
2014-03-01 16:58:01 +01:00
Sissors baa4003b95 Revert "Fixed writable for LPC1768"
This reverts commit 19ae097c62.
2014-03-01 16:46:48 +01:00
Sissors 19ae097c62 Fixed writable for LPC1768
Bit 6 (0x40) is true if the peripheral is completely empty.
Bit 5 (0x20) is true if the transmit hold register is empty, which is
sufficient for it to be writable.

The TxIrq uses the same requirement, so now it works together and
BufferedSerial doesn't go haywire on LPC1768
2014-03-01 16:38:03 +01:00
Yihui Xiong 891b63a14e add D0-D13 and A0-A5 for Arch V1.1 and Arch Pro 2014-02-26 21:15:06 +08:00
sg- 5a64111465 Merge branch 'nxp_merge'
Conflicts:
	workspace_tools/export/uvision4.py
2014-02-20 16:30:38 -06:00
Toyomasa Watarai ca527e4dd9 Corrected wrong pin names 2014-02-19 19:25:20 +09:00
Emilio Monti a2a5490f5d Merge pull request #171 from Sissors/master
Fixed LPC1114 InterruptIn for Port1 (and higher)
2014-02-18 10:19:35 +00:00
Sissors 8da53457ab Fixed LPC1114 InterruptIn for Port1 (and higher)
Channel was only calculated using bits set, port number was ignored.
2014-02-18 07:58:25 +01:00
Toyomasa Watarai 01cfe17b3d [LPC1549] Added InterruptIn support 2014-02-16 22:38:09 +09:00
ytsuboi a2f2f44258 [LPC1549] Added I2C master support 2014-02-15 18:23:06 +09:00
Toyomasa Watarai 95f4057499 [LPC1549] Added AnalogIn support 2014-02-15 15:18:35 +09:00
Toyomasa Watarai e2a47d9daa [LPC1549] Corrected wrong pin name 2014-02-14 19:14:05 +09:00
Toyomasa Watarai 5fbea95fe2 [LPC1549] Added Arduino Shield Receptacles Names 2014-02-14 16:18:48 +09:00
Toyomasa Watarai 1c2e2ce572 [LPC1549] Fixed us_ticker problem 2014-02-13 17:00:25 +09:00
Toyomasa Watarai 07706f0821 [LPC1549] Added SPI support 2014-02-13 16:52:38 +09:00
ytsuboi 78d4c7345b [LPC1549] Added UART support 2014-02-12 23:43:27 +09:00
Toyomasa Watarai 741bfc22b1 [LPC1549] Fixed GPIO
Clean-up PinNames.h and GPIOrelated functions.
2014-02-11 23:18:59 +09:00
ytsuboi e06e842221 [LPC1549] initial commit 2014-02-11 15:54:38 +09:00
Bogdan Marinescu 2665d5bac4 Modified call-before-main mechanism
Added a new function (mbed_sdk_init) that can be used by the SDK itself to
do initializations before main() is called.
2014-01-31 11:58:18 +02:00
Bogdan Marinescu 2a782f5067 Merge pull request #149 from cobrid/master
Remove unnecessary semicolons.
2014-01-31 00:55:41 -08:00
Bogdan Marinescu 6c4dc5cd33 Merge pull request #155 from sg-/c027_lpc1768_refactor
Forgot to add this file...
2014-01-31 00:54:56 -08:00
sg- 1db40f89a7 Forgot to add this file... 2014-01-30 09:55:50 -06:00
Bogdan Marinescu 6e82b54538 Merge branch 'c027_lpc1768_refactor' of git://github.com/sg-/mbed into sg--c027_lpc1768_refactor
Conflicts:
	workspace_tools/export/uvision4.py
2014-01-30 11:31:56 +02:00
sg- 28f0cf71b3 Update to macro test in board.c, remove C027.cpp(h), set default IO in mbed_main and fixed copy paste error in MBED_LPC1768 reserved_pins.h 2014-01-29 22:33:41 -06:00
sg- f1fa9a0c25 Added support for C027. Small re-factor to LPC1768 to accommodate this. 2014-01-28 20:44:32 -06: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
neilt6 8e346fc498 Fixed sleep and disabled semihosting on LPC11U35
I created 3 separate device.h headers for the three LPC11UXX targets,
and disabled the features that the LPC11U35 board doesn't have like
Semihosting and LocalFileSystem. I also made the call to
mbed_interface_disconnect() require DEVICE_SEMIHOSTING, which prevents
calls to sleep() from hanging the system on an LPC11U35.
2014-01-24 10:51:48 -07:00
ytsuboi 4fbf286ee3 [LPC812] change ssp_busy() to check RXOV 2013-12-31 20:24:46 +09:00
ytsuboi 0a11767877 [LPC812] enable SPISlave 2013-12-29 19:18:50 +09:00
Bogdan Marinescu 34a43eaa41 Merge branch 'flow_control'
Conflicts:
	workspace_tools/tests.py
2013-12-19 11:36:45 +02:00
Bogdan Marinescu bb8ed20a47 LPC1768 flow control fixes
- Disable TX buffer, this isn't compatible with the software CTS implementation
- Properly set hardware RTS/CTS pins when possible
- Modified test to use hardware CTS and software RTS
2013-12-19 11:31:23 +02:00
Yihui Xiong 6501b16213 Merge remote-tracking branch 'upstream/master' 2013-12-19 12:38:04 +08:00
Yihui Xiong a3465b5eac fix 16bit timer pwm output 2013-12-19 12:31:31 +08:00
Bogdan Marinescu 1ae5a1d340 Added pin definitions for LPC11U35 quick stard board 2013-12-13 13:35:19 +02:00
Bogdan Marinescu c3d4d3079f Added DEVICE_SERIAL_FC as an indicator for the flow control implementation 2013-12-11 10:26:18 +02:00
Bogdan Marinescu 53cd64775d Hardware flow control implementation for LPC81X 2013-12-05 17:33:16 +02:00
Bogdan Marinescu 2ac6c4c531 Fixed RTS/CTS bit-banging on LPC1768 2013-12-04 19:46:12 +02:00
Bogdan Marinescu fbeb52d613 Added RTS/CTS flow control
Currently implemented only for LPC1768. On this platform, when hardware
flow control is not directly supported, it will be emulated.
Also added "not_implemented.c" as a placeholder for various HAL functions
that might not be implemented on all platforms (in this particular case,
serial_set_flow_control). These are weak implementations that default to a
"not implemented" error message.
2013-12-04 19:42:11 +02: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 256f70fffc Merge remote-tracking branch 'origin/master' 2013-11-26 17:14:46 +02: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
Sissors 585e05ca6a Added sleep to LPC81x
http://mbed.org/users/mbed_official/code/mbed-src/pull-request/6
2013-11-21 08:19:44 +01:00
Bogdan Marinescu 5b6faea448 Removed redundant label TARGET_LPC81X_COMMON 2013-11-11 13:28:18 +02:00
Joris Aerts 76ffc4935e Fix bug in gpio_set not setting reserved pins correctly
Loop going over reserved pins was not going over all entries as result of incorrect sizeof
2013-11-08 13:39:00 -08:00
Emilio Monti 317a1f66d2 Merge pull request #91 from jorisa/master
Add CAN api filter support and LPC11CXX CAN implementation
2013-10-25 06:58:05 -07:00
Adam Green 969733ae8f serial_putc() to make better use of Tx FIFO
If don't know if this is an issue that anyone cares about.  I am also
not sure what the best way to solve it is either.  I just thought I
would issue a pull request with this commit to bring the issue to light
and show a possible solution that I have tested on my mbed-1768 device.

Previously the serial_putc() API didn't make any use of the Tx FIFO
since the serial_writable() API it utilizes only returns true when the
FIFO is completely empty.  This is due to the fact that the THRE bit of
the UART's LSR (Line Status Register) only goes high when the whole
FIFO is empty.

I noticed this when doing some performance testing with the network
stack.  I went from calling printf() to output 3 bytes every 10 seconds
(with packet drop stats) to instead output 4 bytes every 10 seconds.
I thought these should easily fit in the 16 byte FIFO but outputting
one extra byte caused an additional three 550 byte UDP packets to be
dropped.  This should only happen if the additional character being
sent to the UART was taking away extra CPU cycles from the network
stack.

My solution is to keep track of the number of bytes that have been
placed in the Tx FIFO since it was last detected as being completely
empty (via the THRE bit).  Only once this count hits 16 does the code
then block, waiting for the THRE bit to go high.  Each time the THRE
bit does go high, the count is reset to 0 again and it is incremented
for each byte that is loaded into the THR.
2013-10-25 15:17:06 +03:00
Bogdan Marinescu 544ac9e728 Disable DEVICE_STDIO_MESSAGES for LPC81X
Because the LPC81X HAL implementation calls error(), which in turn calls
fprintf(), quite a bit of code is added to the image, which is not a good
idea on such resource constrained targets.
2013-10-25 14:51:01 +03:00
Joris Aerts 739f2a6375 Add can_api hal implementation to LPC11CXX target
Most of the functionality works, interrupts might need a little more work.
2013-10-22 11:02:10 -07: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 a0a6cbe1d3 Merge branch 'master' into lpc4088 2013-10-11 14:02:59 +02:00
Andreas Rebert a574fd73b3 Bugfixes for I2C and port impl 2013-10-11 14:01:49 +02:00
Joris Aerts 7ed6acb08a Move pwmout_api.c/PeripheralNames.h to LPC11XX_11CXX common
Because CT32B1 (P1_1, P1_2 and P1_3) is used by us_ticker.c for wait and ticker function. Since wait/ticker is commonly used by mbed code and I decided CT32B1 of LPC11XX should only be used for this function, not for PwmOut.
P1_6 and P1_7 are used by UART (USBTX/USBRX) and I think they should not be assigned to other function.
2013-09-30 08:11:56 -07:00
Joris Aerts 4d0c864b16 Move adc_pinmap.h to LPC11XX_11CXX common
Merge back into analog_api.c. P1_3/ADC0_4 (SWDIO) now disabled for both targets
2013-09-30 08:07:26 -07:00
Joris Aerts e1967755a5 Move spi_pinmap.h to LPC11XX_11CXX common
Merge back into spi_api.c. P0_10/SPI_0 (SWCLK) now disabled for both targets
2013-09-27 19:10:08 -07:00
Joris Aerts e9f5c8d3ca Move README.md to LPC11XX_11CXX common 2013-09-27 18:56:11 -07:00
Joris Aerts 3fe31ad50e Move objects.h to LPC11XX_11CXX common
Use #if DEVICE_CAN for can_s definition
2013-09-27 18:53:19 -07:00
Bogdan Marinescu 8f57c1e847 Merge remote-tracking branch 'github/master' 2013-09-25 10:27:17 +01:00
Bogdan Marinescu 30907d7772 Refactor LPC1114 and LPC11C24 code
Since most of the code for LPC1114 and LPC11C24 is similar, refactor the
code structure to avoid duplication of the common code.
2013-09-25 10:17:19 +01:00
Andreas Rebert bb35d16521 Merged bugfixes and improvments for LPC1768 target to LPC4088 target 2013-09-23 11:39:52 +02:00
Emilio Monti 38ed9eb6a0 Merge pull request #72 from jorisa/master
Split uVision project source files in groups mbed/hal/src
2013-09-19 01:46:53 -07:00
Bogdan Marinescu 81b372d362 Merge pull request #73 from ytsuboi/master
Fixed LPC1114 ADC offset problem
2013-09-19 01:35:42 -07:00
Toyomasa Watarai 866858a816 Fixed LPC1114 ADC offset problem 2013-09-19 16:19:04 +09:00
Toyomasa Watarai f4bfe5aedb Revert "Fixed ADC offset problem"
This reverts commit 399acd1d6f.
2013-09-19 16:16:52 +09:00
Toyomasa Watarai 399acd1d6f Fixed ADC offset problem 2013-09-19 16:16:05 +09:00
Joris Aerts 979bba6864 Don't call mbed_interface_disconnect when DEVICE_SEMIHOST is disabled 2013-09-18 14:10:29 -07:00
Emilio Monti 96ea3db1b3 Merge pull request #66 from dinau/lpc2368_mod
LPC2368 mod
2013-09-16 08:00:20 -07:00
dinau efbc52465d LPC2368 [GCC_ARM]: Silence some warnings. 2013-09-13 22:01:21 +09:00
Emilio Monti 2481fbe2a2 Merge pull request #62 from arebert/lpc4088
LPC4088: PIN mode fix, export to external tools and MAC address retrieval
2013-09-13 05:59:14 -07:00
Erik Olieman 94ff741989 LPC1768 InterruptIn speedup
Use __CLZ to speed up GPIO interrupt processing.
2013-09-11 18:46:18 +03:00
Bogdan Marinescu 171dda705c Merge pull request #63 from jorisa/master
Fix hardfault when attaching callback to CAN2 when CAN1 is not defined
2013-09-10 03:22:55 -07:00
Joris Aerts efd3d8d8e0 Fix hardfault when attaching callback to CAN2 when CAN1 is not defined
Fault is triggered by trying to read LPC_CAN1->IER when the peripheral is powered off. Fixed by checking the power control register before checking the IER register.
2013-09-09 09:06:04 -07:00
Bogdan Marinescu cfa6a1d912 Merge pull request #61 from ytsuboi/master
Fixed problem in PWMOUT mapping table
2013-09-09 08:22:11 -07: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
Bogdan Marinescu 1f243a900c Merge remote-tracking branch 'github/master' 2013-09-09 12:31:42 +03:00
Bogdan Marinescu fded46b459 [LPC1768] Fix serial_clear
serial_clear() erroneously disabled the UART FIFOs.
Reported by Adam Green.
2013-09-09 12:28:11 +03:00
Toyomasa Watarai d0d2df3ce5 Fixed problem in PWMOUT mapping table
Fixed problem in PWMOUT output issue.
Startup code cean-up (correced exception names).
Corrected test cases.
2013-09-09 18:15:51 +09:00
Bogdan Marinescu d51411294f Merge pull request #57 from adamgreen/serialTxDropsRx
serial_putc() can cause rx bytes to be dropped
2013-09-09 01:19:29 -07:00
Joris Aerts 743e178455 Fix MASKED_ACCESS bug in gpio_init, now same as LPC11xx (Also use PIN_SHIFT instead of magic number 8 in gpio_set) 2013-09-08 18:57:40 -07:00