detect batteries
This commit is contained in:
parent
9f10767e1f
commit
0728477503
|
@ -7,8 +7,6 @@
|
||||||
|
|
||||||
#include "openChargeMicro.h"
|
#include "openChargeMicro.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
charger::charger(const struct s_charger pCharger) {
|
charger::charger(const struct s_charger pCharger) {
|
||||||
charger_settings = pCharger;
|
charger_settings = pCharger;
|
||||||
active = false;
|
active = false;
|
||||||
|
|
|
@ -23,7 +23,6 @@ private:
|
||||||
bool active;
|
bool active;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
charger(const struct s_charger pCharger);
|
charger(const struct s_charger pCharger);
|
||||||
~charger();
|
~charger();
|
||||||
double getCurrent();
|
double getCurrent();
|
||||||
|
|
|
@ -4,134 +4,107 @@ charger* chargers;
|
||||||
|
|
||||||
void createChargers();
|
void createChargers();
|
||||||
void printStatus();
|
void printStatus();
|
||||||
|
void checkForBattery();
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
||||||
serialSetup();
|
serialSetup();
|
||||||
serialSend("Hello World\r\n");
|
serialSend("Hello World - ");
|
||||||
|
serialSend(__DATE__ __TIME__);
|
||||||
|
serialSend("\r\n");
|
||||||
|
|
||||||
clock clk;
|
clock clk;
|
||||||
ioController io;
|
ioController io;
|
||||||
|
|
||||||
|
chargers = (charger *) malloc(CHARGER_SIZE * sizeof(charger));
|
||||||
|
|
||||||
io.deactivateChargers();
|
io.deactivateChargers();
|
||||||
io.setActiveLED(true);
|
io.setActiveLED(true);
|
||||||
io.activateChargers();
|
io.activateChargers();
|
||||||
|
|
||||||
//chargers[0]->getInfo();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
chargers=(charger *) malloc(4*sizeof(charger));
|
|
||||||
|
|
||||||
|
|
||||||
createChargers();
|
createChargers();
|
||||||
/*
|
|
||||||
chargers[0].getInfo();
|
|
||||||
chargers[1].getInfo();
|
//loop till power off
|
||||||
chargers[2].getInfo();
|
while (true) {
|
||||||
chargers[3].getInfo();
|
|
||||||
*/
|
checkForBattery();
|
||||||
printStatus();
|
printStatus();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void createChargers() {
|
void checkForBattery() {
|
||||||
/* create chargers */
|
for (int l = 0; l < CHARGER_SIZE; l++) {
|
||||||
|
|
||||||
|
bool zero = false;
|
||||||
|
double tmp1 = 0.0;
|
||||||
|
double tmp2 = 0.0;
|
||||||
|
double difference = 5.0; //TODO after calibation
|
||||||
|
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
tmp2 = tmp1;
|
||||||
|
tmp1 = chargers[l].getVoltage();
|
||||||
|
|
||||||
|
if ((tmp1 == 0.0) || (((tmp1 - tmp2 > difference)) && i != 0)) {
|
||||||
|
zero = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!zero) {
|
||||||
|
/*
|
||||||
|
char charVal[10];
|
||||||
|
dtostrf(chargers[0].getVoltage(), 4, 2, charVal);
|
||||||
|
serialSend("Charger01 - ");
|
||||||
|
serialSend(charVal);
|
||||||
|
serialSend(" Volt\r\n");
|
||||||
|
*/
|
||||||
|
chargers[l].setStatus(true);
|
||||||
|
} else {
|
||||||
|
//serialSend("blocked\r\n");
|
||||||
|
chargers[l].setStatus(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void createChargers() {
|
||||||
s_charger charger_settings;
|
s_charger charger_settings;
|
||||||
|
|
||||||
charger_settings.chU = CH0_U;
|
charger_settings.chU = CH0_U;
|
||||||
charger_settings.chI = CH0_I;
|
charger_settings.chI = CH0_I;
|
||||||
charger_settings.nr = CH0_NR;
|
charger_settings.nr = CH0_NR;
|
||||||
charger chrg0 = charger(charger_settings);
|
charger chrg0 = charger(charger_settings);
|
||||||
chrg0.setStatus(true);
|
|
||||||
chargers[0] = chrg0;
|
chargers[0] = chrg0;
|
||||||
|
|
||||||
charger_settings.chU = CH1_U;
|
charger_settings.chU = CH1_U;
|
||||||
charger_settings.chI = CH1_I;
|
charger_settings.chI = CH1_I;
|
||||||
charger_settings.nr = CH1_NR;
|
charger_settings.nr = CH1_NR;
|
||||||
charger chrg1 = charger(charger_settings);
|
charger chrg1 = charger(charger_settings);
|
||||||
chrg1.setStatus(true);
|
|
||||||
chargers[1] = chrg1;
|
chargers[1] = chrg1;
|
||||||
|
|
||||||
charger_settings.chU = CH2_U;
|
charger_settings.chU = CH2_U;
|
||||||
charger_settings.chI = CH2_I;
|
charger_settings.chI = CH2_I;
|
||||||
charger_settings.nr = CH2_NR;
|
charger_settings.nr = CH2_NR;
|
||||||
charger chrg2 = charger(charger_settings);
|
charger chrg2 = charger(charger_settings);
|
||||||
chrg2.setStatus(true);
|
|
||||||
chargers[2] = chrg2;
|
chargers[2] = chrg2;
|
||||||
|
|
||||||
charger_settings.chU = CH3_U;
|
charger_settings.chU = CH3_U;
|
||||||
charger_settings.chI = CH3_I;
|
charger_settings.chI = CH3_I;
|
||||||
charger_settings.nr = CH3_NR;
|
charger_settings.nr = CH3_NR;
|
||||||
charger chrg3 = charger(charger_settings);
|
charger chrg3 = charger(charger_settings);
|
||||||
chrg3.setStatus(true);
|
|
||||||
chargers[3] = chrg3;
|
chargers[3] = chrg3;
|
||||||
|
|
||||||
|
|
||||||
//chargers[2]->getInfo();
|
|
||||||
//chargers[3]->getInfo();
|
|
||||||
|
|
||||||
/* create charger */
|
|
||||||
|
|
||||||
/*
|
|
||||||
while (true) {
|
|
||||||
char charVal[10];
|
|
||||||
dtostrf(charger01.getVoltage(), 4, 2, charVal);
|
|
||||||
serialSend("Charger01 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" Volt\r\n");
|
|
||||||
|
|
||||||
dtostrf(charger01.getCurrent(), 4, 2, charVal);
|
|
||||||
serialSend("Charger01 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" mAh\r\n");
|
|
||||||
|
|
||||||
dtostrf(charger02.getVoltage(), 4, 2, charVal);
|
|
||||||
serialSend("Charger02 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" Volt\r\n");
|
|
||||||
dtostrf(charger02.getCurrent(), 4, 2, charVal);
|
|
||||||
serialSend("Charger02 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" mAh\r\n");
|
|
||||||
|
|
||||||
dtostrf(charger03.getVoltage(), 4, 2, charVal);
|
|
||||||
serialSend("Charger03 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" Volt\r\n");
|
|
||||||
dtostrf(charger03.getCurrent(), 4, 2, charVal);
|
|
||||||
serialSend("Charger03 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" mAh\r\n");
|
|
||||||
|
|
||||||
dtostrf(charger04.getVoltage(), 4, 2, charVal);
|
|
||||||
serialSend("Charger04 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" Volt\r\n");
|
|
||||||
|
|
||||||
dtostrf(charger04.getCurrent(), 4, 2, charVal);
|
|
||||||
serialSend("Charger04 - ");
|
|
||||||
serialSend(charVal);
|
|
||||||
serialSend(" mAh\r\n");
|
|
||||||
|
|
||||||
serialSend("\r\n");
|
|
||||||
|
|
||||||
_delay_ms(1000);
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void printStatus() {
|
void printStatus() {
|
||||||
serialSend("printing status .. \r\n");
|
//serialSend("printing status .. \r\n");
|
||||||
for (int i = 0; i < CHARGER_SIZE; i++) {
|
for (int i = 0; i < CHARGER_SIZE; i++) {
|
||||||
if (true) {
|
if (chargers[i].getStatus()) {
|
||||||
chargers[i].getInfo(); //print values
|
chargers[i].getInfo(); //print values
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void serialSetup(void) {
|
void serialSetup(void) {
|
||||||
|
|
Loading…
Reference in New Issue