151 lines
3.1 KiB
C++
151 lines
3.1 KiB
C++
#include "openChargeMicro.h"
|
|
|
|
void test();
|
|
|
|
int main(void) {
|
|
|
|
serialSetup();
|
|
serialSend("Hello World\r\n");
|
|
|
|
clock clk;
|
|
ioController io;
|
|
|
|
io.deactivateChargers();
|
|
io.setActiveLED(true);
|
|
io.activateChargers();
|
|
|
|
char charVal[10];
|
|
|
|
time_t ts01 = clk.getTimeStamp();
|
|
|
|
dtostrf(ts01.seconds, 4, 0, charVal);
|
|
serialSend(charVal);
|
|
serialSend(" s (stamp)\r\n");
|
|
|
|
while (1) {
|
|
|
|
if (((int) clk.getTime() % 10) == 0) {
|
|
|
|
time_t ts02 = clk.getTime(ts01);
|
|
|
|
dtostrf(ts02.diffHour, 4, 0, charVal);
|
|
serialSend(charVal);
|
|
serialSend(" hour\r\n");
|
|
|
|
dtostrf(ts02.diffMinute, 4, 0, charVal);
|
|
serialSend(charVal);
|
|
serialSend(" minute\r\n");
|
|
|
|
dtostrf(ts02.diffSecond, 4, 0, charVal);
|
|
serialSend(charVal);
|
|
serialSend(" sec\r\n");
|
|
|
|
dtostrf(ts02.seconds, 4, 0, charVal);
|
|
serialSend(charVal);
|
|
serialSend(" sec (since beginning of stamp)\r\n");
|
|
|
|
}
|
|
}
|
|
|
|
//void test();
|
|
|
|
return 0;
|
|
}
|
|
|
|
void test() {
|
|
/* create charger */
|
|
|
|
s_charger charger_settings;
|
|
|
|
charger_settings.chU = 0;
|
|
charger_settings.chI = 4;
|
|
charger_settings.nr = 0;
|
|
charger charger01 = charger(charger_settings);
|
|
charger01.getInfo();
|
|
|
|
charger_settings.chU = 1;
|
|
charger_settings.chI = 5;
|
|
charger_settings.nr = 1;
|
|
charger charger02 = charger(charger_settings);
|
|
charger02.getInfo();
|
|
|
|
charger_settings.chU = 2;
|
|
charger_settings.chI = 6;
|
|
charger_settings.nr = 2;
|
|
charger charger03 = charger(charger_settings);
|
|
charger03.getInfo();
|
|
|
|
charger_settings.chU = 3;
|
|
charger_settings.chI = 7;
|
|
charger_settings.nr = 3;
|
|
charger charger04 = charger(charger_settings);
|
|
charger04.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 serialSetup(void) {
|
|
//Register settings
|
|
//High and low bits
|
|
UBRR0H = (BUAD_RATE_CALC >> 8);
|
|
UBRR0L = BUAD_RATE_CALC;
|
|
//transimit and recieve enable
|
|
UCSR0B = (1 << TXEN0) | (1 << TXCIE0) | (1 << RXEN0) | (1 << RXCIE0);
|
|
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); //8 bit data format
|
|
}
|
|
|
|
void serialSend(const char* sendString) {
|
|
for (unsigned int i = 0; i < strlen(sendString); i++) {
|
|
while (( UCSR0A & (1 << UDRE0)) == 0) {
|
|
};
|
|
UDR0 = sendString[i];
|
|
}
|
|
}
|
|
|