/*
 * File: COMR_RtcCalc.h
 *
 * Code generated for Simulink model 'COMR_RtcCalc'.
 *
 * Model version                  : A1.0_0
 * Simulink Coder version         : 8.11 (R2016b) 25-Aug-2016
 * C/C++ source code generated on : Fri Sep 25 16:59:33 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_COMR_RtcCalc_h_
#define RTW_HEADER_COMR_RtcCalc_h_
#include <math.h>
#include <stddef.h>
#ifndef COMR_RtcCalc_COMMON_INCLUDES_
# define COMR_RtcCalc_COMMON_INCLUDES_
#include "rtwtypes.h"
#include "zero_crossing_types.h"
#endif                                 /* COMR_RtcCalc_COMMON_INCLUDES_ */

#include "COMR_RtcCalc_types.h"

/* Includes for objects with custom storage classes. */
#include "ComrRTC_parameters.h"
#include "plook_u32u8_bincka.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 {
  real32_T Saturation;                 /* '<S10>/Saturation' */
} B_COMR_RtcCalc_T;

/* Block states (auto storage) for system '<Root>' */
typedef struct {
  real32_T Delay_DSTATE;               /* '<S6>/Delay' */
  boolean_T UnitDelay_DSTATE;          /* '<S1>/Unit Delay' */
} DW_COMR_RtcCalc_T;

/* Zero-crossing (trigger) state */
typedef struct {
  ZCSigState COMR_RtcCalc_Trig_ZCE;    /* '<S1>/COMR_RtcCalc' */
} PrevZCX_COMR_RtcCalc_T;

/* Block signals (auto storage) */
extern B_COMR_RtcCalc_T COMR_RtcCalc_B;

/* Block states (auto storage) */
extern DW_COMR_RtcCalc_T COMR_RtcCalc_DW;

/* Model entry point functions */
extern void COMR_RtcCalc_initialize(void);
extern void COMR_RtcCalc_step(void);

/* Exported data declaration */

/* Declaration for custom storage class: OutputSignal */
extern volatile boolean_T COMR_BMSCalCondEna_C;
extern volatile boolean_T COMR_BMSCalEna1_C;
extern volatile boolean_T COMR_BMSCalEna2_C;
extern volatile uint8_T COMR_DaySetWt;
extern volatile uint8_T COMR_HourSetWt;
extern volatile uint8_T COMR_MinSetWt;
extern volatile uint8_T COMR_MonthSetWt;
extern volatile uint16_T COMR_YearSetWt;
extern volatile real32_T COMR_tiDayCalTime;
extern volatile real32_T COMR_tiDayNvmTime;
extern volatile real32_T COMR_tiMinCalStopTime;
extern volatile real32_T COMR_tiStopTime;

/*-
 * 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>' : 'COMR_RtcCalc'
 * '<S1>'   : 'COMR_RtcCalc/COMR_RtcCalc'
 * '<S2>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_BswCalc'
 * '<S3>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_NvmWt'
 * '<S4>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_RtcCalc'
 * '<S5>'   : 'COMR_RtcCalc/COMR_RtcCalc/DSM_GetSFCZyf2'
 * '<S6>'   : 'COMR_RtcCalc/COMR_RtcCalc/TONV_100msTimeDebounce'
 * '<S7>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_RtcCalc/Cond'
 * '<S8>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_RtcCalc/Data2Day'
 * '<S9>'   : 'COMR_RtcCalc/COMR_RtcCalc/COMR_RtcCalc/Data2Day_Nvm'
 * '<S10>'  : 'COMR_RtcCalc/COMR_RtcCalc/COMR_RtcCalc/MinCalc'
 * '<S11>'  : 'COMR_RtcCalc/COMR_RtcCalc/DSM_GetSFCZyf2/DFC_IsoChkLv1_1_compare1'
 */
#endif                                 /* RTW_HEADER_COMR_RtcCalc_h_ */

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