/* This program is part of the TACLeBench benchmark suite. Version V 1.x Name: powerwindow_controlexclusion Author: CoSys-Lab, University of Antwerp Function: powerwindow_controlexclusion is one functionality of the power window benchmark. It takes the input signal from the driver and the passenger to determine the final control signal. Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_controlexclusion.c Changes: a brief summary of major functional changes and formatting) License: GNU General Public License */ #include "powerwindow_HeaderFiles/powerwindow_controlexclusion.h" #include "powerwindow_HeaderFiles/powerwindow_controlexclusion_private.h" /* Forward declaration of functions */ void powerwindow_controlexclusion_initialize(void); void powerwindow_controlexclusion_terminate(void); void powerwindow_controlexclusion_main(const powerwindow_boolean_T *rtu_Up_DRV, const powerwindow_boolean_T *rtu_Down_DRV, const powerwindow_boolean_T *rtu_Up_PSG, const powerwindow_boolean_T *rtu_Down_PSG, powerwindow_boolean_T *rty_Up, powerwindow_boolean_T *rty_Down); /* Model initialize function */ void powerwindow_controlexclusion_initialize(void) { /* (no initialization code required) */ } /* Model terminate function */ void powerwindow_controlexclusion_terminate(void) { /* (no terminate code required) */ } /* Algorithm core functions */ /* Output and update for referenced model: 'ControlExclusion' */ void powerwindow_controlexclusion_main(const powerwindow_boolean_T *rtu_Up_DRV, const powerwindow_boolean_T *rtu_Down_DRV, const powerwindow_boolean_T *rtu_Up_PSG, const powerwindow_boolean_T *rtu_Down_PSG, powerwindow_boolean_T *rty_Up, powerwindow_boolean_T *rty_Down) { /* Logic: '/Logical Operator11' incorporates: * Logic: '/Logical Operator2' * Logic: '/Logical Operator3' * Logic: '/Logical Operator5' * Logic: '/Logical Operator6' * Logic: '/Logical Operator7' */ *rty_Up = !(((!*rtu_Up_DRV) && (*rtu_Down_DRV)) || ((*rtu_Down_DRV) && (!*rtu_Up_PSG) && (*rtu_Down_PSG))); /* Logic: '/Logical Operator12' incorporates: * Logic: '/Logical Operator1' * Logic: '/Logical Operator10' * Logic: '/Logical Operator4' * Logic: '/Logical Operator8' * Logic: '/Logical Operator9' */ *rty_Down = !(((*rtu_Up_DRV) && (!*rtu_Down_DRV)) || ((*rtu_Up_DRV) && (*rtu_Up_PSG) && (!*rtu_Down_PSG))); } /* * File trailer for generated code. * * [EOF] */