AskSin++
Public Member Functions | Static Public Member Functions | List of all members
as::IrqInternalBatt Class Reference

#include <BatterySensor.h>

Inheritance diagram for as::IrqInternalBatt:
Inheritance graph
[legend]
Collaboration diagram for as::IrqInternalBatt:
Collaboration graph
[legend]

Public Member Functions

 IrqInternalBatt ()
 
 ~IrqInternalBatt ()
 
void init (__attribute__((unused)) uint32_t period, __attribute__((unused)) AlarmClock &clock)
 
void setIdle ()
 
void unsetIdle ()
 
- Public Member Functions inherited from as::IrqBaseBatt
uint8_t current () const
 
bool critical () const
 
void critical (uint8_t value)
 
bool low () const
 
void low (uint8_t value)
 
uint16_t voltageHighRes ()
 for backward compatibility
 
uint8_t voltage ()
 for backward compatibility
 
void resetCurrent ()
 reset current battery value
 

Static Public Member Functions

static uint16_t irq ()
 

Additional Inherited Members

- Protected Member Functions inherited from as::IrqBaseBatt
void setIdle ()
 
void unsetIdle (uint16_t(*irqfunc)())
 
- Static Protected Member Functions inherited from as::IrqBaseBatt
static void __vectorfunc () __asm__("__vector_24") __attribute__((__signal__
 
static void __vectorfunc () __asm__("__vector_21") __attribute__((__signal__
 
- Protected Attributes inherited from as::IrqBaseBatt
uint8_t m_Low
 value for low battery
 
uint8_t m_Critical
 value for critical battery
 
uint8_t m_BatSkip
 
static void __used__
 
static void __externally_visible__
 
- Static Protected Attributes inherited from as::IrqBaseBatt
static volatile uint16_t __gb_BatCurrent = 0
 
static volatile uint8_t __gb_BatCount = 0
 
static uint16_t(* __gb_BatIrq )()
 

Detailed Description

IrqInternalBatt class uses continue measurement in background. It uses the ADC and IRQ to get battery voltage during normal operation. If a device needs to sample analog values, it has to call setIdle() before and unsetIdle() after analogRead().

Definition at line 402 of file BatterySensor.h.

Constructor & Destructor Documentation

◆ IrqInternalBatt()

as::IrqInternalBatt::IrqInternalBatt ( )
inline

Constructor

Definition at line 407 of file BatterySensor.h.

◆ ~IrqInternalBatt()

as::IrqInternalBatt::~IrqInternalBatt ( )
inline

Destructor

Definition at line 410 of file BatterySensor.h.

Member Function Documentation

◆ init()

void as::IrqInternalBatt::init ( __attribute__((unused)) uint32_t  period,
__attribute__((unused)) AlarmClock clock 
)
inline

init measurement with period and used clock

Parameters
periodticks until next measurement
clockclock to use for waiting

Definition at line 415 of file BatterySensor.h.

◆ irq()

static uint16_t as::IrqInternalBatt::irq ( )
inlinestatic

ISR function to get current measured value

Definition at line 447 of file BatterySensor.h.

◆ setIdle()

void as::IrqInternalBatt::setIdle ( )
inline

Disable the continues battery measurement Called by HAL before enter idle/sleep state Call this before your application code uses the ADC.

Definition at line 424 of file BatterySensor.h.

◆ unsetIdle()

void as::IrqInternalBatt::unsetIdle ( )
inline

Enable the continues measurement of the battery voltage Called by HAL after return from idle/sleep state Call this after the application doesn't need ADC longer

Definition at line 432 of file BatterySensor.h.