foxBMS  1.6.0
The foxBMS Battery Management System API Documentation
afe.h File Reference

AFE driver header. More...

#include "fstd_types.h"
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for afe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  AFE_I2C_QUEUE_s
 

Macros

#define AFE_ERROR_OPEN_WIRE_PERIOD_ms   (30000u)
 

Enumerations

enum  AFE_REQUEST_e { AFE_START_REQUEST , AFE_STOP_REQUEST , AFE_NO_REQUEST , AFE_REQUEST_E_MAX }
 
enum  AFE_I2C_TRANSFER_TYPE_e {
  AFE_I2C_TRANSFER_TYPE_READ , AFE_I2C_TRANSFER_TYPE_WRITEREAD , AFE_I2C_TRANSFER_TYPE_READ_SUCCESS , AFE_I2C_TRANSFER_TYPE_READ_FAIL ,
  AFE_I2C_TRANSFER_TYPE_WRITE , AFE_I2C_TRANSFER_TYPE_WRITE_SUCCESS , AFE_I2C_TRANSFER_TYPE_WRITE_FAIL
}
 

Functions

STD_RETURN_TYPE_e AFE_TriggerIc (void)
 
STD_RETURN_TYPE_e AFE_Initialize (void)
 
bool AFE_IsFirstMeasurementCycleFinished (void)
 Checks if the first AFE measurement cycle was made. More...
 
STD_RETURN_TYPE_e AFE_StartMeasurement (void)
 Makes the initialization request to the AFE state machine. More...
 
STD_RETURN_TYPE_e AFE_RequestIoWrite (uint8_t string)
 Makes the request to the AFE state machine to write to the IO port-expander. More...
 
STD_RETURN_TYPE_e AFE_RequestIoRead (uint8_t string)
 Makes the request to the AFE state machine to read from the IO port-expander. More...
 
STD_RETURN_TYPE_e AFE_RequestTemperatureRead (uint8_t string)
 Makes the request to the AFE state machine to read from the external temperature sensor on slaves. More...
 
STD_RETURN_TYPE_e AFE_RequestBalancingFeedbackRead (uint8_t string)
 Makes the request to the AFE state machine to read balancing feedback from the slaves. More...
 
STD_RETURN_TYPE_e AFE_RequestEepromRead (uint8_t string)
 Makes the request to the AFE state machine to read from the external EEPROM on slaves. More...
 
STD_RETURN_TYPE_e AFE_RequestEepromWrite (uint8_t string)
 Makes the request to the AFE state machine to write to the external EEPROM on slaves. More...
 
STD_RETURN_TYPE_e AFE_RequestOpenWireCheck (uint8_t string)
 Makes the request to the AFE state machine to perform open-wire check. More...
 

Detailed Description

AFE driver header.

SPDX-License-Identifier: BSD-3-Clause

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials:

  • ″This product uses parts of foxBMS®″
  • ″This product includes parts of foxBMS®″
  • ″This product is derived from foxBMS®″
Author
foxBMS Team
Date
2020-05-08 (date of creation)
Updated
2023-10-12 (date of last update)
Version
v1.6.0
Prefix
AFE

TODO

Definition in file afe.h.

Macro Definition Documentation

◆ AFE_ERROR_OPEN_WIRE_PERIOD_ms

#define AFE_ERROR_OPEN_WIRE_PERIOD_ms   (30000u)

period for open wire measurement

Definition at line 100 of file afe.h.

Enumeration Type Documentation

◆ AFE_I2C_TRANSFER_TYPE_e

Type of I2C transfer over AFE slave

Enumerator
AFE_I2C_TRANSFER_TYPE_READ 
AFE_I2C_TRANSFER_TYPE_WRITEREAD 
AFE_I2C_TRANSFER_TYPE_READ_SUCCESS 
AFE_I2C_TRANSFER_TYPE_READ_FAIL 
AFE_I2C_TRANSFER_TYPE_WRITE 
AFE_I2C_TRANSFER_TYPE_WRITE_SUCCESS 
AFE_I2C_TRANSFER_TYPE_WRITE_FAIL 

Definition at line 77 of file afe.h.

◆ AFE_REQUEST_e

Requests for the AFE driver

Enumerator
AFE_START_REQUEST 
AFE_STOP_REQUEST 
AFE_NO_REQUEST 
AFE_REQUEST_E_MAX 

Definition at line 69 of file afe.h.

Function Documentation

◆ AFE_Initialize()

STD_RETURN_TYPE_e AFE_Initialize ( void  )

initializer, this function is called in order to initialize the AFE

Definition at line 80 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_IsFirstMeasurementCycleFinished()

bool AFE_IsFirstMeasurementCycleFinished ( void  )

Checks if the first AFE measurement cycle was made.

this function returns whether the first measurement cycle has finished

Returns
true is the first measurement cycle was made, false otherwise

Definition at line 124 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestBalancingFeedbackRead()

STD_RETURN_TYPE_e AFE_RequestBalancingFeedbackRead ( uint8_t  string)

Makes the request to the AFE state machine to read balancing feedback from the slaves.

Parameters
stringstring addressed by the request

Definition at line 106 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestEepromRead()

STD_RETURN_TYPE_e AFE_RequestEepromRead ( uint8_t  string)

Makes the request to the AFE state machine to read from the external EEPROM on slaves.

Parameters
stringstring addressed by the request

Definition at line 85 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestEepromWrite()

STD_RETURN_TYPE_e AFE_RequestEepromWrite ( uint8_t  string)

Makes the request to the AFE state machine to write to the external EEPROM on slaves.

Parameters
stringstring addressed by the request

Definition at line 92 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestIoRead()

STD_RETURN_TYPE_e AFE_RequestIoRead ( uint8_t  string)

Makes the request to the AFE state machine to read from the IO port-expander.

Parameters
stringstring addressed by the request

Definition at line 128 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestIoWrite()

STD_RETURN_TYPE_e AFE_RequestIoWrite ( uint8_t  string)

Makes the request to the AFE state machine to write to the IO port-expander.

Parameters
stringstring addressed by the request

Definition at line 135 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestOpenWireCheck()

STD_RETURN_TYPE_e AFE_RequestOpenWireCheck ( uint8_t  string)

Makes the request to the AFE state machine to perform open-wire check.

Parameters
stringstring addressed by the request

Definition at line 113 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_RequestTemperatureRead()

STD_RETURN_TYPE_e AFE_RequestTemperatureRead ( uint8_t  string)

Makes the request to the AFE state machine to read from the external temperature sensor on slaves.

Parameters
stringstring addressed by the request

Definition at line 99 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_StartMeasurement()

STD_RETURN_TYPE_e AFE_StartMeasurement ( void  )

Makes the initialization request to the AFE state machine.

Returns
true or false

Definition at line 120 of file adi_ades183x_afe.c.

Here is the call graph for this function:

◆ AFE_TriggerIc()

STD_RETURN_TYPE_e AFE_TriggerIc ( void  )

tick function, this function is called to advance the state machine

Definition at line 75 of file adi_ades183x_afe.c.

Here is the call graph for this function: