/*
 * File: AvgVehicleSpeed.h
 *
 * Code generated for Simulink model 'AvgVehicleSpeed'.
 *
 * Model version                  : 1.2722
 * Simulink Coder version         : 9.2 (R2019b) 18-Jul-2019
 * C/C++ source code generated on : Mon Jul 20 19:48:50 2020
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: ARM Compatible->ARM Cortex
 * Code generation objectives:
 *    1. RAM efficiency
 *    2. ROM efficiency
 *    3. MISRA C:2012 guidelines
 * Validation result: Passed (23), Warning (1), Error (0)
 */

#ifndef RTW_HEADER_AvgVehicleSpeed_h_
#define RTW_HEADER_AvgVehicleSpeed_h_
#ifndef AvgVehicleSpeed_COMMON_INCLUDES_
# define AvgVehicleSpeed_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif                                 /* AvgVehicleSpeed_COMMON_INCLUDES_ */

#include "AvgVehicleSpeed_types.h"

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

/* Block signals and states (default storage) for system '<Root>' */
typedef struct {
  AvgVSpeedCtrl_Bus AvgVSpeedCtrl;     /* '<S1>/AvgVehicleSpeed' */
  struct {
    uint_T is_c3_AvgVehicleSpeed:2;    /* '<S1>/AvgVehicleSpeed' */
    uint_T is_active_c3_AvgVehicleSpeed:1;/* '<S1>/AvgVehicleSpeed' */
  } bitsForTID0;
} DW_AvgVehicleSpeed_T;

/* External inputs (root inport signals with default storage) */
typedef struct {
  uint8_T VSpeedValid;                 /* '<Root>/VSpeedValid' */
  uint16_T mRollingCounter;            /* '<Root>/mRollingCounter' */
  uint16_T RTCRollingCounter;          /* '<Root>/RTCRollingCounter' */
  PowerStatus PowerSt;                 /* '<Root>/PowerSt' */
  uint8_T EngineValid;                 /* '<Root>/EngineValid' */
  uint16_T EngineValue;                /* '<Root>/EngineValue' */
  uint16_T VehicleSpeedIn;             /* '<Root>/VehicleSpeedIn' */
} ExtU_AvgVehicleSpeed_T;

/* Block signals and states (default storage) */
extern DW_AvgVehicleSpeed_T AvgVehicleSpeed_DW;

/* External inputs (root inport signals with default storage) */
extern ExtU_AvgVehicleSpeed_T AvgVehicleSpeed_U;

/* Model entry point functions */
extern void AvgVehicleSpeed_initialize(void);
extern void AvgVehicleSpeed_step(void);
extern void AvgVehicleSpeed_terminate(void);

/*-
 * 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>' : 'AvgVehicleSpeed'
 * '<S1>'   : 'AvgVehicleSpeed/AvgVehicleSpeed'
 * '<S2>'   : 'AvgVehicleSpeed/AvgVehicleSpeed/AvgVehicleSpeed'
 * '<S3>'   : 'AvgVehicleSpeed/AvgVehicleSpeed/AvgVehicleSpeed/AvgVspeedCalc'
 */
#endif                                 /* RTW_HEADER_AvgVehicleSpeed_h_ */

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