/*
 * File: BSER_BattSoeCalc.h
 *
 * Code generated for Simulink model 'BSER_BattSoeCalc'.
 *
 * Model version                  : A100.3_0
 * Simulink Coder version         : 8.11 (R2016b) 25-Aug-2016
 * C/C++ source code generated on : Sat Oct 10 17:30:29 2020
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Infineon->TriCore
 * Code generation objectives:
 *    1. MISRA C:2012 guidelines
 *    2. Execution efficiency
 * Validation result: Not run
 */

#ifndef RTW_HEADER_BSER_BattSoeCalc_h_
#define RTW_HEADER_BSER_BattSoeCalc_h_
#include <math.h>
#include <stddef.h>
#ifndef BSER_BattSoeCalc_COMMON_INCLUDES_
# define BSER_BattSoeCalc_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif                                 /* BSER_BattSoeCalc_COMMON_INCLUDES_ */

#include "BSER_BattSoeCalc_types.h"

/* Includes for objects with custom storage classes. */
#include "SoeParameter.h"
#include "look1_iflf_binlcapw.h"

/* Macros for accessing real-time model data structure */

/* user code (top of header file) */
#include "ASW_Interface.h"

/* Block signals (auto storage) */
typedef struct {
  boolean_T IniEna;                    /* '<S1>/SoeControl' */
} B_BSER_BattSoeCalc_T;

/* Block states (auto storage) for system '<Root>' */
typedef struct {
  real32_T Delay1_DSTATE;              /* '<S3>/Delay1' */
  real32_T Delay2_DSTATE;              /* '<S3>/Delay2' */
  real32_T Delay3_DSTATE;              /* '<S3>/Delay3' */
  real32_T Delay1_DSTATE_c;            /* '<S2>/Delay1' */
  uint32_T temporalCounter_i1;         /* '<S1>/SoeControl' */
  uint8_T is_active_c3_BSER_BattSoeCalc;/* '<S1>/SoeControl' */
  uint8_T is_c3_BSER_BattSoeCalc;      /* '<S1>/SoeControl' */
} DW_BSER_BattSoeCalc_T;

/* Block signals (auto storage) */
extern B_BSER_BattSoeCalc_T BSER_BattSoeCalc_B;

/* Block states (auto storage) */
extern DW_BSER_BattSoeCalc_T BSER_BattSoeCalc_DW;

/* Model entry point functions */
extern void BSER_BattSoeCalc_initialize(void);
extern void BSER_BattSoeCalc_step(void);

/* Exported data declaration */
#define ASW1_OEM_START_SEC_DEFAULT_RAM1_CLEARED_UNSPECIFIED
#include "Asw1_OEM_MemMap.h"

/* Declaration for custom storage class: OutputSignal */
extern volatile real32_T BSER_ahBattCap;
extern volatile real32_T BSER_eBattNrmEnrg;/* Battary Pack Nominal Engergy */
extern volatile real32_T BSER_eSoe;    /* Battary Pack State of Engergy */
extern volatile real32_T BSER_eSoeOcv; /* SOE based on battery OCV */
extern volatile real32_T BSER_eSoeUbatt;/* SOE based on battery voltage */

#define ASW1_OEM_STOP_SEC_DEFAULT_RAM1_CLEARED_UNSPECIFIED
#include "Asw1_OEM_MemMap.h"

/*-
 * The generated code includes comments that allow you to trace directly
 * back to the appropriate location in the model.  The basic format
 * is <system>/block_name, where system is the system number (uniquely
 * assigned by Simulink) and block_name is the name of the block.
 *
 * Use the MATLAB hilite_system command to trace the generated code back
 * to the model.  For example,
 *
 * hilite_system('<S3>')    - opens system 3
 * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
 *
 * Here is the system hierarchy for this model
 *
 * '<Root>' : 'BSER_BattSoeCalc'
 * '<S1>'   : 'BSER_BattSoeCalc/BSER_SOE'
 * '<S2>'   : 'BSER_BattSoeCalc/BSER_SOE/Cap_Cont'
 * '<S3>'   : 'BSER_BattSoeCalc/BSER_SOE/Soe'
 * '<S4>'   : 'BSER_BattSoeCalc/BSER_SOE/SoeControl'
 * '<S5>'   : 'BSER_BattSoeCalc/BSER_SOE/Cap_Cont/SOE_Filter '
 * '<S6>'   : 'BSER_BattSoeCalc/BSER_SOE/Cap_Cont/SOE_Filter /Compare To Constant'
 * '<S7>'   : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 1'
 * '<S8>'   : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 2'
 * '<S9>'   : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 3'
 * '<S10>'  : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 1/Compare To Constant'
 * '<S11>'  : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 2/Compare To Constant'
 * '<S12>'  : 'BSER_BattSoeCalc/BSER_SOE/Soe/SOE_Filter 3/Compare To Constant'
 */
#endif                                 /* RTW_HEADER_BSER_BattSoeCalc_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
