foxBMS  1.1.1
The foxBMS Battery Management System API Documentation
n775_defs.h File Reference

Definitions for the driver for the MC33775A monitoring chip. More...

#include "general.h"
#include "database.h"
#include "spi.h"
Include dependency graph for n775_defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  N775_MUX_CH_CFG_s
 
struct  N775_MUX_SEQUENCE_s
 
struct  N775_DATAPTR_s
 
struct  N775_ERROR_s
 
struct  N775_CONFIG_s
 
struct  N775_STATE
 
struct  N775_MESSAGE
 

Typedefs

typedef struct N775_STATE N775_STATE_s
 
typedef struct N775_MESSAGE N775_MESSAGE_s
 

Enumerations

enum  N775_COMMAND_e { N775_CMD_WAKEUP_NOP = 0x00 , N775_CMD_READ = 0x01 , N775_CMD_WRITE = 0x02 , N775_CMD_RESPONSE = 0x03 }
 
enum  N775_MADD_e { N775_MADD_MASTER0 = 0x00 , N775_MADD_MASTER1 = 0x01 }
 
enum  N775_STATEMACH_e {
  N775_STATEMACH_UNINITIALIZED , N775_STATEMACH_INITIALIZATION , N775_STATEMACH_WAKEUP , N775_STATEMACH_ENUMERATE ,
  N775_STATEMACH_INITIALIZED , N775_STATEMACH_IDLE , N775_STATEMACH_STARTMEAS , N775_STATEMACH_READVOLTAGE ,
  N775_STATEMACH_BALANCECONTROL
}
 
enum  N775_STATEMACH_SUB_e {
  N775_ENTRY , N775_SECOND_WAKEUP , N775_CHECK_ENUMERATION , N775_ERROR_ENTRY ,
  N775_ERROR_PROCESSED
}
 
enum  N775_STATEMACH_UNINITIALIZED_SUB_e { N775_ENTRY_UNINITIALIZED = 0 }
 
enum  N775_STATEMACH_INITIALIZATION_SUB_e {
  N775_ENTRY_INITIALIZATION = 0 , N775_START_INIT_INITIALIZATION = 1 , N775_RE_ENTRY_INITIALIZATION = 2 , N775_READ_INITIALIZATION_REGISTER = 3 ,
  N775_CHECK_INITIALIZATION = 4 , N775_EXIT_INITIALIZATION = 5
}
 
enum  N775_STATE_REQUEST_e { N775_STATE_INIT_REQUEST , N775_STATE_NO_REQUEST }
 
enum  N775_RETURN_TYPE_e {
  N775_OK = 0 , N775_BUSY_OK = 1 , N775_REQUEST_PENDING = 2 , N775_ILLEGAL_REQUEST = 3 ,
  N775_SPI_ERROR = 4 , N775_PEC_ERROR = 5 , N775_MUX_ERROR = 6 , N775_INIT_ERROR = 7 ,
  N775_OK_FROM_ERROR = 8 , N775_ERROR = 20 , N775_ALREADY_INITIALIZED = 30 , N775_ILLEGAL_TASK_TYPE = 99
}
 
enum  N775_REUSE_MODE_e { N775_NOT_REUSED = 0 , N775_REUSE_READVOLT_FOR_ADOW_PUP = 1 , N775_REUSE_READVOLT_FOR_ADOW_PDOWN = 2 }
 
enum  N775_PORT_EXPANDER_TI_DIRECTION_e { N775_PORT_EXPANDER_TI_OUTPUT = 0x0 , N775_PORT_EXPANDER_TI_INPUT = 0xFF }
 

Detailed Description

Definitions for the driver for the MC33775A monitoring chip.

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
2015-09-01 (date of creation)
Updated
2015-09-01 (date of last update)
Prefix
N775

Definition in file n775_defs.h.

Typedef Documentation

◆ N775_MESSAGE_s

typedef struct N775_MESSAGE N775_MESSAGE_s

This structure reflects the messages used by the NXP MC33775A

◆ N775_STATE_s

typedef struct N775_STATE N775_STATE_s

This structure contains all the variables relevant for the N775 state machine. The user can get the current state of the N775 state machine with this variable

Enumeration Type Documentation

◆ N775_COMMAND_e

Command types supported by the MC33775A

Enumerator
N775_CMD_WAKEUP_NOP 
N775_CMD_READ 
N775_CMD_WRITE 
N775_CMD_RESPONSE 

Definition at line 68 of file n775_defs.h.

◆ N775_MADD_e

MADD values supported by the MC33775A

Enumerator
N775_MADD_MASTER0 
N775_MADD_MASTER1 

Definition at line 76 of file n775_defs.h.

◆ N775_PORT_EXPANDER_TI_DIRECTION_e

TI port expander IO direction (input or output)

Enumerator
N775_PORT_EXPANDER_TI_OUTPUT 
N775_PORT_EXPANDER_TI_INPUT 

Definition at line 218 of file n775_defs.h.

◆ N775_RETURN_TYPE_e

Possible return values when state requests are made to the N775 statemachine

Enumerator
N775_OK 

N775 --> ok

N775_BUSY_OK 

N775 under load --> ok

N775_REQUEST_PENDING 

requested to be executed

N775_ILLEGAL_REQUEST 

Request can not be executed

N775_SPI_ERROR 

Error state: Source: SPI

N775_PEC_ERROR 

Error state: Source: PEC

N775_MUX_ERROR 

Error state: Source: MUX

N775_INIT_ERROR 

Error state: Source: Initialization

N775_OK_FROM_ERROR 

Return from error --> ok

N775_ERROR 

General error state

N775_ALREADY_INITIALIZED 

Initialization of N775 already finished

N775_ILLEGAL_TASK_TYPE 

Illegal

Definition at line 128 of file n775_defs.h.

◆ N775_REUSE_MODE_e

Enumerator
N775_NOT_REUSED 
N775_REUSE_READVOLT_FOR_ADOW_PUP 
N775_REUSE_READVOLT_FOR_ADOW_PDOWN 

Definition at line 211 of file n775_defs.h.

◆ N775_STATE_REQUEST_e

State requests for the N775 statemachine

Enumerator
N775_STATE_INIT_REQUEST 
N775_STATE_NO_REQUEST 

Definition at line 120 of file n775_defs.h.

◆ N775_STATEMACH_e

States of the N775 state machine

Enumerator
N775_STATEMACH_UNINITIALIZED 
N775_STATEMACH_INITIALIZATION 
N775_STATEMACH_WAKEUP 
N775_STATEMACH_ENUMERATE 
N775_STATEMACH_INITIALIZED 
N775_STATEMACH_IDLE 
N775_STATEMACH_STARTMEAS 
N775_STATEMACH_READVOLTAGE 
N775_STATEMACH_BALANCECONTROL 

Definition at line 82 of file n775_defs.h.

◆ N775_STATEMACH_INITIALIZATION_SUB_e

Substates for the initialization state

Enumerator
N775_ENTRY_INITIALIZATION 
N775_START_INIT_INITIALIZATION 
N775_RE_ENTRY_INITIALIZATION 
N775_READ_INITIALIZATION_REGISTER 
N775_CHECK_INITIALIZATION 
N775_EXIT_INITIALIZATION 

Definition at line 109 of file n775_defs.h.

◆ N775_STATEMACH_SUB_e

General substates

Enumerator
N775_ENTRY 
N775_SECOND_WAKEUP 
N775_CHECK_ENUMERATION 
N775_ERROR_ENTRY 
N775_ERROR_PROCESSED 

Definition at line 95 of file n775_defs.h.

◆ N775_STATEMACH_UNINITIALIZED_SUB_e

Substates for the uninitialized state

Enumerator
N775_ENTRY_UNINITIALIZED 

Initialize-sequence

Definition at line 104 of file n775_defs.h.