21 #define NUMBATTSA BPC1IF::NUMBATTSA
22 #define NUMBATTSB BPC1IF::NUMBATTSB
24 #define SHORT_MSG_MIN_SIZE 199 // bytes. For the mux that has only 7 sticks
25 #define SHORT_MSG_MAX_SIZE 216 // bytes. For the other 3 mux that have 8 sticks
26 #define FULL_MSG_MIN_SIZE 1676 // bytes. Includes echoed "X" and spaces
27 #define FULL_MSG_MAX_SIZE 1904 // bytes. Includes echoed "X" and spaces
29 #define MESSAGE_OFFSET 77 // bytes. Length of system and controller data
30 #define SMBUS_MSG_LEN 228 // bytes. Includes the $B1n and checksum that IBPS adds
32 #define MAX_STICKS 8 // There can only be up to 8 sticks connected.
224 void checkBatt(
const float capacity,
const float voltage );
228 int validData(
int dataToCheck,
int &msgOffset );
void calculateTotals(void)
Definition: BPC1.cpp:788
Contains the SyncComponent class definition.
virtual RunState pause()
Pause for a short period (indicated by pauseTime)
Definition: BPC1.cpp:306
Timestamp muxTime_
Definition: BPC1.h:119
Contains the LoadControl class declaration.
bool readConfig()
Definition: BPC1.cpp:185
bool aParsed_
Definition: BPC1.h:240
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
bool voltagesPopulated()
Definition: BPC1.cpp:739
bool ok_
Definition: BPC1.h:237
virtual RunState pausing()
Waiting to be paused.
Definition: BPC1.cpp:320
virtual RunState starting()
Might follow a STOP...START sequence.
Definition: BPC1.cpp:269
BattStick()
Definition: BPC1.cpp:888
Abstract Base class for components that collect data for use later in the computation cycle...
Definition: SyncComponent.h:172
ConfigReader * batteryVoltageThresholdCfgReader_
Definition: BPC1.h:200
virtual ConfigURI getConfigURI(ConfigOption configOption) const
Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc.
Definition: BPC1.cpp:873
DataWriter * battStatusWriter_
Definition: BPC1.h:183
BattStick battSticks_[NUMBATTSA+NUMBATTSB]
Definition: BPC1.h:191
virtual RunState stop()
Initial state – can be later followed by START.
Definition: BPC1.cpp:496
void setWritersInvalid(bool invalid)
Definition: BPC1.cpp:766
Timespan battTimeout_
Definition: BPC1.h:117
virtual RunState runnable()
Should eventually follow a START request or RESETTING.
Definition: BPC1.cpp:384
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
DataWriter * battTempWriter_
Definition: BPC1.h:166
RunState
Definition: Component.h:115
Contains the UartStream class declaration.
virtual ~BPC1()
Definition: BPC1.cpp:174
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
unsigned int serialNumber_
Definition: BPC1.h:186
static BPC1 * Instance_
Pointer to the singleton-like instance of this component.
Definition: BPC1.h:109
UniversalDataWriter * batteryChargeWriter_
Definition: BPC1.h:193
UartStream uartB_
Definition: BPC1.h:145
Implements both InStream and OutStream for the LPC3XXX Standard UART.
Definition: UartStream.h:26
#define NUMBATTSA
Definition: BPC1.h:21
bool isDataRequested()
Definition: BPC1.cpp:545
char deviceResponseA_[2120]
Definition: BPC1.h:140
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
float batteryCapacityThreshold_
Definition: BPC1.h:156
Definition: ElementURI.h:166
UartStream uartA_
Definition: BPC1.h:144
virtual RunState resetting()
Might occur in case of Error.
Definition: BPC1.h:81
Timestamp startTimeA_
Definition: BPC1.h:118
virtual RunState stopped()
Initial state – can be later followed by START.
Definition: BPC1.cpp:521
float capacity_
Definition: BPC1.h:177
float totalVoltageA_
Definition: BPC1.h:151
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
float totalVoltageB_
Definition: BPC1.h:153
void checkBatt(const float capacity, const float voltage)
Definition: BPC1.cpp:803
Timespan poTimeout_
Definition: BPC1.h:117
virtual RunState stopping()
Might follow a STOP request.
Definition: BPC1.cpp:510
char deviceResponseB_[2120]
Definition: BPC1.h:141
UniversalDataWriter * batteryFullyChargedWriter_
Definition: BPC1.h:196
float batteryVoltageThreshold_
Definition: BPC1.h:157
virtual RunState resume()
Resume from PAUSE.
Definition: BPC1.cpp:360
Specifies the interface details for the BPC1 component in the SensorModule.
float totalCapacity_
Definition: BPC1.h:148
bool voltageFailed_
Definition: BPC1.h:244
#define NUMBATTSB
Definition: BPC1.h:22
Definition: ConfigReader.h:13
virtual RunState resuming()
Might follow a PAUSE...RESUME sequence.
Definition: BPC1.cpp:377
bool debug_
Definition: BPC1.h:115
DataWriter * battCurrentWriter_
Definition: BPC1.h:174
virtual void uninitialize()
Provide a space for uninitialization.
Definition: BPC1.cpp:204
void setVoltagesNull(void)
Definition: BPC1.cpp:756
Contains the Logger class definition.
DataWriter * battSerialWriter_
Definition: BPC1.h:187
bool bParsed_
Definition: BPC1.h:240
bool parseWriteDataB(int size, int offset)
Definition: BPC1.cpp:642
Timespan muxTimeout_
Definition: BPC1.h:117
float totalVoltage_
Definition: BPC1.h:149
UniversalDataWriter * batteryDischargingWriter_
Definition: BPC1.h:195
BPC1(const Module *module)
Definition: BPC1.cpp:129
float voltage_
Definition: BPC1.h:169
virtual void run()
The actual "payload" of the component.
Definition: BPC1.cpp:180
void sendIBPSBreak(void)
Definition: BPC1.cpp:854
SMBStatus
Definition: BPC1.h:122
Provides software interface to the Battery Pack Controller.
Definition: BPC1.h:45
int status_
Definition: BPC1.h:181
float temp_
Definition: BPC1.h:165
Timestamp startTime_
Definition: BPC1.h:119
float totalCapacityB_
Definition: BPC1.h:152
virtual RunState start()
Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence.
Definition: BPC1.cpp:219
bool parseWriteDataA(int size, int offset)
Definition: BPC1.cpp:551
bool menusInitialized()
Definition: BPC1.cpp:862
Timestamp startTimeB_
Definition: BPC1.h:118
ConfigOption
Definition: Component.h:456
int validData(int dataToCheck, int &msgOffset)
Definition: BPC1.cpp:819
bool capacityFailed_
Definition: BPC1.h:243
DataWriter * battCapacityWriter_
Definition: BPC1.h:178
float current_
Definition: BPC1.h:173
ConfigReader * batteryCapacityThresholdCfgReader_
Definition: BPC1.h:199
virtual RunState paused()
Should eventually follow a PAUSE request: should set continueTime.
Definition: BPC1.cpp:349
Represents absolute times.
Definition: Timestamp.h:31
UniversalDataWriter * batteryVoltageWriter_
Definition: BPC1.h:194
DataWriter * battVoltageWriter_
Definition: BPC1.h:170
float totalCapacityA_
Definition: BPC1.h:150