2018-11-21 23:17:31 +01:00
# include "openChargeMicro.h"
2018-11-22 11:50:11 +01:00
void test ( ) ;
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 14:17:39 +01:00
char charVal [ 10 ] ;
time_t ts01 = clk . getTimeStamp ( ) ;
2018-11-21 23:45:26 +01:00
2018-11-22 14:17:39 +01:00
dtostrf ( ts01 . seconds , 4 , 0 , charVal ) ;
serialSend ( charVal ) ;
serialSend ( " s (stamp) \r \n " ) ;
2018-11-21 23:45:26 +01:00
2018-11-22 11:50:11 +01:00
while ( 1 ) {
2018-11-22 14:17:39 +01:00
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 " ) ;
}
2018-11-22 11:50:11 +01:00
}
2018-11-21 23:45:26 +01:00
2018-11-22 11:50:11 +01:00
//void test();
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 11:50:11 +01:00
void test ( ) {
2018-11-21 23:17:31 +01:00
/* 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 ] ;
}
}