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 --- .../stack/Components/BSP/MESHBEAN/src/sensors.c | 196 +++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/sensors.c (limited to 'digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/sensors.c') diff --git a/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/sensors.c b/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/sensors.c new file mode 100644 index 00000000..7e0eae1c --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/BSP/MESHBEAN/src/sensors.c @@ -0,0 +1,196 @@ +/**************************************************************************//** +\file sensors.h + +\brief Implementation of sensors interface. + +\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: + 12/05/08 A. Khromykh - Created +*******************************************************************************/ +#if APP_DISABLE_BSP != 1 + +/****************************************************************************** + Includes section +******************************************************************************/ +#include +#include +#include +#include +#include + +/****************************************************************************** + Implementations section +******************************************************************************/ +/***************************************************************************//** +\brief Opens temperature sensor. + +\return + BC_FAIL - sensor has been already open. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_OpenTemperatureSensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = openLm73())) + { +#if BSP_MNZB_EVB_SUPPORT == 1 + bspOnPeriphery(SENSOR_TEMPERATURE); +#endif /* BSP_MNZB_EVB_SUPPORT */ + } + return result; +} + +/***************************************************************************//** +\brief Closes the temperature sensor. + +\return + BC_FAIL - if a hardware error has occured or + there is uncompleted ReadData request. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_CloseTemperatureSensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = closeLm73())) + { +#if BSP_MNZB_EVB_SUPPORT == 1 + bspOffPeriphery(SENSOR_TEMPERATURE); +#endif /* BSP_MNZB_EVB_SUPPORT */ + } + return result; +} + +/**************************************************************************//** +\brief Reads data from the temperature sensor. +\param[in] + result - the result of the requested operation. + true - operation finished successfully, false - some error has + occured. +\param[in] + data - sensor data. +\return + BC_FAIL - previous request was not completed. \n + BC_SUCCESS - otherwise. +******************************************************************************/ +result_t BSP_ReadTemperatureData(void (*f)(bool result, int16_t data)) +{ + return readLm73Data(f); +} + +/***************************************************************************//** +\brief Opens the light sensor. +\return + BC_FAIL - sensor has been already open. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_OpenLightSensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = openTsl2550())) + { +#if BSP_MNZB_EVB_SUPPORT == 1 + bspOnPeriphery(SENSOR_LIGHT); +#endif /* BSP_MNZB_EVB_SUPPORT */ + } + return result; +} + +/***************************************************************************//** +\brief Closes the light sensor. +\return + BC_FAIL - if a hardware error has occured or + there is uncompleted ReadData request. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_CloseLightSensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = closeTsl2550())) + { +#if BSP_MNZB_EVB_SUPPORT == 1 + bspOffPeriphery(SENSOR_LIGHT); +#endif /* BSP_MNZB_EVB_SUPPORT */ + } + return result; +} + +/**************************************************************************//** +\brief Reads data from the light sensor. +\param[in] + result - the result of the requested operation. + true - operation finished successfully, false - some error has + occured. +\param[in] + data - sensor data. +\return + BC_FAIL - previous request was not completed. \n + BC_SUCCESS - otherwise. +******************************************************************************/ +result_t BSP_ReadLightData(void (*f)(bool result, int16_t data)) +{ + return readTsl2550Data(f); +} + +#if BSP_MNZB_EVB_SUPPORT == 1 +/***************************************************************************//** +\brief Opens the battery sensor. +\return + BC_FAIL - sensor has been already open. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_OpenBatterySensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = openBattery())) + { + bspOnPeriphery(SENSOR_BATTERY); + } + return result; +} + +/***************************************************************************//** +\brief Closes the battery sensor. +\return + BC_FAIL - sensor was not opened. \n + BC_SUCCESS - otherwise. +*******************************************************************************/ +result_t BSP_CloseBatterySensor(void) +{ + result_t result; + + if (BC_SUCCESS == (result = closeBattery())) + { + bspOffPeriphery(SENSOR_BATTERY); + } + return result; +} + +/**************************************************************************//** +\brief Reads data from battery sensor. +\param[in] + data - sensor data. +\return + BC_FAIL - previous request was not completed, or sensor was not opened. \n + BC_SUCCESS - otherwise. +******************************************************************************/ +result_t BSP_ReadBatteryData(BspBatteryCb_t cb) +{ + return readBatteryData(cb); +} +#endif /* BSP_MNZB_EVB_SUPPORT */ + +#endif // APP_DISABLE_BSP != 1 + +//end of sensors.c -- cgit v1.2.3