BatteryPanel

BatteryPanel.cpp

Committer:
williequesada
Date:
2019-06-04
Revision:
0:0da335319419

File content as of revision 0:0da335319419:

#include "BatteryPanel.h"
#include "mbed.h"

float ValorLectura;
float ValorCalculado;
float ValorCalculado2;
float ValorCalculado3;
int BatteryState=1;

BATTERY_PANEL::BATTERY_PANEL(PinName AnalogBattery, PinName AnalogPanel, PinName Control) : _AnalogBattery(AnalogBattery), _AnalogPanel(AnalogPanel), _Control(Control)
{
    _Control = 0;
}

float BATTERY_PANEL::BatteryRead()
{
    ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado = ValorLectura*23;    // Converts value in the 0V-3.3V range       
    return ValorCalculado;
}

float BATTERY_PANEL::PanelRead()
{
    ValorLectura = _AnalogPanel.read();   // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado = ValorLectura*23;    // Converts value in the 0V-3.3V range
    return ValorCalculado;
}

float BATTERY_PANEL::BatteryAnalog()
{
    ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado = ValorLectura*3.3;    // Converts value in the 0V-3.3V range       
    return ValorCalculado;
}

float BATTERY_PANEL::PanelAnalog()
{
    ValorLectura = _AnalogPanel.read();   // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado = ValorLectura*3.3;    // Converts value in the 0V-3.3V range
    return ValorCalculado;
}

int BATTERY_PANEL::Control()
{
    ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado = ValorLectura*23;
    
    ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado2= ValorLectura*23;
    
    ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
    ValorCalculado3 = ValorLectura*23;
    
    if(ValorCalculado2>ValorCalculado){
        ValorCalculado=ValorCalculado2;
    }
    if(ValorCalculado3>ValorCalculado){
        ValorCalculado=ValorCalculado3;
    }

    if(ValorCalculado>15){
        _Control=0;
        BatteryState=2;
    } else if((ValorCalculado<=15)&&(ValorCalculado>=12)){
        _Control=1;
        BatteryState=1;
    } else if(ValorCalculado<12){
        _Control=1;
        BatteryState=0;
    }    
    return BatteryState;
}

void BATTERY_PANEL::ControlOff(){
    _Control=0;
}

void BATTERY_PANEL::ControlOn(){
    _Control=1;
}