Library for Mini-DK board

Dependencies:   SPI_TFT_ILI9320

Dependents:   LPC1768_Mini-DK_EasyWeb_DM9161 LPC1768_Mini-DK LPC1768_Mini-DK

Fork of Mini-DK by Frank Vannieuwkerke

Mini-DK board overview (Micro SD connector is at the bottom side)

One serial interface , uses CP2102 (USB to RS232 interface, support ISP download )

RJ45-10/100M Ethernet network interface (Ethernet PHY: DM9161)

2.8 inch TFT color LCD interface (SPI interface or 16Bit parallel interface)

Touch panel controller XPT2046 (ADS7843 compatible)

USB 2.0 interface, USB host and USB Device interface.

TF SD / MMC card (SPI) interface.

Two user buttons, One Reset button and ISP button , One INT0 button, two user-programmable LED lights

Serial ISP download, Standard 20-pin JTAG download simulation debugging interface.

Selection between external 5V power supply or USB 5V supply.

Board size: 95mm * 78mm

All IO available on extension connectors

/media/uploads/frankvnk/mini-dk_top.jpg

04/01/13

Erik Olieman (http://mbed.org/users/Sissors/) joined the code development for the Mini-DK board.

Thanks to his input, we were able to obtain a tremendous speed gain, remove warnings, ...

An overview of all modifications is stored in modifs.h

The old page (http://mbed.org/users/frankvnk/code/LPC1768_Mini-DK/) contains the demo code.

IMPORTANT : Due to a change in the mbed libraries (Stream()), we cannot use the printf instruction - we need to use <SPI_TFT>.printf (example - see main.cpp in http://mbed.org/users/frankvnk/code/LPC1768_Mini-DK/)

WARNING: filetoflash (SD to CPU flash)

The SPI_TFT library contains an option to copy an image from the SD card to the CPU flash memory. This allows you to use an image as background without speed loss when writing other text and graphics.

By default, this option is enabled.

It can be disabled by uncommenting the #define mentioned below in Mini_DK.h:

#define NO_FLASH_BUFFER

Since the flash memory has limited write endurance, DO NOT use this feature when you intend to read multiple images from the SD card (eg: when used as a photo frame).

14/01/13

A newer version of the Mini-DK has been released by the manufacturer: Mini-DK2. They replaced the DM9161 PHY with a LAN8720A PHY and better buttons are fitted on the board. All other hardware remains the same. Code for this PHY is available from the NXP MCU SW application team. This allows us to use the mbed 'EthernetInterface' library with little modifications. Further info - see http://mbed.org/forum/mbed/topic/3684/?page=1#comment-18473.

Notes:

The code in 'lpc_phy_lan8720.c' uses 'msDelay' - needs to be replaced with 'osDelay'.

A custom MAC address can be defined using following code:

extern "C" void mbed_mac_address(char * mac) {
 
// define your own MAC Address
  mac[0] = 0x00;  
  mac[1] = 0x01;  
  mac[2] = 0x02;  
  mac[3] = 0x03;  
  mac[4] = 0x04;  
  mac[5] = 0x05;           
  
};

Files at this revision

API Documentation at this revision

Comitter:
Sissors
Date:
Thu Jan 03 20:04:38 2013 +0000
Parent:
4:067633a7dfa5
Child:
6:b547fb6c1095
Commit message:
Removed warnings, added SD card definitions/macros

Changed in this revision

Mini-DK/Mini_DK.h Show annotated file Show diff for this revision Revisions of this file
Mini-DK/SPI_TFT/SPI_TFT.cpp Show annotated file Show diff for this revision Revisions of this file
Mini-DK/SPI_TFT/SPI_TFT.h Show annotated file Show diff for this revision Revisions of this file
Mini-DK/TouchADS7843/Touch.cpp Show annotated file Show diff for this revision Revisions of this file
modifs.h Show annotated file Show diff for this revision Revisions of this file
--- a/Mini-DK/Mini_DK.h	Thu Jan 03 16:28:16 2013 +0000
+++ b/Mini-DK/Mini_DK.h	Thu Jan 03 20:04:38 2013 +0000
@@ -22,3 +22,12 @@
 #define TP_SCK      P0_7
 #define TP_SDO      P0_8
 #define TP_SDI      P0_9
+
+#define SD_SDO      P1_23
+#define SD_SDI      P1_24
+#define SD_SCK      P1_20
+#define SD_CS       P1_21
+#define SD_CD       P1_25
+
+#define DISABLE_LCD_MISO    (LPC_PINCON->PINSEL1) &= ~(0x02<<2);
+#define ENABLE_LCD_MISO     (LPC_PINCON->PINSEL1) |=  (0x02<<2);
\ No newline at end of file
--- a/Mini-DK/SPI_TFT/SPI_TFT.cpp	Thu Jan 03 16:28:16 2013 +0000
+++ b/Mini-DK/SPI_TFT/SPI_TFT.cpp	Thu Jan 03 20:04:38 2013 +0000
@@ -14,7 +14,7 @@
 
 
 SPI_TFT::SPI_TFT(PinName mosi, PinName miso, PinName sclk, PinName cs, const char *name)
-    : _spi(mosi, miso, sclk), _cs(cs), GraphicsDisplay(name)
+    : GraphicsDisplay(name), _spi(mosi, miso, sclk), _cs(cs)
 {
     char_x = 0;
     tft_reset();
@@ -236,7 +236,7 @@
 }
 
 
-void SPI_TFT::window(unsigned int x, unsigned int y, unsigned int w, unsigned int h)
+void SPI_TFT::window(int x, int y, int w, int h)
 {
     unsigned int xw1, yh1;
     xw1 = x + w - 1;
--- a/Mini-DK/SPI_TFT/SPI_TFT.h	Thu Jan 03 16:28:16 2013 +0000
+++ b/Mini-DK/SPI_TFT/SPI_TFT.h	Thu Jan 03 20:04:38 2013 +0000
@@ -277,7 +277,7 @@
    * @param w window width in pixel
    * @param h window height in pixels
    */
-  void window (unsigned int x, unsigned int y, unsigned int w, unsigned int h);
+  virtual void window (int x, int y, int w, int h);
 
   /** Init the ILI9320 controller
    *
--- a/Mini-DK/TouchADS7843/Touch.cpp	Thu Jan 03 16:28:16 2013 +0000
+++ b/Mini-DK/TouchADS7843/Touch.cpp	Thu Jan 03 20:04:38 2013 +0000
@@ -19,7 +19,7 @@
 #define THRESHOLD 2
 
 TouchScreenADS7843::TouchScreenADS7843(PinName tp_mosi, PinName tp_miso, PinName tp_sclk, PinName tp_cs, PinName tp_irq, SPI_TFT *_LCD)
-        : _tp_spi(tp_mosi, tp_miso, tp_sclk), _tp_cs(tp_cs), _tp_irq(tp_irq), LCD(_LCD)
+        : LCD(_LCD), _tp_spi(tp_mosi, tp_miso, tp_sclk), _tp_cs(tp_cs), _tp_irq(tp_irq)
         {
             DisplaySample[0].x=45;
             DisplaySample[0].y=45;
--- a/modifs.h	Thu Jan 03 16:28:16 2013 +0000
+++ b/modifs.h	Thu Jan 03 20:04:38 2013 +0000
@@ -50,6 +50,18 @@
                     in Touch.h - unsigned char Read_Ads7846(Coordinate * screenPtr); replaced with
                                  unsigned char Read_Ads7846(Coordinate * screenPtr = NULL);
                     in Touch.cpp - if (screenPtr == NULL) screenPtr = &screen; added.
+      
+      
+      
+      General cleaning:
+      SPI_TFT::window function changed to use ints instead of unsigned ints, and made virtual to remove warnings.
+      In SPI_TFT.cpp GraphicsDiplay initialization moved to front to remove warnings
+      In Touch.cpp TFT pointer initialization moved to front to remove warnings
+      
+      In Mini_DK.h
+      ------------
+      Added SD card pins
+      Added two macros to enable/disable the LCD MISO pin, allowing use of both SD card and LCD
 
 
 General notes