Example that shows how to use emWin. This example is based on NXP's POS demo available at lpcware.com
Dependencies: EALib ewgui mbed
Project_BlueboardPOS.cpp
- Committer:
- embeddedartists
- Date:
- 2014-04-14
- Revision:
- 2:cbf00ac63f35
- Parent:
- 0:2052561807c5
File content as of revision 2:cbf00ac63f35:
/********************************************************************* * SEGGER MICROCONTROLLER GmbH & Co. KG * * Solutions for real time microcontroller applications * ********************************************************************** * * * (c) 2003-2012 SEGGER Microcontroller GmbH & Co KG * * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** ---------------------------------------------------------------------- File : Main.c Purpose : Calls hardware initialization and application. -------- END-OF-HEADER --------------------------------------------- */ #include <stdio.h> #ifndef _WINDOWS //AR #include "lpc_i2c.h" //AR #include "lpc_pinsel.h" //AR #include "CLRC663.h" #endif #include "emwin/DIALOG.h" #include "BlueboardPOS.h" #include <stdlib.h> #ifdef __CROSSWORKS_ARM extern void __low_level_init(); // hwconf.c #endif WM_HWIN hWinOrderEntry; /* Main dialog */ WM_HWIN hWinSwipeCard; /* Dialog display when user must swipe Mifare card */ WM_HWIN hWinLastWindow; /* Saves which windows was displayed last */ WM_HWIN hWinCurrentWindow; /* Current displayed window */ WM_HWIN hWinCallBack; /* Used for callback */ uint32_t Credit; /* Credit on card */ uint8_t RFID_Cancelled; /* Flag, set it user hit Cancel button of SwipeCard dialog before card was swiped */ void ShowWindow(WM_HWIN window) { hWinLastWindow = hWinCurrentWindow; hWinCurrentWindow = window; WM_HideWindow(hWinOrderEntry); WM_HideWindow(hWinSwipeCard); WM_ShowWindow(window); } void ShowLastWindow(void) { ShowWindow(hWinLastWindow); } void MainTask(void); // Defined in SEGGERDEMO.c void displayTotal(WM_HWIN hWin); WM_HWIN GetCallbackHandle(void); /********************************************************************* * * main() */ void MainTask(void); void MainTask(void) { uint32_t Buttons; uint32_t PrevButtons = 0; uint32_t IncVal = 1000; uint32_t InitVal = 0; GUI_Init(); /* Set skinning */ BUTTON_SetDefaultSkin (BUTTON_SKIN_FLEX); CHECKBOX_SetDefaultSkin (CHECKBOX_SKIN_FLEX); DROPDOWN_SetDefaultSkin (DROPDOWN_SKIN_FLEX); FRAMEWIN_SetDefaultSkin (FRAMEWIN_SKIN_FLEX); HEADER_SetDefaultSkin (HEADER_SKIN_FLEX); PROGBAR_SetDefaultSkin (PROGBAR_SKIN_FLEX); RADIO_SetDefaultSkin (RADIO_SKIN_FLEX); SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX); SLIDER_SetDefaultSkin (SLIDER_SKIN_FLEX); // // Set some further defaults // WIDGET_SetDefaultEffect(&WIDGET_Effect_3D); FRAMEWIN_SetDefaultFont(GUI_FONT_20_ASCII); FRAMEWIN_SetDefaultTextAlign(GUI_TA_HCENTER); /* Create windows */ hWinOrderEntry = CreateOrderEntry(); hWinSwipeCard = CreateSwipeCard(); WM_EnableMemdev(hWinOrderEntry); hWinCallBack = GetCallbackHandle(); ShowWindow(hWinOrderEntry); #if 0 // AR #ifndef _WINDOWS if(InitCLRC663()) { WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_INIT_ERR); ShowWindow(hWinSwipeCard); } #endif /* _WINDOWS */ while(1) { #ifndef _WINDOWS /* Check if any of the joystick buttons has been pressed */ Buttons = LPC_GPIO2->PIN; if(!(Buttons & (1<<22)) && (PrevButtons & (1<<22))) { if(!MifareExecute(InitCard_CMD, &InitVal)) { WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Reset_OK); ShowWindow(hWinSwipeCard); GUI_Delay(500); WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Swipe); ShowLastWindow(); } } if(!(Buttons & (1<<27)) && (PrevButtons & (1<<27))) { if(!MifareExecute(IncCredit_CMD, &IncVal)) { WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Increment_OK); ShowWindow(hWinSwipeCard); GUI_Delay(500); WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Swipe); ShowLastWindow(); } } PrevButtons = Buttons; #endif /* _WINDOWS */ GUI_Delay(10); } #endif // AR }