Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: emwin_config/GUI_X_Mbed.cpp
- Revision:
- 0:4ad2c16b6e43
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emwin_config/GUI_X_Mbed.cpp Fri Aug 09 23:18:24 2019 +0000
@@ -0,0 +1,158 @@
+/*********************************************************************
+* SEGGER Microcontroller GmbH *
+* Solutions for real time microcontroller applications *
+**********************************************************************
+* *
+* (c) 1996 - 2018 SEGGER Microcontroller GmbH *
+* *
+* Internet: www.segger.com Support: support@segger.com *
+* *
+**********************************************************************
+
+** emWin V5.48 - Graphical user interface for embedded applications **
+All Intellectual Property rights in the Software belongs to SEGGER.
+emWin is protected by international copyright laws. Knowledge of the
+source code may not be used to write a similar product. This file may
+only be used in accordance with the following terms:
+
+The software has been licensed to Cypress Semiconductor Corporation,
+whose registered office is situated at 198 Champion Ct. San Jose, CA
+95134 USA solely for the purposes of creating libraries for Cypress
+PSoC3 and PSoC5 processor-based devices, sublicensed and distributed
+under the terms and conditions of the Cypress End User License
+Agreement.
+Full source code is available at: www.segger.com
+
+We appreciate your understanding and fairness.
+----------------------------------------------------------------------
+Licensing information
+Licensor: SEGGER Microcontroller Systems LLC
+Licensed to: Cypress Semiconductor Corp, 198 Champion Ct., San Jose, CA 95134, USA
+Licensed SEGGER software: emWin
+License number: GUI-00319
+License model: Services and License Agreement, signed June 10th, 2009
+Licensed platform: Any Cypress platform (Initial targets are: PSoC3, PSoC5)
+----------------------------------------------------------------------
+Support and Update Agreement (SUA)
+SUA period: 2009-06-12 - 2022-07-27
+Contact to extend SUA: sales@segger.com
+----------------------------------------------------------------------
+File : GUI_X_Mbed.c
+Purpose : Config / System dependent externals for GUI
+---------------------------END-OF-HEADER------------------------------
+*/
+
+#include <stdio.h>
+#include "mbed.h"
+
+extern "C" {
+ #include "GUI.h"
+}
+
+/*********************************************************************
+*
+* Global data
+*/
+
+Ticker emwin_ticker;
+Mutex emwin_mutex;
+volatile GUI_TIMER_TIME timeMS = 0;
+
+/*********************************************************************
+*
+* Public code
+*
+**********************************************************************
+*/
+/*********************************************************************
+*
+* Timing:
+* GUI_X_GetTime()
+* GUI_X_Delay(int)
+
+ Some timing dependent routines require a GetTime
+ and delay function. Default time unit (tick), normally is
+ 1 ms.
+*/
+
+GUI_TIMER_TIME GUI_X_GetTime(void)
+{
+ return timeMS;
+}
+
+void GUI_X_Delay(int ms)
+{
+ wait_ms(ms);
+}
+
+/*********************************************************************
+*
+* GUI_X_ExecIdle()
+*
+*/
+void GUI_X_ExecIdle(void)
+{
+ wait_ms(1);
+}
+
+/*********************************************************************
+*
+* Multitasking:
+*
+* GUI_X_InitOS()
+* GUI_X_GetTaskId()
+* GUI_X_Lock()
+* GUI_X_Unlock()
+*
+* Note:
+* The following routines are required only if emWin is used in a
+* true multi task environment, which means you have more than one
+* thread using the emWin API.
+* In this case the
+* #define GUI_OS 1
+* needs to be in GUIConf.h
+*/
+void GUI_X_InitOS(void) {}
+void GUI_X_Unlock(void) { emwin_mutex.unlock(); }
+void GUI_X_Lock(void) { emwin_mutex.lock(); }
+U32 GUI_X_GetTaskId(void) { return 0; }
+
+/*********************************************************************
+*
+* Logging: OS dependent
+
+Note:
+ Logging is used in higher debug levels only. The typical target
+ build does not use logging and does therefor not require any of
+ the logging routines below. For a release build without logging
+ the routines below may be eliminated to save some space.
+ (If the linker is not function aware and eliminates unreferenced
+ functions automatically)
+
+*/
+
+void GUI_X_Log (const char *s) { GUI_USE_PARA(s); }
+void GUI_X_Warn (const char *s) { GUI_USE_PARA(s); }
+void GUI_X_ErrorOut(const char *s) { GUI_USE_PARA(s); }
+
+void ticker_handler(void)
+{
+ timeMS++;
+}
+
+/*********************************************************************
+*
+* GUI_X_Init()
+*
+* Note:
+* This routine is called from GUI_Init() in any case whether there
+* is an RTOS or not. You can use it for additional initializations
+* needed.
+*/
+
+void GUI_X_Init(void)
+{
+ emwin_ticker.attach(&ticker_handler, 0.001);
+}
+
+/*************************** End of file ****************************/