Mercurial > public > ostc4
annotate Small_CPU/Inc/batteryCharger.h @ 859:d32901746950 Evo_2_23
Improvment battery charger visualization:
In the previous version the green flash (charge complete) was shown even battery had not reached 100% charge. Root cause was that the pin signaling the end of charge could be raised for other reasons then a full battery. The new version will show the green flash only in case the battery is rated as full.
In addition the graph visualization has been updated to continously progress. In the previous version it only progressed in case the charge value changed. Especially at charging start the charger is doing some battery evaluation which does not increase the charge state. In such a case the graph seemed to be frozen.
author | Ideenmodellierer |
---|---|
date | Tue, 07 May 2024 21:20:33 +0200 |
parents | 1b995079c045 |
children |
rev | line source |
---|---|
38 | 1 /** |
2 ****************************************************************************** | |
3 * @file batteryCharger.h | |
4 * @author heinrichs weikamp gmbh | |
5 * @date 09-Dec-2014 | |
6 * @version V0.0.1 | |
7 * @since 09-Dec-2014 | |
8 * @brief LTC4054 Standalone Linear Li-Ion Battery Charger | |
9 * | |
10 @verbatim | |
11 ============================================================================== | |
12 ##### How to use ##### | |
13 ============================================================================== | |
14 @endverbatim | |
15 ****************************************************************************** | |
16 * @attention | |
17 * | |
18 * <h2><center>© COPYRIGHT(c) 2015 heinrichs weikamp</center></h2> | |
19 * | |
20 ****************************************************************************** | |
21 */ | |
22 | |
23 /* Define to prevent recursive inclusion -------------------------------------*/ | |
24 #ifndef BATTERY_CHARGER_H | |
25 #define BATTERY_CHARGER_H | |
26 | |
27 #ifdef __cplusplus | |
28 extern "C" { | |
29 #endif | |
30 | |
31 /* Includes ------------------------------------------------------------------*/ | |
32 #include <stdint.h> | |
33 | |
662 | 34 #define CHARGE_IN_PIN GPIO_PIN_2 |
35 #define CHARGE_IN_GPIO_PORT GPIOC | |
36 #define CHARGE_IN_GPIO_ENABLE() __GPIOC_CLK_ENABLE() | |
37 | |
38 #define CHARGE_OUT_PIN GPIO_PIN_1 | |
39 #define CHARGE_OUT_GPIO_PORT GPIOC | |
40 #define CHARGE_OUT_GPIO_ENABLE() __GPIOC_CLK_ENABLE() | |
38 | 41 |
662 | 42 typedef enum |
43 { | |
44 Charger_NotConnected = 0, /* This is identified reading CHARGE_IN_PIN == HIGH */ | |
45 Charger_WarmUp, /* Charging started but counter did not yet reach a certain limit (used to debounce connect / disconnect events to avoid multiple increases of statistic charging cycle counter) */ | |
46 Charger_Active, /* Charging identified by CHARGE_IN_PIN == LOW for a certain time */ | |
47 Charger_Finished, | |
48 Charger_LostConnection, /* Intermediate state to debounce disconnecting events (including charging error state like over temperature) */ | |
49 Charger_ColdStart, /* Cold start condition => check if an loaded battery has been inserted */ | |
50 Charger_END | |
51 } chargerState_t; | |
52 | |
53 | |
38 | 54 void init_battery_charger_status(void); |
662 | 55 void set_charge_state(chargerState_t newState); |
56 uint8_t get_charge_state(void); | |
38 | 57 void ReInit_battery_charger_status_pins(void); |
58 void DeInit_battery_charger_status_pins(void); | |
643
5149cd644fbc
Reimplemented charger status generation (deactivated):
Ideenmodellierer
parents:
38
diff
changeset
|
59 void battery_charger_get_status_and_contral_battery_gas_gauge(uint8_t cycleTimeBase); |
38 | 60 |
61 #ifdef __cplusplus | |
62 } | |
63 #endif | |
64 | |
65 #endif /* BATTERY_CHARGER_H */ | |
66 | |
67 /************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/ |