Skip to content

Commit

Permalink
refactor: voltaje >> battery
Browse files Browse the repository at this point in the history
  • Loading branch information
jhon-p16 committed May 7, 2021
1 parent 00adc8e commit d0f468a
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 46 deletions.
55 changes: 21 additions & 34 deletions src/BslibEnergyMeter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,41 @@
/**
* @brief Configuracion de los pines del sensor de corriente
*
* @param _inPinCurrent pin analógico Vout del sensor
* @param _inPinCurrent pin analógico Vout del sensor de voltaje
* @param _inPinCurrentRef pin analógico Vref del sensor
* @param _factorCurrent factor de sensiblidad del sensor
*/
void BslibEnergyMeter::SensorCurrent(unsigned int _inPinCurrent, unsigned int _inPinCurrentRef, float _factorCurrent)
void BslibEnergyMeter::SetSensorCurrent(unsigned int _inPinCurrent, unsigned int _inPinCurrentRef, float _factorCurrent)
{
inPinCurrent = _inPinCurrent;
inPinCurrentRef = _inPinCurrentRef;
factorCurrent = _factorCurrent;
}

/**
* @brief Configuracion de los pines del sensor de bateria
* @brief Configuracion de los pines del sensor de voltaje
*
* @param _inPinBatt pin analógico de sensor de bateria
* @param _factorBatt factor de sensiblidad del sensor
* @param _offsetBatt compensacion para obtener voltaje real
* @param _inPinVoltage pin analógico de Vout de sensor de voltaje
* @param _factorVoltage factor de sensiblidad del sensor
* @param _offsetVoltage compensacion para obtener voltaje real
*/
void BslibEnergyMeter::SensorBattery(unsigned int _inPinBatt, float _factorBatt, float _offsetBatt)
void BslibEnergyMeter::SetSensorVoltage(unsigned int _inPinVoltage, float _factorVoltage, float _offsetVoltage = 0)
{
inPinBatt = _inPinBatt;
factorBatt = _factorBatt;
offsetBatt = _offsetBatt;
inPinVoltage = _inPinVoltage;
factorVoltage = _factorVoltage;
offsetVoltage = _offsetVoltage;
}

/**
* @brief Configuracion de los pines del seguidor de voltaje
* @brief Configuracion de los pines del sensor de voltaje
*
* @param _inPinVolt pin analógico del sensor
* @param _factorVolt factor de sensiblidad del sensor
* @param _inPinVoltage pin analógico de sensor de voltaje
* @param _factorVoltage factor de sensiblidad del sensor
*/
void BslibEnergyMeter::SensorVoltage(unsigned int _inPinVolt, float _factorVolt)
void BslibEnergyMeter::SetSensorVoltage(unsigned int _inPinVoltage, float _factorVoltage)
{
inPinVolt = _inPinVolt;
factorVolt = _factorVolt;
inPinVoltage = _inPinVoltage;
factorVoltage = _factorVoltage;
}

/**
Expand Down Expand Up @@ -121,24 +121,11 @@ float BslibEnergyMeter::GetCurrent(unsigned int _numberOfSamples)
* @param _numberOfSamples número de muestras a tomar en cada lenctura
* @return float
*/
float BslibEnergyMeter::GetBattery(unsigned int _numberOfSamples)
{
int filteredBatt = FilterValueADC(inPinBatt, _numberOfSamples);
float convertValueADC = float(filteredBatt) / ADC_SCALE * VOLT_INPUT_MAIN;
float batt = (convertValueADC * factorBatt) + offsetBatt;
return batt;
}

/**
* @brief Obtiene el voltaje del seguidor de corriente
*
* @param _numberOfSamples número de muestras a tomar en cada lenctura
* @return float
*/
float BslibEnergyMeter::GetVoltage(unsigned int _numberOfSamples)
{
int filteredVolt = FilterValueADC(inPinVolt, _numberOfSamples);
float convertValueADC = float(filteredVolt) / ADC_SCALE * VOLT_INPUT_DRIVER;
float volt = convertValueADC * factorVolt;
return volt;
int filteredVoltage = FilterValueADC(inPinVoltage, _numberOfSamples);
float convertValueADC = float(filteredVoltage) / ADC_SCALE * VOLT_INPUT_MAIN;
float voltage = (convertValueADC * factorVoltage) + offsetVoltage;

return voltage;
}
21 changes: 9 additions & 12 deletions src/BslibEnergyMeter.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,28 @@
class BslibEnergyMeter
{
public:
void SensorCurrent(unsigned int _inPinCurrent, unsigned int _inPinCurrentRef, float _factorCurrent);
void SensorBattery(unsigned int _inPinBatt, float _factorBatt, float _offsetBatt);
void SensorVoltage(unsigned int _inPinVolt, float _factorVolt);
void SetSensorCurrent(unsigned int _inPinCurrent, unsigned int _inPinCurrentRef, float _factorCurrent);
void SetSensorVoltage(unsigned int _inPinVoltage, float _factorVoltage, float _offsetVoltage);
void SetSensorVoltage(unsigned int _inPinVoltage, float _factorVoltage);

unsigned int FilterValueADC(unsigned int pinADC, unsigned int samples);
unsigned int AutoCalibrationCurrent(unsigned int _numberOfSamples);
void SetCurrentReference(unsigned int _currentReference);

float GetCurrent(unsigned int _numberOfSamples);
float GetVoltage(unsigned int _numberOfSamples);
float GetBattery(unsigned int _numberOfSamples);

private:
unsigned int currentReference;
unsigned int calibrationCurrent;

unsigned int inPinCurrent;
unsigned int inPinCurrentRef;
unsigned int inPinVolt;
unsigned int inPinBatt;
unsigned int inPinVoltage;

float factorCurrent;
float factorVolt;
float factorBatt;

float offsetBatt;
unsigned int currentReference;
unsigned int calibrationCurrent;
float factorVoltage;
float offsetVoltage;
};

#endif

0 comments on commit d0f468a

Please sign in to comment.