Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save martonmiklos/8750d9f13fbcd671a8a21c7ce05b94f0 to your computer and use it in GitHub Desktop.
Save martonmiklos/8750d9f13fbcd671a8a21c7ce05b94f0 to your computer and use it in GitHub Desktop.
uint8_t batter_check()
{
uint8_t cell_count = 0;
uint8_t led_color = 0; // 0 zöld 1 sárga 2 piros
/* cella feszek a cell_voltages -ben vannak ami egy uint16_t cell_1_voltages[4];*/
if ((3000 < designvoltage / 2)&&(designvoltage / 2 < 4000))
{
cell_count = 2;
}
else if ((3000 < designvoltage / 3)&&(designvoltage / 3 < 4000))
{
cell_count = 3;
}
else if ((3000 < designvoltage / 4)&&(designvoltage / 4 < 4000))
{
cell_count = 4;
}
else
{
cell_count = 0;
}
//
if (!cell_count)
{
set_led_bad();
}
// megvan a cellaszám
for (i = 0; i < cell_count; i++) {
if (cell_voltages[i] < non_recoverable_limit) {
// alulmerült -> nem tölthető -> Piros
led_color = 2; // piros
} else if (cell_voltages[i] < recoverable_limit &&
led_color <= 1) {
// akku menthető és eddig nem volt sárgánál roszabb (piros) cella
led_color = 1; // sárga
}
// nincs else ág (LED alapból zöld és a cella ha recoverable_limit fölött van akkor zöld is marad, ha nem akkor a szín már be van állítva)
}
// led_color alapján led beállítása
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment