File dump from Analog
This commit is contained in:
94
Keil_Studio_Cloud/inc/adBms_Application.h
Normal file
94
Keil_Studio_Cloud/inc/adBms_Application.h
Normal file
@ -0,0 +1,94 @@
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2020 - Analog Devices Inc. All Rights Reserved.
|
||||
This software is proprietary & confidential to Analog Devices, Inc.
|
||||
and its licensor.
|
||||
******************************************************************************
|
||||
* @file: adBms_Application.h
|
||||
* @brief: Bms application header file
|
||||
* @version: $Revision$
|
||||
* @date: $Date$
|
||||
* Developed by: ADIBMS Software team, Bangalore, India
|
||||
*****************************************************************************/
|
||||
/*! @addtogroup APPLICATION
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
/*! @addtogroup APPLICATION
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __APPLICATION_H
|
||||
#define __APPLICATION_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "adbms_main.h"
|
||||
|
||||
void app_main(void);
|
||||
void run_command(int cmd);
|
||||
void adBms6830_init_config(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_write_read_config(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_config(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_adc_cell_voltage_measurment(uint8_t tIC);
|
||||
void adBms6830_read_cell_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_adc_s_voltage_measurment(uint8_t tIC);
|
||||
void adBms6830_read_s_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_avgcell_voltage_measurment(uint8_t tIC);
|
||||
void adBms6830_read_avgcell_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_fcell_voltage_measurment(uint8_t tIC);
|
||||
void adBms6830_read_fcell_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_aux_voltage_measurment(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_aux_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_start_raux_voltage_measurment(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_raux_voltages(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_status_registers(uint8_t tIC, cell_asic *ic);
|
||||
void measurement_loop(void);
|
||||
void adBms6830_read_device_sid(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_set_reset_gpio_pins(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_enable_mute(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_disable_mute(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_soft_reset(uint8_t tIC);
|
||||
void adBms6830_reset_cmd_count(uint8_t tIC);
|
||||
void adBms6830_reset_pec_error_flag(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_snap(uint8_t tIC);
|
||||
void adBms6830_unsnap(uint8_t tIC);
|
||||
void adBms6830_clear_cell_measurement(uint8_t tIC);
|
||||
void adBms6830_clear_aux_measurement(uint8_t tIC);
|
||||
void adBms6830_clear_spin_measurement(uint8_t tIC);
|
||||
void adBms6830_clear_fcell_measurement(uint8_t tIC);
|
||||
void adBms6830_clear_ovuv_measurement(uint8_t tIC);
|
||||
void adBms6830_clear_all_flags(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_set_dcc_discharge(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_clear_dcc_discharge(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_write_read_pwm_duty_cycle(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_gpio_spi_communication(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_gpio_i2c_write_to_slave(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_gpio_i2c_read_from_slave(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_set_dtrng_dcto_value(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_osc_mismatch_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_thermal_shutdown_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_supply_error_detection_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_thermal_shutdown_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_fuse_ed_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_fuse_med_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_run_tmodchk_self_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_check_latent_fault_csflt_status_bits(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_check_rdstatc_err_bit_functionality(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_cell_openwire_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_redundant_cell_openwire_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_cell_ow_volatge_collect(uint8_t tIC, cell_asic *ic, TYPE type, OW_C_S ow_c_s);
|
||||
void adBms6830_aux_openwire_test(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_gpio_pup_up_down_volatge_collect(uint8_t tIC, cell_asic *ic, PUP pup);
|
||||
void adBms6830_open_wire_detection_condtion_check(uint8_t tIC, cell_asic *ic, TYPE type);
|
||||
void adBms6830_read_rdcvall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdacall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdsall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdfcall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdcsall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdacsall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
void adBms6830_read_rdasall_voltage(uint8_t tIC, cell_asic *ic);
|
||||
|
||||
#endif
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
36
Keil_Studio_Cloud/inc/adbms_main.h
Normal file
36
Keil_Studio_Cloud/inc/adbms_main.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2020 - Analog Devices Inc. All Rights Reserved.
|
||||
This software is proprietary & confidential to Analog Devices, Inc.
|
||||
and its licensor.
|
||||
******************************************************************************
|
||||
* @file: adbms_main.h
|
||||
* @brief: adbms main Heade file
|
||||
* @version: $Revision$
|
||||
* @date: $Date$
|
||||
* Developed by: ADIBMS Software team, Bangalore, India
|
||||
*****************************************************************************/
|
||||
/** @addtogroup MAIN
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
/** @addtogroup ADBMS_MAIN MAIN
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
#ifndef _ADBMS6830_MAIN_H
|
||||
#define _ADBMS6830_MAIN_H
|
||||
|
||||
//#include "main.h"
|
||||
#include "common.h"
|
||||
#include "adBms6830Data.h"
|
||||
#include "adBms6830GenericType.h"
|
||||
#include "adBms6830ParseCreate.h"
|
||||
#include "mcuWrapper.h"
|
||||
|
||||
|
||||
void adbms_main(void);
|
||||
|
||||
#endif
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
29
Keil_Studio_Cloud/inc/common.h
Normal file
29
Keil_Studio_Cloud/inc/common.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2020 - Analog Devices Inc. All Rights Reserved.
|
||||
This software is proprietary & confidential to Analog Devices, Inc.
|
||||
and its licensor.
|
||||
******************************************************************************
|
||||
* @file: common.h
|
||||
* @brief: Standard common header files
|
||||
* @version: $Revision$
|
||||
* @date: $Date$
|
||||
* Developed by: ADIBMS Software team, Bangalore, India
|
||||
*****************************************************************************/
|
||||
#ifndef __COMMON_H_
|
||||
#define __COMMON_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define MBED /* Switch between IAR Workbench or Mbed Studio. */
|
||||
|
||||
#ifdef MBED
|
||||
#include "mbed.h"
|
||||
#include "SPI.h"
|
||||
#include "Timer.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
69
Keil_Studio_Cloud/inc/mcuWrapper.h
Normal file
69
Keil_Studio_Cloud/inc/mcuWrapper.h
Normal file
@ -0,0 +1,69 @@
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2020 - Analog Devices Inc. All Rights Reserved.
|
||||
This software is proprietary & confidential to Analog Devices, Inc.
|
||||
and its licensor.
|
||||
******************************************************************************
|
||||
* @file: mcuWrapper.h
|
||||
* @brief: Generic wrapper header file
|
||||
* @version: $Revision$
|
||||
* @date: $Date$
|
||||
* Developed by: ADIBMS Software team, Bangalore, India
|
||||
*****************************************************************************/
|
||||
/** @addtogroup MUC_DRIVER
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
/** @addtogroup SPI_DRIVER SPI DRIVER
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
#ifndef __ADBMSWRAPPER_H
|
||||
#define __ADBMSWRAPPER_H
|
||||
#include "common.h"
|
||||
|
||||
#ifdef MBED
|
||||
|
||||
#else
|
||||
#include "main.h"
|
||||
#include "stm32f4xx_hal.h"
|
||||
#include "stm32f4xx_hal_tim.h"
|
||||
#include "stm32f4xx_it.h"
|
||||
|
||||
extern ADC_HandleTypeDef hadc1; /* Mcu dependent ADC handler */
|
||||
extern I2C_HandleTypeDef hi2c1; /* Mcu dependent I2C handler */
|
||||
extern I2C_HandleTypeDef hi2c3; /* Mcu dependent I2C handler */
|
||||
extern SPI_HandleTypeDef hspi1; /* Mcu dependent SPI handler */
|
||||
extern SPI_HandleTypeDef hspi5; /* Mcu dependent SPI handler */
|
||||
extern UART_HandleTypeDef huart4; /* Mcu dependent UART handler */
|
||||
extern UART_HandleTypeDef huart5; /* Mcu dependent UART handler */
|
||||
extern TIM_HandleTypeDef htim2; /* Mcu dependent TIM handler */
|
||||
extern TIM_HandleTypeDef htim5; /* Mcu dependent TIM handler */
|
||||
|
||||
#define CS_PIN ARDUINO_GPIO10_Pin /* Mcu dependent chip select */
|
||||
#define GPIO_PORT ARDUINO_GPIO10_GPIO_Port /* Mcu dependent adc chip select port */
|
||||
#endif
|
||||
|
||||
void Delay_ms(uint32_t delay);
|
||||
void adBmsCsLow(void);
|
||||
void adBmsCsHigh(void);
|
||||
void spiWriteBytes
|
||||
(
|
||||
uint16_t size, /*Option: Number of bytes to be written on the SPI port*/
|
||||
uint8_t *tx_Data /*Array of bytes to be written on the SPI port*/
|
||||
);
|
||||
void spiWriteReadBytes
|
||||
(
|
||||
uint8_t *tx_data, /*array of data to be written on SPI port*/
|
||||
uint8_t *rx_data, /*Input: array that will store the data read by the SPI port*/
|
||||
uint16_t size /*Option: number of bytes*/
|
||||
);
|
||||
void spiReadBytes(uint16_t size, uint8_t *rx_data);
|
||||
void startTimer(void);
|
||||
void stopTimer(void);
|
||||
uint32_t getTimCount(void);
|
||||
void adBmsWakeupIc(uint8_t total_ic);
|
||||
|
||||
#endif
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
46
Keil_Studio_Cloud/inc/serialPrintResult.h
Normal file
46
Keil_Studio_Cloud/inc/serialPrintResult.h
Normal file
@ -0,0 +1,46 @@
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2020 - Analog Devices Inc. All Rights Reserved.
|
||||
This software is proprietary & confidential to Analog Devices, Inc.
|
||||
and its licensor.
|
||||
******************************************************************************
|
||||
* @file: serialPrintResult.h
|
||||
* @brief: Print IO terminal functions
|
||||
* @version: $Revision$
|
||||
* @date: $Date$
|
||||
* Developed by: ADIBMS Software team, Bangalore, India
|
||||
*****************************************************************************/
|
||||
/*! @addtogroup RESULT_PRINT
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
/*! @addtogroup RESULT PRINT I/O
|
||||
* @{
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RESULT_H
|
||||
#define __RESULT_H
|
||||
|
||||
#include "adbms_main.h"
|
||||
|
||||
void printWriteConfig(uint8_t tIC, cell_asic *IC, TYPE type, GRP grp);
|
||||
void printReadConfig(uint8_t tIC, cell_asic *IC, TYPE type, GRP grp);
|
||||
void printVoltages(uint8_t tIC, cell_asic *IC, TYPE type);
|
||||
void printStatus(uint8_t tIC, cell_asic *IC, TYPE type, GRP grp);
|
||||
void printDeviceSID(uint8_t tIC, cell_asic *IC, TYPE type);
|
||||
void printWritePwmDutyCycle(uint8_t tIC, cell_asic *IC, TYPE type, GRP grp);
|
||||
void printReadPwmDutyCycle(uint8_t tIC, cell_asic *IC, TYPE type, GRP grp);
|
||||
void printWriteCommData(uint8_t tIC, cell_asic *IC, TYPE type);
|
||||
void printReadCommData(uint8_t tIC, cell_asic *IC, TYPE type);
|
||||
void printDiagnosticTestResult(uint8_t tIC, cell_asic *IC, DIAGNOSTIC_TYPE type);
|
||||
void diagnosticTestResultPrint(uint8_t result);
|
||||
void printOpenWireTestResult(uint8_t tIC, cell_asic *IC, TYPE type);
|
||||
void openWireResultPrint(uint8_t result);
|
||||
float getVoltage(int data);
|
||||
void printPollAdcConvTime(int count);
|
||||
void printMenu();
|
||||
|
||||
#endif
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
Reference in New Issue
Block a user