![]() |
LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
|
Example description
This example demonstartes the graphics example using emWin library. The example has 2 modules. The emWin graphics module implements the grpahics GUI for the application. This module also integrates touch screen driver. The graphics application can be run on M4/M0 core of LPC43xx.
The SysTick module provides the system ticks functionality in stand-alone configuration.
Special connection requirements
There are no special connection requirements for this example.
Build procedures:
LPC18xx/43xx example quickstart for Keil uVision4
LPC18xx/43xx example quickstart for IAR EWARM
LPC18xx/43xx example quickstart for Code Red Xpresso
Supported boards and board setup:
Hitex 1850 evaluation boards
Hitex 4350 evaluation boards
Keil 1857 evaluation boards
Keil 4357 evaluation boards
NGX 1830 Xplorer boards
NGX 4330 Xplorer boards
Submitting LPCOpen issues:
Community support for LPCOpen
Example description
The System tick module implements the system tick functionality for LPC43XX cores in stand-alone configuration. The system tick functions are used in emWin graphics module. For Cortex-M4 core, it will use the SysTick timer module.
For Cortex-M0 core, it uses the RITimer module.
Special connection requirements
There are no special connection requirements for this example.
Build procedures:
LPC18xx/43xx example quickstart for Keil uVision4
LPC18xx/43xx example quickstart for IAR EWARM
LPC18xx/43xx example quickstart for Code Red Xpresso
Supported boards and board setup:
Hitex 1850 evaluation boards
Hitex 4350 evaluation boards
Keil 1857 evaluation boards
Keil 4357 evaluation boards
NGX 1830 Xplorer boards
NGX 4330 Xplorer boards
Submitting LPCOpen issues:
Community support for LPCOpen
Macros | |
| #define | ID_FRAMEWIN_0 (GUI_ID_USER + 0x0A) |
| #define | ID_TEXT_0 (GUI_ID_USER + 0x0B) |
| #define | ID_BUTTON_0 (GUI_ID_USER + 0x0C) |
| #define | ID_BUTTON_1 (GUI_ID_USER + 0x0D) |
| #define | ID_BUTTON_2 (GUI_ID_USER + 0x0E) |
| #define | ID_TEXT_1 (GUI_ID_USER + 0x10) |
| #define | ID_TEXT_2 (GUI_ID_USER + 0x11) |
| #define | ID_TEXT_3 (GUI_ID_USER + 0x12) |
| #define | ID_TEXT_4 (GUI_ID_USER + 0x13) |
| #define | ID_TEXT_5 (GUI_ID_USER + 0x14) |
| #define | ID_EDIT_0 (GUI_ID_USER + 0x15) |
| #define | ID_EDIT_1 (GUI_ID_USER + 0x16) |
| #define | TSC_CHECK_DELAY (20) |
| #define | GUI_BUF_ADDR 0x28050000 |
| GUI buffers required for emwin library. | |
| #define | GUI_NUMBYTES ((1024 * 1024) * 2) |
| #define | GUI_BLOCKSIZE (0x128) |
| #define | GUI_BUF LOCATE_AT(GUI_BUF_ADDR) |
| #define | FRAME_BUF LOCATE_AT(FRAMEBUFFER_ADDR) |
| #define | TSC_CHECK_DELAY (20) |
Functions | |
| static void | lcd_update_remoteip (uint32_t new_remote_ip) |
| static void | lcd_update_values (WM_HWIN hWin_up) |
| static void | lcd_update_hostip (uint32_t host_ip) |
| void | SysTick_Enable (uint32_t period) |
| System Tick enable function. | |
| void | EVENT_lwip_http_access (uint32_t addr) |
| void | EMWIN_Init (void) |
| emWin dual core example initialisation function | |
| void | emwin_tasks (void) |
| emWin dual core example task | |
| void | SysTick_Disable (void) |
| System Tick disable function. | |
| void | SysTick_Handler (void) |
| System Tick module IRQ handler function. | |
| void | msDelay (uint32_t ms) |
| Delay function. | |
| uint32_t | sys_now (void) |
| LWIP standalone mode time support. | |
Variables | |
| volatile uint32_t | host_ip_addr |
| volatile uint32_t | remote_ip_addr |
| static volatile int | start = 0 |
| static volatile short | counter = 0 |
| static WM_HWIN | hWin |
| volatile int | tsc_init_done = 0 |
| Touch screen initialisation done flag. | |
| GUI_BUF U32 | GUI_Memory [GUI_NUMBYTES/sizeof(U32)] |
| U32 | GUI_Memory_Size = GUI_NUMBYTES |
| U32 | GUI_Block_Size = GUI_BLOCKSIZE |
| FRAME_BUF uint16_t | Frame_Buf [C_GLCD_H_SIZE *C_GLCD_V_SIZE] |
| static uint32_t | saved_period |
| static int16_t | old_tmp_x = -1 |
| static int16_t | old_tmp_y = -1 |
| volatile uint32_t | systick_timems |
| System Tick count value. | |
| volatile int | tsc_init_done |
| Touch screen initialisation done flag. | |
| uint32_t | SystemCoreClock |
| Current system clock rate, mainly used for sysTick. | |
| #define FRAME_BUF LOCATE_AT(FRAMEBUFFER_ADDR) |
Macro to locate the Frame buffer
Definition at line 165 of file dualcore_emwin.c.
| #define GUI_BLOCKSIZE (0x128) |
GUI block size
Definition at line 158 of file dualcore_emwin.c.
| #define GUI_BUF LOCATE_AT(GUI_BUF_ADDR) |
Macro to locate the GUI buffer
Definition at line 159 of file dualcore_emwin.c.
| #define GUI_BUF_ADDR 0x28050000 |
GUI buffers required for emwin library.
Start address of GUI buffer in SDRAM
Definition at line 156 of file dualcore_emwin.c.
| #define GUI_NUMBYTES ((1024 * 1024) * 2) |
Size of GUI buffer in No. of bytes
Definition at line 157 of file dualcore_emwin.c.
| #define ID_BUTTON_0 (GUI_ID_USER + 0x0C) |
Definition at line 116 of file dualcore_emwin.c.
| #define ID_BUTTON_1 (GUI_ID_USER + 0x0D) |
Definition at line 117 of file dualcore_emwin.c.
| #define ID_BUTTON_2 (GUI_ID_USER + 0x0E) |
Definition at line 118 of file dualcore_emwin.c.
| #define ID_EDIT_0 (GUI_ID_USER + 0x15) |
Definition at line 124 of file dualcore_emwin.c.
| #define ID_EDIT_1 (GUI_ID_USER + 0x16) |
Definition at line 125 of file dualcore_emwin.c.
| #define ID_FRAMEWIN_0 (GUI_ID_USER + 0x0A) |
Widget IDs used in Frame window
Definition at line 114 of file dualcore_emwin.c.
| #define ID_TEXT_0 (GUI_ID_USER + 0x0B) |
Definition at line 115 of file dualcore_emwin.c.
| #define ID_TEXT_1 (GUI_ID_USER + 0x10) |
Definition at line 119 of file dualcore_emwin.c.
| #define ID_TEXT_2 (GUI_ID_USER + 0x11) |
Definition at line 120 of file dualcore_emwin.c.
| #define ID_TEXT_3 (GUI_ID_USER + 0x12) |
Definition at line 121 of file dualcore_emwin.c.
| #define ID_TEXT_4 (GUI_ID_USER + 0x13) |
Definition at line 122 of file dualcore_emwin.c.
| #define ID_TEXT_5 (GUI_ID_USER + 0x14) |
Definition at line 123 of file dualcore_emwin.c.
| #define TSC_CHECK_DELAY (20) |
Definition at line 80 of file lpc43xx_systick.c.
| #define TSC_CHECK_DELAY (20) |
TSC status check delay
Definition at line 130 of file dualcore_emwin.c.
| void EMWIN_Init | ( | void | ) |
emWin dual core example initialisation function
The function initialises the LCD controller & Touch screen controller. It will register the IPC callbacks to receive graphics information from other processor core. In stand-alone configuration, it will also create the emWin Widget framewindow of the graphics application. This function is called by main() only when EXAMPLE_EMWIN is defined.
Definition at line 453 of file dualcore_emwin.c.
| void emwin_tasks | ( | void | ) |
emWin dual core example task
In stand-alone configuration, it will update the fields on LCD screen. In FreeRTOS/uCOS-III configurations, this will create the LCD & Touch Screen application tasks. Called by dual core main() only when EXAMPLE_EMWIN is defined.
Definition at line 541 of file dualcore_emwin.c.
| void EVENT_lwip_http_access | ( | uint32_t | addr | ) |
Definition at line 441 of file dualcore_emwin.c.
|
static |
Definition at line 214 of file dualcore_emwin.c.
|
static |
Definition at line 172 of file dualcore_emwin.c.
|
static |
Update EDIT boxes on LCD function
Definition at line 180 of file dualcore_emwin.c.
| void msDelay | ( | uint32_t | ms | ) |
Delay function.
Delay for the specified number of milliSeconds.
Millisecond Delay function.
| ms | : Delay period in milliseconds |
Definition at line 300 of file lpc43xx_systick.c.
| uint32_t sys_now | ( | void | ) |
LWIP standalone mode time support.
Definition at line 312 of file lpc43xx_systick.c.
| void SysTick_Disable | ( | void | ) |
System Tick disable function.
Definition at line 234 of file lpc43xx_systick.c.
| void SysTick_Enable | ( | uint32_t | period | ) |
System Tick enable function.
LCD appplication task function for FreeRTOS & uCOS-III
| period | : System Tick period |
Definition at line 223 of file lpc43xx_systick.c.
| void SysTick_Handler | ( | void | ) |
System Tick module IRQ handler function.
SysTick 1mS tick handler.
Definition at line 247 of file lpc43xx_systick.c.
|
static |
Definition at line 101 of file dualcore_emwin.c.
| FRAME_BUF uint16_t Frame_Buf[C_GLCD_H_SIZE *C_GLCD_V_SIZE] |
Frame buffer
Definition at line 166 of file dualcore_emwin.c.
| U32 GUI_Block_Size = GUI_BLOCKSIZE |
GUI block size
Definition at line 163 of file dualcore_emwin.c.
| GUI_BUF U32 GUI_Memory[GUI_NUMBYTES/sizeof(U32)] |
GUI buffer
Definition at line 161 of file dualcore_emwin.c.
| U32 GUI_Memory_Size = GUI_NUMBYTES |
GUI buffer size
Definition at line 162 of file dualcore_emwin.c.
| volatile uint32_t host_ip_addr |
Global variables used by emWin application
Definition at line 98 of file dualcore_emwin.c.
|
static |
Definition at line 102 of file dualcore_emwin.c.
|
static |
Definition at line 77 of file lpc43xx_systick.c.
|
static |
Definition at line 77 of file lpc43xx_systick.c.
| volatile uint32_t remote_ip_addr |
Definition at line 99 of file dualcore_emwin.c.
|
static |
Definition at line 76 of file lpc43xx_systick.c.
|
static |
Definition at line 100 of file dualcore_emwin.c.
| uint32_t SystemCoreClock |
Current system clock rate, mainly used for sysTick.
System Core rate (defined in LPC_BOARD library module)
< System Clock Frequency (Core Clock)
System Clock Frequency (Core Clock)
< System Clock Frequency (Core Clock)
System Clock Frequency (Core Clock)
Definition at line 47 of file board_nxp_xpresso_11c24.c.
| volatile uint32_t systick_timems |
System Tick count value.
Definition at line 98 of file lpc43xx_systick.c.
| volatile int tsc_init_done |
Touch screen initialisation done flag.
Touch screen initialisation done flag (defined in emWin module)
TSC Initiliation done flag
Definition at line 151 of file dualcore_emwin.c.
| volatile int tsc_init_done = 0 |
Touch screen initialisation done flag.
TSC Initiliation done flag
Definition at line 151 of file dualcore_emwin.c.