Activated the I2CSlave functions. Slave block read/write operations are fully supported. The slave byte read and writes need general modification to I2CSlave.cpp. See pending Issue.
Activated the PWM functions. They are supported now using the SCT after updating us_ticker() to use the MRT instead of the SCT.
Added PWM support for the LPC812 using the SCT. Code was ported from LPC824 libs.
First needed to modify us_ticker() to free up the SCT and use the MRT instead.
PWM can support a maximum of 4 channels using any portpin. All channels will use the same period.
Disabled DEVICE_I2CSLAVE option for LPC812 until the dedicated i2c_slave_byte_read() and i2c_slave_byte_write() functions have been added for all platforms.
Added support for I2C Slave block read, block write and byte read and write. The slave address can be set and the general call address is automatically enabled. Note that the lpc812, lpc824 and lpc1549 have the same I2C engine. This new engine is very different from the lpc1768 and other NXP mbeds. The newer engine has separate controls for Master and Slave functions and they can be enable at the same time. Note that currently the lib does not support multi-master (arbitration lost is not handled).
Fixed the incorrect clocksource for the baud generator. Should be MainClock instead of SystemCoreClock. This also allows the correct use of the PLL for MainClock and SystemCoreClock without breaking the serial baudrate.
Quick fix of block read and write. The i2c_start is still wrong: it
should setup the address before initiating a Start condition. Status
read is also wrong in i2c_do_read.
If user set P0_0 as DigitalOut and set it to low, LPC1114 will be in
reset condion. To avoid this situation, p4, xp4 and dp23 was removed
from PinNames.h.
Y5 Design LLC Interface Board
LPC11u35 from NXP
Low Power, ARM(r) Cortex-M0 suitable for a wide range of applications
On-Chip Bootloader - In-System programming (ISP) and in-application programming (IAP)
ROM-based USB drivers - Flash updates via USB supported
SPI, GPIO, i2C, UART, ADC
3x LEDs, Reset Button
3.3V powered via USB or external
USB interface - shipped with USB-A, male connector, pads for Micro female
- Fix a bug reported here:
https://developer.mbed.org/questions/4872/SPISlave-Class-dosnt-work-on-LPC1114/
- Add IOCON settings to enable proper pin functions
- Remove non-busy check in slave_receive() function, since the SSP/SPI
is always in busy state when received a valid data according to the
device user manual
- Add bit mask in spi_slave_read() function
- Add TARGET_LPC1114 pin config in SPI_SLAVE test
- Tested with LPC11U24 SPI master and LPC1114 SPI slave
Basically, this is same fix as
https://github.com/mbedmicro/mbed/pull/633
* Fix issue by handling interrupt type (TxIrq and RxIrq)
* ISR now correctly refers INTSTAT instead of STAT to get interrupt
cause
* Disable interrupt when updating vector table
* Tested by issue #616 test cases and serial_interrupt test
* Fix USART2 base address offset
* Fix issue by handling interrupt type (TxIqr and RxIrq)
* ISR now correctly refers INTSTAT instead of STAT to get interrupt
cause
* Disable interupt when update vector table
* Tested by issue #616 test cases and serial_interrupt test
- Fix SPI ch1 switch matrix table value - detected by SPI_MASTER test
case
- Add LPC824 pinout for some test cases
- [LPC824] spi_api.c code refactoring