Commit mthomas changes to GCC and port those changes to IAR
[avr_bc100.git] / BaseMegaFirmware / GCC / bc100_slave.c
index a03a33463f92d7dd22204b3449c2385398b8e458..2ff06a80fe495dae1e26872323defbeb7188d4a2 100644 (file)
@@ -96,6 +96,45 @@ uint8_t bc100_slave_test(void)
        }\r
        myprintf_P("average IBAT   %d [mA]\n", ADCS.avgIBAT);\r
 \r
+       Batteries_t BattData;\r
+       myprintf_P("Current Battery:\n");\r
+       out = BC100_SLAVE_READ | BC100_SLAVE_SRAM | sizeof(BattData);\r
+       SPI_rw( out );\r
+       out = ADR_BATTDATA;\r
+       in = SPI_rw( out );\r
+       myprintf_P("In1 : 0x%02x (expected 0xcc)\n", in );\r
+       in = SPI_rw( dummy );\r
+       myprintf_P("In2 : 0x%02x (expected 0xbb)\n", in );\r
+       i = sizeof(BattData);\r
+       while ( i-- > 0 ) {\r
+               *( (unsigned char*)&BattData + i ) = SPI_rw(dummy);\r
+       }\r
+       if ( BattData.Present ) {\r
+               myprintf_P("Battery found\n");\r
+               if ( BattData.Charged ) {\r
+                       myprintf_P("- fully charged\n");\r
+               }\r
+               if ( BattData.Low ) {\r
+                       myprintf_P("- low voltage\n");\r
+               }\r
+               if ( BattData.Exhausted) {\r
+                       myprintf_P("- exhausted\n");\r
+               }\r
+               if ( BattData.HasRID) {\r
+                       myprintf_P("- has a ID-Resistor\n");\r
+               }\r
+               myprintf_P("Safety circuit ID    %d\n", BattData.Circuit );\r
+               myprintf_P("Tempearture          %d centi-degree C\n", BattData.Temperature );\r
+               myprintf_P("ADCSteps/half degree %d\n", BattData.ADCSteps);\r
+               myprintf_P("Capacity             %d mAh\n", BattData.Capacity);\r
+               myprintf_P("max. Current         %d mA\n", BattData.MaxCurrent);\r
+               myprintf_P("max. cut-off Time    %d min\n", BattData.MaxTime);\r
+               myprintf_P("min. cut-off Current %d mA\n", BattData.MinCurrent);\r
+       }\r
+       else {\r
+               myprintf_P("Battery not found\n");\r
+       }\r
+\r
        SPI_release();\r
 \r
        return err;\r