update for active chargers
This commit is contained in:
parent
c52ff17429
commit
591e5557ac
|
@ -10,6 +10,7 @@
|
||||||
charger::charger(const struct s_charger pCharger) {
|
charger::charger(const struct s_charger pCharger) {
|
||||||
charger_settings = pCharger;
|
charger_settings = pCharger;
|
||||||
active = false;
|
active = false;
|
||||||
|
capacity = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
charger::~charger() {
|
charger::~charger() {
|
||||||
|
@ -32,17 +33,16 @@ double charger::getVoltage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns summed up charged capacity since charge start in mAh */
|
/* returns summed up charged capacity since charge start in mAh */
|
||||||
double charger::getCapacity() {
|
unsigned int charger::getCapacity() {
|
||||||
//TODO
|
return capacity;
|
||||||
return 1.1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void charger::setStartTime(struct time_t pTime){
|
void charger::setStartTime(struct time_t pTime) {
|
||||||
startTime = pTime;
|
startTime = pTime;
|
||||||
}
|
}
|
||||||
struct time_t charger::getStartTime(){
|
struct time_t charger::getStartTime() {
|
||||||
return startTime;
|
return startTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
void charger::getInfo() {
|
void charger::getInfo() {
|
||||||
char buffer[50];
|
char buffer[50];
|
||||||
|
@ -57,3 +57,19 @@ bool charger::getStatus() {
|
||||||
return active;
|
return active;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* resets the capacity */
|
||||||
|
void charger::reset() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* updates the capacity */
|
||||||
|
void charger::update() {
|
||||||
|
|
||||||
|
capacity = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//serialSend("update\r\n");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ private:
|
||||||
ioController io;
|
ioController io;
|
||||||
multiplexer mux;
|
multiplexer mux;
|
||||||
struct time_t startTime;
|
struct time_t startTime;
|
||||||
|
unsigned int capacity;
|
||||||
bool active;
|
bool active;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -28,12 +29,14 @@ public:
|
||||||
~charger();
|
~charger();
|
||||||
double getCurrent();
|
double getCurrent();
|
||||||
double getVoltage();
|
double getVoltage();
|
||||||
double getCapacity();
|
unsigned int getCapacity();
|
||||||
void setStartTime(struct time_t pTime);
|
void setStartTime(struct time_t pTime);
|
||||||
struct time_t getStartTime();
|
struct time_t getStartTime();
|
||||||
void getInfo();
|
void getInfo();
|
||||||
void setStatus(bool pBool);
|
void setStatus(bool pBool);
|
||||||
bool getStatus();
|
bool getStatus();
|
||||||
|
void reset();
|
||||||
|
void update();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SRC_CHARGER_H_ */
|
#endif /* SRC_CHARGER_H_ */
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
#include "openChargeMicro.h"
|
#include "openChargeMicro.h"
|
||||||
|
|
||||||
charger* chargers;
|
charger* chargers;
|
||||||
|
clock* clk;
|
||||||
|
|
||||||
void createChargers();
|
void createChargers();
|
||||||
void printStatus();
|
void printStatus();
|
||||||
void checkForBattery();
|
void checkForBattery();
|
||||||
|
void updateChargers();
|
||||||
|
bool everySec();
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
||||||
|
@ -13,28 +16,53 @@ int main(void) {
|
||||||
serialSend(__DATE__ __TIME__);
|
serialSend(__DATE__ __TIME__);
|
||||||
serialSend("\r\n");
|
serialSend("\r\n");
|
||||||
|
|
||||||
clock clk;
|
|
||||||
ioController io;
|
|
||||||
|
|
||||||
chargers = (charger *) malloc(CHARGER_SIZE * sizeof(charger));
|
chargers = (charger *) malloc(CHARGER_SIZE * sizeof(charger));
|
||||||
|
|
||||||
|
clk = (clock *) malloc(sizeof(clock));
|
||||||
|
clock tmp;
|
||||||
|
clk = &tmp;
|
||||||
|
|
||||||
|
ioController io;
|
||||||
|
|
||||||
io.deactivateChargers();
|
io.deactivateChargers();
|
||||||
io.setActiveLED(true);
|
io.setActiveLED(true);
|
||||||
io.activateChargers();
|
io.activateChargers();
|
||||||
|
|
||||||
createChargers();
|
createChargers();
|
||||||
|
|
||||||
|
|
||||||
//loop till power off
|
//loop till power off
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
||||||
checkForBattery();
|
checkForBattery();
|
||||||
printStatus();
|
//printStatus();
|
||||||
|
updateChargers();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool everySec() {
|
||||||
|
|
||||||
|
static uint32_t time;
|
||||||
|
if (clk->getTime() != time) {
|
||||||
|
time = clk->getTime();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateChargers() {
|
||||||
|
|
||||||
|
if (everySec()) { //updates the chargers every sec
|
||||||
|
for (int i = 0; i < CHARGER_SIZE; i++) {
|
||||||
|
if (chargers[i].getStatus()) {
|
||||||
|
//charger active --> battery pluged on
|
||||||
|
chargers[i].update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void checkForBattery() {
|
void checkForBattery() {
|
||||||
for (int l = 0; l < CHARGER_SIZE; l++) {
|
for (int l = 0; l < CHARGER_SIZE; l++) {
|
||||||
|
|
||||||
|
@ -64,6 +92,7 @@ void checkForBattery() {
|
||||||
} else {
|
} else {
|
||||||
//serialSend("blocked\r\n");
|
//serialSend("blocked\r\n");
|
||||||
chargers[l].setStatus(false);
|
chargers[l].setStatus(false);
|
||||||
|
chargers[l].reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue