Midnight Sun Firmware
Loading...
Searching...
No Matches
bms_carrier.h
1#pragma once
2
3/************************************************************************************************
4 * @file bms_carrier.h
5 *
6 * @brief Header file for bms_carrier
7 *
8 * @date 2025-01-12
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdint.h>
14
15/* Inter-component Headers */
16#include "i2c.h"
17#include "ltc_afe.h"
18#include "max17261_fuel_gauge.h"
19#include "status.h"
20
21/* Intra-component Headers */
22
29/* Forward declarations of all storages */
30
32struct FanSettings;
33struct AuxSenseStorage;
34struct FaultBpsStorage;
36struct RelayStorage;
37
41typedef struct {
42 uint8_t series_count;
43 uint8_t parallel_count;
44 uint16_t pack_capacity;
45} BmsConfig;
46
50typedef struct {
51 int32_t pack_current;
52 uint32_t pack_voltage;
53 uint16_t temperature;
67
76
StatusCode
StatusCodes for various errors.
Definition: status.h:27
StatusCode bms_carrier_init(BmsStorage *storage, BmsConfig *config)
Initialize the battery-management system.
Definition: bms_carrier.c:17
Aux sense storage.
Definition: aux_sense.h:28
Battery management system configuration data.
Definition: bms_carrier.h:41
Battery management system storage.
Definition: bms_carrier.h:50
Max17261Settings fuel_guage_settings
Definition: bms_carrier.h:57
Max17261Storage fuel_guage_storage
Definition: bms_carrier.h:58
BmsConfig bms_config
Definition: bms_carrier.h:55
uint16_t temperature
Definition: bms_carrier.h:53
LtcAfeStorage ltc_afe_storage
Definition: bms_carrier.h:56
struct RelayStorage * relay_storage
Definition: bms_carrier.h:65
struct AuxSenseStorage * aux_sense_storage
Definition: bms_carrier.h:62
struct FaultBpsStorage * fault_bps_storage
Definition: bms_carrier.h:63
struct FanSettings * fan_settings
Definition: bms_carrier.h:61
struct PrechargeSettings * precharge_settings
Definition: bms_carrier.h:60
struct StateOfChargeStorage * state_of_charge_storage
Definition: bms_carrier.h:64
uint32_t pack_voltage
Definition: bms_carrier.h:52
int32_t pack_current
Definition: bms_carrier.h:51
Fan settings.
Definition: fan.h:32
Fault storage for battery-protection system.
Definition: fault_bps.h:31
Definition: ltc_afe.h:88
Definition: max17261_fuel_gauge.h:41
Definition: max17261_fuel_gauge.h:57
Precharge settings.
Definition: precharge.h:35
Relay storage.
Definition: relays.h:38
State of charge storage.
Definition: state_of_charge.h:40