From b24866225a6301d3a663f874725e83c012dc25d3 Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 26 Dec 2012 17:36:00 +0100 Subject: digital/beacon: add bitcloud stack into common directory digital/zigbit --- .../Components/BSP/MESHBEAN/src/bspTaskManager.c | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/bspTaskManager.c (limited to 'digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/bspTaskManager.c') diff --git a/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/bspTaskManager.c b/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/bspTaskManager.c new file mode 100644 index 00000000..d63f62da --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/bspTaskManager.c @@ -0,0 +1,121 @@ +/**************************************************************************//** +\file bspTaskManager.c + +\brief Implemenattion of BSP task manager. + +\author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2008-2011, Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + +\internal + History: + 29/05/07 E. Ivanov - Created +******************************************************************************/ +/****************************************************************************** + Includes section +******************************************************************************/ +#include +#include + +/****************************************************************************** + Prototypes section +******************************************************************************/ +/**************************************************************************//** +\brief BSP button handler. +******************************************************************************/ +void bspButtonsHandler(void); + +/**************************************************************************//** +\brief BSP lm73 handler. +******************************************************************************/ +void bspLM73Handler(void); +void bspTemperatureSensorHandler(void); + +/**************************************************************************//** +\brief BSP tsl2550 handler. +******************************************************************************/ +void bspTsl2550Handler(void); +void bspLightSensorHandler(void); + +/**************************************************************************//** +\brief BSP battery handler. +******************************************************************************/ +void bspBatteryHandler(void); +void bspEmptyBatteryHandler(void); + +/****************************************************************************** + Global variables section +******************************************************************************/ +volatile uint8_t bspTaskFlags = 0; + +/****************************************************************************** + Implementations section +******************************************************************************/ +/**************************************************************************//** +\brief BSP task handler. +******************************************************************************/ +#if APP_DISABLE_BSP != 1 + +void BSP_TaskHandler(void) +{ + if (bspTaskFlags & BSP_BUTTONS) + { + bspTaskFlags &= (~BSP_BUTTONS); + bspButtonsHandler(); + } + if (bspTaskFlags & BSP_TEMPERATURE) + { + bspTaskFlags &= (~BSP_TEMPERATURE); + bspLM73Handler(); + } + if (bspTaskFlags & BSP_LIGHT) + { + bspTaskFlags &= (~BSP_LIGHT); + bspTsl2550Handler(); + } + if (bspTaskFlags & BSP_BATTERY) + { + bspTaskFlags &= (~BSP_BATTERY); +#if BSP_MNZB_EVB_SUPPORT == 1 + bspBatteryHandler(); +#else + bspEmptyBatteryHandler(); +#endif // BSP_MNZB_EVB_SUPPORT == 1 + } + if (bspTaskFlags) + { + SYS_PostTask(BSP_TASK_ID); + } +} + +#else // APP_DISABLE_BSP != 1 + +void BSP_TaskHandler(void) +{ + if (bspTaskFlags & BSP_TEMPERATURE) + { + bspTaskFlags &= (~BSP_TEMPERATURE); + bspTemperatureSensorHandler(); + } + if (bspTaskFlags & BSP_LIGHT) + { + bspTaskFlags &= (~BSP_LIGHT); + bspLightSensorHandler(); + } + if (bspTaskFlags & BSP_BATTERY) + { + bspTaskFlags &= (~BSP_BATTERY); + bspEmptyBatteryHandler(); + } + if (bspTaskFlags) + { + SYS_PostTask(BSP_TASK_ID); + } +} + +#endif // APP_DISABLE_BSP != 1 + +// eof bspTaskManager.c -- cgit v1.2.3