Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: BatteryPanel.cpp
- Revision:
- 0:0da335319419
--- /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;
+}
+
+
