Josh Bam
/
CITY3032-Template
Template for working forward
emwin_config/GUI_X_Mbed.cpp
- Committer:
- joshbam
- Date:
- 2021-10-20
- Revision:
- 5:a7f8c11020f7
- Parent:
- 1:402b32a1025f
File content as of revision 5:a7f8c11020f7:
/********************************************************************* * 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 ****************************/