2018-11-21 23:17:31 +01:00
# include "openChargeMicro.h"
2018-11-22 20:43:21 +01:00
charger * chargers ;
void createChargers ( ) ;
void printStatus ( ) ;
2018-11-22 11:50:11 +01:00
2018-11-21 23:17:31 +01:00
int main ( void ) {
serialSetup ( ) ;
serialSend ( " Hello World \r \n " ) ;
2018-11-22 11:50:11 +01:00
clock clk ;
2018-11-21 23:17:31 +01:00
ioController io ;
io . deactivateChargers ( ) ;
io . setActiveLED ( true ) ;
io . activateChargers ( ) ;
2018-11-22 20:43:21 +01:00
//chargers[0]->getInfo();
2018-11-22 14:17:39 +01:00
2018-11-22 20:43:21 +01:00
chargers = ( charger * ) malloc ( 4 * sizeof ( charger ) ) ;
2018-11-22 14:17:39 +01:00
2018-11-22 20:43:21 +01:00
createChargers ( ) ;
/*
chargers [ 0 ] . getInfo ( ) ;
chargers [ 1 ] . getInfo ( ) ;
chargers [ 2 ] . getInfo ( ) ;
chargers [ 3 ] . getInfo ( ) ;
*/
printStatus ( ) ;
2018-11-21 23:45:26 +01:00
2018-11-22 11:50:11 +01:00
return 0 ;
}
2018-11-21 23:45:26 +01:00
2018-11-22 20:43:21 +01:00
void createChargers ( ) {
/* create chargers */
2018-11-21 23:17:31 +01:00
s_charger charger_settings ;
2018-11-22 20:43:21 +01:00
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();
2018-11-21 23:17:31 +01:00
/* create charger */
2018-11-22 20:43:21 +01:00
/*
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 ) ;
}
*/
}
2018-11-21 23:17:31 +01:00
2018-11-22 20:43:21 +01:00
void printStatus ( ) {
serialSend ( " printing status .. \r \n " ) ;
for ( int i = 0 ; i < CHARGER_SIZE ; i + + ) {
if ( true ) {
chargers [ i ] . getInfo ( ) ; //print values
}
2018-11-21 23:17:31 +01:00
}
2018-11-22 20:43:21 +01:00
2018-11-21 23:17:31 +01:00
}
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 ] ;
}
}