openchronos-ng
opensource firmware for the ez430 chronos
battery.h
00001 /***************************************************************************
00002 
00003         Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/
00004 
00005 
00006           Redistribution and use in source and binary forms, with or without
00007           modification, are permitted provided that the following conditions
00008           are met:
00009 
00010             Redistributions of source code must retain the above copyright
00011             notice, this list of conditions and the following disclaimer.
00012 
00013             Redistributions in binary form must reproduce the above copyright
00014             notice, this list of conditions and the following disclaimer in the
00015             documentation and/or other materials provided with the
00016             distribution.
00017 
00018             Neither the name of Texas Instruments Incorporated nor the names of
00019             its contributors may be used to endorse or promote products derived
00020             from this software without specific prior written permission.
00021 
00022           THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023           "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024           LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00025           A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00026           OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00027           SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00028           LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00029           DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00030           THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00031           (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00032           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033 
00034 ****************************************************************************/
00035 
00036 #ifndef __BATTERY_H__
00037 #define __BATTERY_H__
00038 
00039 #include <openchronos.h>
00040 
00041 void battery_measurement_reset(void);
00042 void battery_measurement(void);
00043 
00044 /* Battery high voltage threshold */
00045 #define BATTERY_HIGH_THRESHOLD                  (360u)
00046 
00047 /* Battery end of life voltage threshold -> disable radio,
00048    show "lobatt" message */
00049 #define BATTERY_LOW_THRESHOLD                   (240u)
00050 
00051 /* Where we consider the battery full */
00052 #define BATTERY_FULL_THRESHOLD                  (300u)
00053 
00054 /* Where we consider the battery empty */
00055 #define BATTERY_EMPTY_THRESHOLD                 (220u)
00056 
00057 struct {
00058         /* Battery voltage */
00059         uint16_t voltage;
00060 
00061         /* Battery voltage offset */
00062         int16_t offset;
00063 } battery_info;
00064 
00065 #endif /* __BATTERY_H__ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines