BatteryPanel

Files at this revision

API Documentation at this revision

Comitter:
williequesada
Date:
Tue Jun 04 16:02:10 2019 +0000
Commit message:
compartir a Pablo

Changed in this revision

BatteryPanel.cpp Show annotated file Show diff for this revision Revisions of this file
BatteryPanel.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BatteryPanel.cpp	Tue Jun 04 16:02:10 2019 +0000
@@ -0,0 +1,82 @@
+#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;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BatteryPanel.h	Tue Jun 04 16:02:10 2019 +0000
@@ -0,0 +1,27 @@
+
+#ifndef MBED_BATTERYPANEL_H
+#define MBED_BATTERYPANEL_H
+ 
+#include "mbed.h"
+ 
+class BATTERY_PANEL {
+public:
+    BATTERY_PANEL(PinName AnalogBattery, PinName AnalogPanel, PinName Control);
+
+    float  PanelRead();
+    float  BatteryRead();
+    float  PanelAnalog();
+    float  BatteryAnalog();
+    int    Control();
+    void   ControlOn();
+    void   ControlOff();
+  
+private:  
+    AnalogIn       _AnalogBattery;
+    AnalogIn       _AnalogPanel;
+    DigitalOut     _Control;
+};
+ 
+#endif
+ 
+ 
\ No newline at end of file