The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 2 /*!
AnnaBridge 171:3a7713b1edbc 3 * \file wsf_os_int.h
AnnaBridge 171:3a7713b1edbc 4 *
AnnaBridge 171:3a7713b1edbc 5 * \brief Software foundation OS platform-specific interface file.
AnnaBridge 171:3a7713b1edbc 6 *
AnnaBridge 171:3a7713b1edbc 7 * $Date: 2012-10-01 13:53:07 -0700 (Mon, 01 Oct 2012) $
AnnaBridge 171:3a7713b1edbc 8 * $Revision: 357 $
AnnaBridge 171:3a7713b1edbc 9 *
AnnaBridge 171:3a7713b1edbc 10 * Copyright (c) 2009 Wicentric, Inc., all rights reserved.
AnnaBridge 171:3a7713b1edbc 11 * Wicentric confidential and proprietary.
AnnaBridge 171:3a7713b1edbc 12 *
AnnaBridge 171:3a7713b1edbc 13 * IMPORTANT. Your use of this file is governed by a Software License Agreement
AnnaBridge 171:3a7713b1edbc 14 * ("Agreement") that must be accepted in order to download or otherwise receive a
AnnaBridge 171:3a7713b1edbc 15 * copy of this file. You may not use or copy this file for any purpose other than
AnnaBridge 171:3a7713b1edbc 16 * as described in the Agreement. If you do not agree to all of the terms of the
AnnaBridge 171:3a7713b1edbc 17 * Agreement do not use this file and delete all copies in your possession or control;
AnnaBridge 171:3a7713b1edbc 18 * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior
AnnaBridge 171:3a7713b1edbc 19 * to any use, copying or further distribution of this software.
AnnaBridge 171:3a7713b1edbc 20 */
AnnaBridge 171:3a7713b1edbc 21 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 22 #ifndef WSF_OS_INT_H
AnnaBridge 171:3a7713b1edbc 23 #define WSF_OS_INT_H
AnnaBridge 171:3a7713b1edbc 24
AnnaBridge 171:3a7713b1edbc 25 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 26 extern "C" {
AnnaBridge 171:3a7713b1edbc 27 #endif
AnnaBridge 171:3a7713b1edbc 28
AnnaBridge 171:3a7713b1edbc 29 /**************************************************************************************************
AnnaBridge 171:3a7713b1edbc 30 Macros
AnnaBridge 171:3a7713b1edbc 31 **************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 32
AnnaBridge 171:3a7713b1edbc 33 /* Task events */
AnnaBridge 171:3a7713b1edbc 34 #define WSF_MSG_QUEUE_EVENT 0x01 /* Message queued for event handler */
AnnaBridge 171:3a7713b1edbc 35 #define WSF_TIMER_EVENT 0x02 /* Timer expired for event handler */
AnnaBridge 171:3a7713b1edbc 36 #define WSF_HANDLER_EVENT 0x04 /* Event set for event handler */
AnnaBridge 171:3a7713b1edbc 37
AnnaBridge 171:3a7713b1edbc 38 /* Derive task from handler ID */
AnnaBridge 171:3a7713b1edbc 39 #define WSF_TASK_FROM_ID(handlerID) (((handlerID) >> 4) & 0x0F)
AnnaBridge 171:3a7713b1edbc 40
AnnaBridge 171:3a7713b1edbc 41 /* Derive handler from handler ID */
AnnaBridge 171:3a7713b1edbc 42 #define WSF_HANDLER_FROM_ID(handlerID) ((handlerID) & 0x0F)
AnnaBridge 171:3a7713b1edbc 43
AnnaBridge 171:3a7713b1edbc 44 /**************************************************************************************************
AnnaBridge 171:3a7713b1edbc 45 Data Types
AnnaBridge 171:3a7713b1edbc 46 **************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 47
AnnaBridge 171:3a7713b1edbc 48 /* Event handler ID data type */
AnnaBridge 171:3a7713b1edbc 49 typedef uint8_t wsfHandlerId_t;
AnnaBridge 171:3a7713b1edbc 50
AnnaBridge 171:3a7713b1edbc 51 /* Event handler event mask data type */
AnnaBridge 171:3a7713b1edbc 52 typedef uint8_t wsfEventMask_t;
AnnaBridge 171:3a7713b1edbc 53
AnnaBridge 171:3a7713b1edbc 54 /* Task ID data type */
AnnaBridge 171:3a7713b1edbc 55 typedef wsfHandlerId_t wsfTaskId_t;
AnnaBridge 171:3a7713b1edbc 56
AnnaBridge 171:3a7713b1edbc 57 /* Task event mask data type */
AnnaBridge 171:3a7713b1edbc 58 typedef uint8_t wsfTaskEvent_t;
AnnaBridge 171:3a7713b1edbc 59
AnnaBridge 171:3a7713b1edbc 60 /**************************************************************************************************
AnnaBridge 171:3a7713b1edbc 61 Function Declarations
AnnaBridge 171:3a7713b1edbc 62 **************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 63
AnnaBridge 171:3a7713b1edbc 64 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 65 /*!
AnnaBridge 171:3a7713b1edbc 66 * \fn wsfOsReadyToSleep
AnnaBridge 171:3a7713b1edbc 67 *
AnnaBridge 171:3a7713b1edbc 68 * \brief Check if WSF is ready to sleep.
AnnaBridge 171:3a7713b1edbc 69 *
AnnaBridge 171:3a7713b1edbc 70 * \param None.
AnnaBridge 171:3a7713b1edbc 71 *
AnnaBridge 171:3a7713b1edbc 72 * \return Return TRUE if there are no pending WSF task events set, FALSE otherwise.
AnnaBridge 171:3a7713b1edbc 73 */
AnnaBridge 171:3a7713b1edbc 74 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 75 bool_t wsfOsReadyToSleep(void);
AnnaBridge 171:3a7713b1edbc 76
AnnaBridge 171:3a7713b1edbc 77 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 78 /*!
AnnaBridge 171:3a7713b1edbc 79 * \fn wsfOsDispatcher
AnnaBridge 171:3a7713b1edbc 80 *
AnnaBridge 171:3a7713b1edbc 81 * \brief Event dispatched. Designed to be called repeatedly from infinite loop.
AnnaBridge 171:3a7713b1edbc 82 *
AnnaBridge 171:3a7713b1edbc 83 * \param None.
AnnaBridge 171:3a7713b1edbc 84 *
AnnaBridge 171:3a7713b1edbc 85 * \return None.
AnnaBridge 171:3a7713b1edbc 86 */
AnnaBridge 171:3a7713b1edbc 87 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 88 void wsfOsDispatcher(void);
AnnaBridge 171:3a7713b1edbc 89
AnnaBridge 171:3a7713b1edbc 90 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 91 /*!
AnnaBridge 171:3a7713b1edbc 92 * \fn WsfOsShutdown
AnnaBridge 171:3a7713b1edbc 93 *
AnnaBridge 171:3a7713b1edbc 94 * \brief Shutdown OS.
AnnaBridge 171:3a7713b1edbc 95 *
AnnaBridge 171:3a7713b1edbc 96 * \return None.
AnnaBridge 171:3a7713b1edbc 97 */
AnnaBridge 171:3a7713b1edbc 98 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 99 void WsfOsShutdown(void);
AnnaBridge 171:3a7713b1edbc 100
AnnaBridge 171:3a7713b1edbc 101 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 102 };
AnnaBridge 171:3a7713b1edbc 103 #endif
AnnaBridge 171:3a7713b1edbc 104
AnnaBridge 171:3a7713b1edbc 105 #endif /* WSF_OS_INT_H */