X-Git-Url: http://git.kpe.io/?p=avr_bc100.git;a=blobdiff_plain;f=BaseMegaFirmware%2FGCC%2Fbc100_slave.c;fp=BaseMegaFirmware%2FGCC%2Fbc100_slave.c;h=2ff06a80fe495dae1e26872323defbeb7188d4a2;hp=a03a33463f92d7dd22204b3449c2385398b8e458;hb=65612c4c7df34cdae10f9427ace6fd9e9e430d05;hpb=89173ec9cd6f33843bf27c45be0f2f9be3f5f0ce diff --git a/BaseMegaFirmware/GCC/bc100_slave.c b/BaseMegaFirmware/GCC/bc100_slave.c index a03a334..2ff06a8 100644 --- a/BaseMegaFirmware/GCC/bc100_slave.c +++ b/BaseMegaFirmware/GCC/bc100_slave.c @@ -96,6 +96,45 @@ uint8_t bc100_slave_test(void) } myprintf_P("average IBAT %d [mA]\n", ADCS.avgIBAT); + Batteries_t BattData; + myprintf_P("Current Battery:\n"); + out = BC100_SLAVE_READ | BC100_SLAVE_SRAM | sizeof(BattData); + SPI_rw( out ); + out = ADR_BATTDATA; + in = SPI_rw( out ); + myprintf_P("In1 : 0x%02x (expected 0xcc)\n", in ); + in = SPI_rw( dummy ); + myprintf_P("In2 : 0x%02x (expected 0xbb)\n", in ); + i = sizeof(BattData); + while ( i-- > 0 ) { + *( (unsigned char*)&BattData + i ) = SPI_rw(dummy); + } + if ( BattData.Present ) { + myprintf_P("Battery found\n"); + if ( BattData.Charged ) { + myprintf_P("- fully charged\n"); + } + if ( BattData.Low ) { + myprintf_P("- low voltage\n"); + } + if ( BattData.Exhausted) { + myprintf_P("- exhausted\n"); + } + if ( BattData.HasRID) { + myprintf_P("- has a ID-Resistor\n"); + } + myprintf_P("Safety circuit ID %d\n", BattData.Circuit ); + myprintf_P("Tempearture %d centi-degree C\n", BattData.Temperature ); + myprintf_P("ADCSteps/half degree %d\n", BattData.ADCSteps); + myprintf_P("Capacity %d mAh\n", BattData.Capacity); + myprintf_P("max. Current %d mA\n", BattData.MaxCurrent); + myprintf_P("max. cut-off Time %d min\n", BattData.MaxTime); + myprintf_P("min. cut-off Current %d mA\n", BattData.MinCurrent); + } + else { + myprintf_P("Battery not found\n"); + } + SPI_release(); return err;