#include "openChargeMicro.h" charger* chargers; void createChargers(); void printStatus(); int main(void) { serialSetup(); serialSend("Hello World\r\n"); clock clk; ioController io; io.deactivateChargers(); io.setActiveLED(true); io.activateChargers(); //chargers[0]->getInfo(); chargers=(charger *) malloc(4*sizeof(charger)); createChargers(); /* chargers[0].getInfo(); chargers[1].getInfo(); chargers[2].getInfo(); chargers[3].getInfo(); */ printStatus(); return 0; } void createChargers() { /* create chargers */ s_charger charger_settings; charger_settings.chU = CH0_U; charger_settings.chI = CH0_I; charger_settings.nr = CH0_NR; charger chrg0 = charger(charger_settings); chrg0.setStatus(true); chargers[0] = chrg0; charger_settings.chU = CH1_U; charger_settings.chI = CH1_I; charger_settings.nr = CH1_NR; charger chrg1 = charger(charger_settings); chrg1.setStatus(true); chargers[1] = chrg1; charger_settings.chU = CH2_U; charger_settings.chI = CH2_I; charger_settings.nr = CH2_NR; charger chrg2 = charger(charger_settings); chrg2.setStatus(true); chargers[2] = chrg2; charger_settings.chU = CH3_U; charger_settings.chI = CH3_I; charger_settings.nr = CH3_NR; charger chrg3 = charger(charger_settings); chrg3.setStatus(true); 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() { serialSend("printing status .. \r\n"); for (int i = 0; i < CHARGER_SIZE; i++) { if (true) { chargers[i].getInfo(); //print values } } } 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]; } }