changed status charger to a struct
This commit is contained in:
parent
75b2d90547
commit
b1d9079cae
|
@ -9,7 +9,9 @@
|
||||||
|
|
||||||
charger::charger(const struct s_charger pCharger) {
|
charger::charger(const struct s_charger pCharger) {
|
||||||
charger_settings = pCharger;
|
charger_settings = pCharger;
|
||||||
active = false;
|
status.connected = false;
|
||||||
|
status.active = false;
|
||||||
|
//active = false;
|
||||||
capacity = 0;
|
capacity = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,11 +55,11 @@ void charger::getInfo() {
|
||||||
serialSend(buffer);
|
serialSend(buffer);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
void charger::setStatus(bool pBool) {
|
void charger::setStatus(struct s_charger_status pStatus) {
|
||||||
active = pBool;
|
status = pStatus;
|
||||||
}
|
}
|
||||||
bool charger::getStatus() {
|
struct s_charger_status charger::getStatus() {
|
||||||
return active;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* resets the capacity */
|
/* resets the capacity */
|
||||||
|
|
|
@ -14,6 +14,11 @@ struct s_charger {
|
||||||
int chI;
|
int chI;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct s_charger_status{
|
||||||
|
bool connected;
|
||||||
|
bool active;
|
||||||
|
};
|
||||||
|
|
||||||
class charger {
|
class charger {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -22,7 +27,7 @@ private:
|
||||||
multiplexer mux;
|
multiplexer mux;
|
||||||
struct time_t startTime;
|
struct time_t startTime;
|
||||||
unsigned long int capacity; //in µAh
|
unsigned long int capacity; //in µAh
|
||||||
bool active;
|
struct s_charger_status status;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
charger(const struct s_charger pCharger);
|
charger(const struct s_charger pCharger);
|
||||||
|
@ -33,8 +38,8 @@ public:
|
||||||
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(struct s_charger_status pStatus);
|
||||||
bool getStatus();
|
struct s_charger_status getStatus();
|
||||||
void reset();
|
void reset();
|
||||||
void update();
|
void update();
|
||||||
};
|
};
|
||||||
|
|
|
@ -118,3 +118,15 @@ void ioController::setWS2812(const unsigned char red, const unsigned char green,
|
||||||
led.sync();
|
led.sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ioController::setWS2812_clear() {
|
||||||
|
setWS2812(0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ioController::setWS2812_green() {
|
||||||
|
setWS2812(0, BRIGHTNESS, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ioController::setWS2812_red() {
|
||||||
|
setWS2812(BRIGHTNESS, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
class ioController {
|
class ioController {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void setWS2812(const unsigned char red, const unsigned char green,
|
||||||
|
const unsigned char blue);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ioController();
|
ioController();
|
||||||
|
@ -25,9 +27,10 @@ public:
|
||||||
void adc_init(void);
|
void adc_init(void);
|
||||||
int readAdc(char chan);
|
int readAdc(char chan);
|
||||||
void setMultiplexer(bool pS2, bool pS1, bool pS0);
|
void setMultiplexer(bool pS2, bool pS1, bool pS0);
|
||||||
void setWS2812(const unsigned char red, const unsigned char green,
|
|
||||||
const unsigned char blue);
|
|
||||||
|
|
||||||
|
void setWS2812_clear(void);
|
||||||
|
void setWS2812_green(void);
|
||||||
|
void setWS2812_red(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SRC_IOCONTROLLER_H_ */
|
#endif /* SRC_IOCONTROLLER_H_ */
|
||||||
|
|
|
@ -64,7 +64,7 @@ void updateGUI() {
|
||||||
//finds one or more active charges or aborts after CHARGER_SIZE
|
//finds one or more active charges or aborts after CHARGER_SIZE
|
||||||
while (next && (loops < CHARGER_SIZE)) {
|
while (next && (loops < CHARGER_SIZE)) {
|
||||||
loops++;
|
loops++;
|
||||||
if (chargers[indexCount].getStatus()) {
|
if (chargers[indexCount].getStatus().connected) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
char c[50];
|
char c[50];
|
||||||
sprintf(c, "updating: %i\r\n", (int) indexCount);
|
sprintf(c, "updating: %i\r\n", (int) indexCount);
|
||||||
|
@ -100,7 +100,7 @@ bool everySec() {
|
||||||
|
|
||||||
void updateChargers() {
|
void updateChargers() {
|
||||||
for (int i = 0; i < CHARGER_SIZE; i++) {
|
for (int i = 0; i < CHARGER_SIZE; i++) {
|
||||||
if (chargers[i].getStatus()) {
|
if (chargers[i].getStatus().connected) {
|
||||||
//charger active --> battery pluged on
|
//charger active --> battery pluged on
|
||||||
chargers[i].update();
|
chargers[i].update();
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,9 @@ void checkForBattery() { //TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!zero) {
|
if (!zero) {
|
||||||
chargers[l].setStatus(true);
|
struct s_charger_status tmp = chargers[l].getStatus();
|
||||||
|
tmp.connected = true;
|
||||||
|
chargers[l].setStatus(tmp);
|
||||||
//io->setActiveLED(true);
|
//io->setActiveLED(true);
|
||||||
if (activeChargers[l] == 0) {
|
if (activeChargers[l] == 0) {
|
||||||
chargers[l].setStartTime(clk->getTimeStamp());
|
chargers[l].setStartTime(clk->getTimeStamp());
|
||||||
|
@ -156,7 +158,9 @@ void checkForBattery() { //TODO
|
||||||
serialSend("no connection\r\n");
|
serialSend("no connection\r\n");
|
||||||
#endif
|
#endif
|
||||||
if (errorCount[l] == 0) {
|
if (errorCount[l] == 0) {
|
||||||
chargers[l].setStatus(false);
|
struct s_charger_status tmp = chargers[l].getStatus();
|
||||||
|
tmp.connected = false;
|
||||||
|
chargers[l].setStatus(tmp);
|
||||||
activeChargers[l] = 0;
|
activeChargers[l] = 0;
|
||||||
chargers[l].reset(); //sets the capacity to zero
|
chargers[l].reset(); //sets the capacity to zero
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -199,7 +203,7 @@ void createChargers() {
|
||||||
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 (chargers[i].getStatus()) {
|
if (chargers[i].getStatus().connected) {
|
||||||
chargers[i].getInfo(); //print values
|
chargers[i].getInfo(); //print values
|
||||||
//char charVal[10];
|
//char charVal[10];
|
||||||
//dtostrf(chargers[i].getCurrent(), 4, 0, charVal);
|
//dtostrf(chargers[i].getCurrent(), 4, 0, charVal);
|
||||||
|
|
|
@ -69,6 +69,7 @@ void serialSend(const char* sendString);
|
||||||
|
|
||||||
/* ws2812 */
|
/* ws2812 */
|
||||||
#define LED_C 1
|
#define LED_C 1
|
||||||
|
#define BRIGHTNESS 20 //0 to 255
|
||||||
|
|
||||||
void updateChargers();
|
void updateChargers();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue